50 :
Emin(0.),
Emax(0.), EminIon(0.), EmaxIon(0.),
51 index_particle(100000),
52 radius_spherical_source(0.), fwd_ion(0), adj_ion(0),
53 ion_name(
"not_defined")
106 G4double ekin=std::sqrt( m0*m0 + pmag*pmag) -m0;
125 weight_correction=1.;
133 newFwdPrimVertex->
SetT0(0.);
145 adjPrimVertex->
SetT0(0.);
147 -
p.x(),-
p.y(),-
p.z());
162 newAdjPrimVertex->
SetT0(0.);
164 -
p.x(),-
p.y(),-
p.z());
166 newAdjPrimVertex->
SetWeight(adjoint_weight);
176 newAdjPrimVertex->
SetT0(0.);
178 -
p.x(),-
p.y(),-
p.z());
180 newAdjPrimVertex->
SetWeight(adjoint_weight);
184 adjPrimVertex->
SetWeight(adjoint_weight);
336 std::map<G4String, G4bool>::iterator iter;
340 if ( fwd_particle_name !=
"ion") {
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
void SetAdjointTrackingMode(G4bool aBool)
G4ThreeVector GetMomentum() const
G4PrimaryParticle * GetPrimary(G4int i=0) const
static const G4double Emin
G4String type_of_adjoint_source
void SetEminIon(G4double val)
void SetWeight(G4double w)
static G4ParticleTable * GetParticleTable()
void SetPosition(G4double x0, G4double y0, G4double z0)
G4AdjointPrimaryGeneratorAction()
G4int GetNbEvtOfLastRun()
G4ParticleDefinition * adj_ion
const G4String & GetParticleName() const
G4double GetAdjointSourceArea()
G4int nb_fwd_gammas_per_event
~G4AdjointPrimaryGeneratorAction()
std::vector< G4ParticleDefinition * > ListOfPrimaryFwdParticles
std::map< G4String, G4bool > PrimariesConsideredInAdjointSim
void SetEmaxIon(G4double val)
void GeneratePrimaries(G4Event *)
G4PrimaryVertex * GetPrimaryVertex(G4int i=0) const
G4ParticleDefinition * fwd_ion
G4int nb_adj_primary_electrons_per_event
std::vector< G4ParticleDefinition * > ListOfPrimaryAdjParticles
void SetEmax(G4double val)
G4double ComputeEnergyDistWeight(G4double energy, G4double E1, G4double E2)
void SetPrimary(G4PrimaryParticle *pp)
void SetSphericalAdjointPrimarySource(G4double radius, G4ThreeVector pos)
double A(double temperature)
G4ThreeVector GetPosition() const
void SetAdjointPrimarySourceOnAnExtSurfaceOfAVolume(const G4String &volume_name)
G4AdjointPrimaryGenerator * theAdjointPrimaryGenerator
void ClearEndOfAdjointTrackInfoVectors()
G4int nb_adj_primary_gammas_per_event
void ResetDidOneAdjPartReachExtSourceDuringEvent()
G4ThreeVector center_spherical_source
void SetPrimaryIon(G4ParticleDefinition *adjointIon, G4ParticleDefinition *fwdIon)
static const G4double Emax
void SetEmin(G4double val)
void SetSphericalAdjointPrimarySource(G4double radius, G4ThreeVector pos)
G4double radius_spherical_source
void NeglectParticleAsPrimary(const G4String &particle_name)
void SetAdjointPrimarySourceOnAnExtSurfaceOfAVolume(const G4String &volume_name)
void AddPrimaryVertex(G4PrimaryVertex *aPrimaryVertex)
static constexpr double pi
void ConsiderParticleAsPrimary(const G4String &particle_name)
static G4AdjointSimManager * GetInstance()
void UpdateListOfPrimaryParticles()
void GenerateFwdPrimaryVertex(G4Event *anEvt, G4ParticleDefinition *adj_part, G4double E1, G4double E2)