76static const G4double EnergyMomentumRelationAllowance = keV;
80 theMomentumDirection(0.0,0.0,1.0),
81 theParticleDefinition(0),
82 theKineticEnergy(0.0),
84 theDynamicalMass(0.0),
85 theDynamicalCharge(0.0),
86 theDynamicalSpin(0.0),
87 theDynamicalMagneticMoment(0.0),
88 theElectronOccupancy(0),
89 thePreAssignedDecayProducts(0),
90 thePreAssignedDecayTime(-1.0),
101 theMomentumDirection(aMomentumDirection),
102 theParticleDefinition(aParticleDefinition),
103 theKineticEnergy(aKineticEnergy),
105 theDynamicalMass(aParticleDefinition->GetPDGMass()),
106 theDynamicalCharge(aParticleDefinition->GetPDGCharge()),
107 theDynamicalSpin(aParticleDefinition->GetPDGSpin()),
108 theDynamicalMagneticMoment(aParticleDefinition->GetPDGMagneticMoment()),
109 theElectronOccupancy(0),
110 thePreAssignedDecayProducts(0),
111 thePreAssignedDecayTime(-1.0),
119 theParticleDefinition(aParticleDefinition),
120 theKineticEnergy(0.0),
122 theDynamicalMass(aParticleDefinition->GetPDGMass()),
123 theDynamicalCharge(aParticleDefinition->GetPDGCharge()),
124 theDynamicalSpin(aParticleDefinition->GetPDGSpin()),
125 theDynamicalMagneticMoment(aParticleDefinition->GetPDGMagneticMoment()),
126 theElectronOccupancy(0),
127 thePreAssignedDecayProducts(0),
128 thePreAssignedDecayTime(-1.0),
140 theParticleDefinition(aParticleDefinition),
141 theKineticEnergy(0.0),
143 theDynamicalMass(aParticleDefinition->GetPDGMass()),
144 theDynamicalCharge(aParticleDefinition->GetPDGCharge()),
145 theDynamicalSpin(aParticleDefinition->GetPDGSpin()),
146 theDynamicalMagneticMoment(aParticleDefinition->GetPDGMagneticMoment()),
147 theElectronOccupancy(0),
148 thePreAssignedDecayProducts(0),
149 thePreAssignedDecayTime(-1.0),
161 theParticleDefinition(aParticleDefinition),
162 theKineticEnergy(0.0),
164 theDynamicalMass(aParticleDefinition->GetPDGMass()),
165 theDynamicalCharge(aParticleDefinition->GetPDGCharge()),
166 theDynamicalSpin(aParticleDefinition->GetPDGSpin()),
167 theDynamicalMagneticMoment(aParticleDefinition->GetPDGMagneticMoment()),
168 theElectronOccupancy(0),
169 thePreAssignedDecayProducts(0),
170 thePreAssignedDecayTime(-1.0),
178 G4double mass2 = totalEnergy*totalEnergy - pModule2;
179 if(mass2 < EnergyMomentumRelationAllowance*EnergyMomentumRelationAllowance) {
195 theMomentumDirection(right.theMomentumDirection),
196 theParticleDefinition(right.theParticleDefinition),
197 thePolarization(right.thePolarization),
198 theKineticEnergy(right.theKineticEnergy),
200 theDynamicalMass(right.theDynamicalMass),
201 theDynamicalCharge(right.theDynamicalCharge),
202 theDynamicalSpin(right.theDynamicalSpin),
203 theDynamicalMagneticMoment(right.theDynamicalMagneticMoment),
204 theElectronOccupancy(0),
205 thePreAssignedDecayProducts(0),
206 thePreAssignedDecayTime(-1.0),
207 verboseLevel(right.verboseLevel),
208 primaryParticle(right.primaryParticle),
209 thePDGcode(right.thePDGcode)
236 if (
this != &right) {
277 G4cerr <<
" G4DynamicParticle::SetDefinition()::"
278 <<
"!!! Pre-assigned decay products is attached !!!! " <<
G4endl;
281 G4cerr <<
"!!! Pre-assigned decay products will be deleted !!!! " <<
G4endl;
357 G4double mass2 = totalenergy*totalenergy - pModule2;
358 if(mass2 < EnergyMomentumRelationAllowance*EnergyMomentumRelationAllowance) {
379 G4cout <<
" G4DynamicParticle::DumpInfo():: !!!Particle type not defined !!!! " <<
G4endl;
388 <<
" Momentum: " <<
GetMomentum().
x() /GeV <<
"[GeV]" <<
", y: "
416 if (electronMass<=0.0) {
419 G4Exception(
"G4DynamicParticle::GetElectronMass()",
"PART021",
420 FatalException,
"G4DynamicParticle: G4Electron is not defined !!");
G4Allocator< G4DynamicParticle > aDynamicParticleAllocator
G4DLLIMPORT std::ostream G4cerr
G4DLLIMPORT std::ostream G4cout
G4double thePreAssignedDecayTime
G4ThreeVector thePolarization
void SetMomentumDirection(const G4ThreeVector &aDirection)
void DumpInfo(G4int mode=0) const
const G4ThreeVector & GetMomentumDirection() const
G4double theDynamicalSpin
G4double GetCharge() const
void SetDefinition(const G4ParticleDefinition *aParticleDefinition)
const G4ParticleDefinition * theParticleDefinition
G4int operator==(const G4DynamicParticle &right) const
G4int operator!=(const G4DynamicParticle &right) const
G4ParticleDefinition * GetDefinition() const
G4double GetKineticEnergy() const
G4double GetTotalEnergy() const
G4ElectronOccupancy * theElectronOccupancy
void Set4Momentum(const G4LorentzVector &momentum)
void SetMomentum(const G4ThreeVector &momentum)
G4double theDynamicalCharge
G4DecayProducts * thePreAssignedDecayProducts
G4double GetProperTime() const
G4double theDynamicalMagneticMoment
G4ThreeVector theMomentumDirection
G4ThreeVector GetMomentum() const
G4DynamicParticle & operator=(const G4DynamicParticle &right)
G4double GetMagneticMoment() const
G4double theKineticEnergy
G4double GetTotalMomentum() const
G4double GetElectronMass() const
G4double theDynamicalMass
void AllocateElectronOccupancy()
void SetKineticEnergy(G4double aEnergy)
static G4bool IsIon(const G4ParticleDefinition *)
G4double GetPDGMagneticMoment() const
G4double GetPDGMass() const
G4double GetPDGCharge() const
const G4String & GetParticleName() const
G4double GetPDGSpin() const
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
static G4ParticleTable * GetParticleTable()
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)