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")
100 G4double ekin=std::sqrt( m0*m0 + pmag*pmag) -m0;
119 weight_correction=1.;
127 newFwdPrimVertex->
SetT0(0.);
139 adjPrimVertex->
SetT0(0.);
150 adjPrimVertex->
SetWeight(adjoint_weight);
304 std::map<G4String, G4bool>::iterator iter;
308 if ( fwd_particle_name !=
"ion") {
312 if ( fwd_particle_name ==
"gamma") {
313 for (
G4int i=0;i<2;i++){
G4String type_of_adjoint_source
static G4AdjointSimManager * GetInstance()
void UpdateListOfPrimaryParticles()
void SetSphericalAdjointPrimarySource(G4double radius, G4ThreeVector pos)
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
G4ThreeVector GetPosition() const
G4double radius_spherical_source
void SetEmaxIon(G4double val)
void SetWeight(G4double w)
void SetEmax(G4double val)
void AddPrimaryVertex(G4PrimaryVertex *aPrimaryVertex)
void SetAdjointPrimarySourceOnAnExtSurfaceOfAVolume(const G4String &volume_name)
G4PrimaryParticle * GetPrimary(G4int i=0) const
~G4AdjointPrimaryGeneratorAction()
G4int GetNbEvtOfLastRun()
void SetPrimaryIon(G4ParticleDefinition *adjointIon, G4ParticleDefinition *fwdIon)
std::vector< G4ParticleDefinition * > ListOfPrimaryAdjParticles
G4double ComputeEnergyDistWeight(G4double energy, G4double E1, G4double E2)
const G4String & GetParticleName() const
void ConsiderParticleAsPrimary(const G4String &particle_name)
double A(double temperature)
void SetAdjointTrackingMode(G4bool aBool)
G4AdjointPrimaryGeneratorAction()
std::vector< G4ParticleDefinition * > ListOfPrimaryFwdParticles
void GeneratePrimaries(G4Event *)
G4ThreeVector center_spherical_source
void SetEminIon(G4double val)
void GenerateFwdPrimaryVertex(G4Event *anEvt, G4ParticleDefinition *adj_part, G4double E1, G4double E2)
G4int nb_fwd_gammas_per_event
G4PrimaryVertex * GetPrimaryVertex(G4int i=0) const
G4ParticleDefinition * fwd_ion
std::map< G4String, G4bool > PrimariesConsideredInAdjointSim
static G4ParticleTable * GetParticleTable()
void NeglectParticleAsPrimary(const G4String &particle_name)
void SetAdjointPrimarySourceOnAnExtSurfaceOfAVolume(const G4String &volume_name)
G4ParticleDefinition * adj_ion
static const G4double Emin
void SetPrimary(G4PrimaryParticle *pp)
void SetPosition(G4double x0, G4double y0, G4double z0)
G4ThreeVector GetMomentum() const
G4double GetAdjointSourceArea()
static const G4double Emax
G4AdjointPrimaryGenerator * theAdjointPrimaryGenerator
void SetSphericalAdjointPrimarySource(G4double radius, G4ThreeVector pos)
void SetEmin(G4double val)