48 :
Emin(0.),
Emax(0.), EminIon(0.), EmaxIon(0.),
49 index_particle(100000),
50 radius_spherical_source(0.), fwd_ion(0), adj_ion(0),
51 ion_name(
"not_defined")
99 G4double ekin=std::sqrt( m0*m0 + pmag*pmag) -m0;
103 adjPrimVertex->
SetT0(0.);
105 -
p.x(),-
p.y(),-
p.z());
113 adjPrimVertex->
SetWeight(adjoint_weight);
266 std::map<G4String, G4bool>::iterator iter;
270 if ( fwd_particle_name !=
"ion") {
G4String type_of_adjoint_source
static G4AdjointSimManager * GetInstance()
void UpdateListOfPrimaryParticles()
void SetSphericalAdjointPrimarySource(G4double radius, G4ThreeVector pos)
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
G4ThreeVector GetMomentum() const
G4ThreeVector GetPosition() const
CLHEP::Hep3Vector G4ThreeVector
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)
~G4AdjointPrimaryGeneratorAction()
const G4String & GetParticleName() const
G4int GetNbEvtOfLastRun()
void SetPrimaryIon(G4ParticleDefinition *adjointIon, G4ParticleDefinition *fwdIon)
G4PrimaryParticle * GetPrimary(G4int i=0) const
std::vector< G4ParticleDefinition * > ListOfPrimaryAdjParticles
G4double ComputeEnergyDistWeight(G4double energy, G4double E1, G4double E2)
void ConsiderParticleAsPrimary(const G4String &particle_name)
void SetAdjointTrackingMode(G4bool aBool)
G4AdjointPrimaryGeneratorAction()
std::vector< G4ParticleDefinition * > ListOfPrimaryFwdParticles
void GeneratePrimaries(G4Event *)
G4ThreeVector center_spherical_source
void SetEminIon(G4double val)
G4PrimaryVertex * GetPrimaryVertex(G4int i=0) const
static const G4double A[nN]
void GenerateFwdPrimaryVertex(G4Event *anEvt, G4ParticleDefinition *adj_part, G4double E1, G4double E2)
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)
G4double GetAdjointSourceArea()
static const G4double Emax
G4AdjointPrimaryGenerator * theAdjointPrimaryGenerator
void SetSphericalAdjointPrimarySource(G4double radius, G4ThreeVector pos)
void SetEmin(G4double val)