61#ifndef G4AdjointPrimaryGeneratorAction_hh
62#define G4AdjointPrimaryGeneratorAction_hh 1
113 return ListOfPrimaryAdjParticles.size();
117 return &ListOfPrimaryFwdParticles;
125 nb_fwd_gammas_per_event = nb;
129 nb_adj_primary_gammas_per_event = nb;
133 nb_adj_primary_electrons_per_event = nb;
137 return ListOfPrimaryFwdParticles[index_particle];
161 std::vector<G4ParticleDefinition*> ListOfPrimaryFwdParticles;
162 std::vector<G4ParticleDefinition*> ListOfPrimaryAdjParticles;
163 std::map<G4String, G4bool> PrimariesConsideredInAdjointSim;
166 std::size_t index_particle = 100000;
171 G4double radius_spherical_source = 0.0;
173 G4int nb_fwd_gammas_per_event = 1;
174 G4int nb_adj_primary_gammas_per_event = 1;
175 G4int nb_adj_primary_electrons_per_event = 1;
G4AdjointPrimaryGeneratorAction & operator=(const G4AdjointPrimaryGeneratorAction &)=delete
void UpdateListOfPrimaryParticles()
void SetRndmFlag(const G4String &val)
void GeneratePrimaries(G4Event *)
void SetNbAdjointPrimaryElectronsPerEvent(G4int nb)
std::vector< G4ParticleDefinition * > * GetListOfPrimaryFwdParticles()
void ConsiderParticleAsPrimary(const G4String &particle_name)
G4AdjointPrimaryGeneratorAction(const G4AdjointPrimaryGeneratorAction &)=delete
void SetAdjointPrimarySourceOnAnExtSurfaceOfAVolume(const G4String &volume_name)
void SetNbAdjointPrimaryGammasPerEvent(G4int nb)
const G4String & GetPrimaryIonName()
void SetSphericalAdjointPrimarySource(G4double radius, G4ThreeVector pos)
G4ParticleDefinition * GetLastGeneratedFwdPrimaryParticle()
void SetEminIon(G4double val)
void SetNbPrimaryFwdGammasPerEvent(G4int nb)
size_t GetNbOfAdjointPrimaryTypes()
void SetEmin(G4double val)
void NeglectParticleAsPrimary(const G4String &particle_name)
void SetPrimaryIon(G4ParticleDefinition *adjointIon, G4ParticleDefinition *fwdIon)
~G4AdjointPrimaryGeneratorAction()
void SetEmaxIon(G4double val)
void SetEmax(G4double val)
G4AdjointPrimaryGeneratorAction()