61#ifndef G4AdjointPrimaryGeneratorAction_hh
62#define G4AdjointPrimaryGeneratorAction_hh 1
105 return &ListOfPrimaryFwdParticles;
111 nb_adj_primary_gammas_per_event = nb;
115 nb_adj_primary_electrons_per_event = nb;
119 return ListOfPrimaryFwdParticles[index_particle];
141 std::vector<G4ParticleDefinition*> ListOfPrimaryFwdParticles;
142 std::vector<G4ParticleDefinition*> ListOfPrimaryAdjParticles;
143 std::map<G4String, G4bool> PrimariesConsideredInAdjointSim;
146 std::size_t index_particle = 100000;
151 G4double radius_spherical_source = 0.0;
153 G4int nb_fwd_gammas_per_event = 1;
154 G4int nb_adj_primary_gammas_per_event = 1;
155 G4int nb_adj_primary_electrons_per_event = 1;
G4AdjointPrimaryGeneratorAction & operator=(const G4AdjointPrimaryGeneratorAction &)=delete
void UpdateListOfPrimaryParticles()
void SetRndmFlag(const G4String &val)
void SetNbAdjointPrimaryElectronsPerEvent(G4int nb)
std::vector< G4ParticleDefinition * > * GetListOfPrimaryFwdParticles()
void ConsiderParticleAsPrimary(const G4String &particle_name)
G4AdjointPrimaryGeneratorAction(const G4AdjointPrimaryGeneratorAction &)=delete
~G4AdjointPrimaryGeneratorAction() override
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 GeneratePrimaries(G4Event *) override
void SetNbPrimaryFwdGammasPerEvent(G4int nb)
size_t GetNbOfAdjointPrimaryTypes()
void SetEmin(G4double val)
void NeglectParticleAsPrimary(const G4String &particle_name)
void SetPrimaryIon(G4ParticleDefinition *adjointIon, G4ParticleDefinition *fwdIon)
void SetEmaxIon(G4double val)
void SetEmax(G4double val)
G4AdjointPrimaryGeneratorAction()