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),
103 theMomentumDirection(aMomentumDirection),
104 theParticleDefinition(aParticleDefinition),
105 theKineticEnergy(aKineticEnergy),
107 theDynamicalMass(aParticleDefinition->GetPDGMass()),
108 theDynamicalCharge(aParticleDefinition->GetPDGCharge()),
109 theDynamicalSpin(aParticleDefinition->GetPDGSpin()),
110 theDynamicalMagneticMoment(aParticleDefinition->GetPDGMagneticMoment()),
111 theElectronOccupancy(0),
112 thePreAssignedDecayProducts(0),
113 thePreAssignedDecayTime(-1.0),
125 theMomentumDirection(aMomentumDirection),
126 theParticleDefinition(aParticleDefinition),
127 theKineticEnergy(aKineticEnergy),
129 theDynamicalMass(dynamicalMass),
130 theDynamicalCharge(aParticleDefinition->GetPDGCharge()),
131 theDynamicalSpin(aParticleDefinition->GetPDGSpin()),
132 theDynamicalMagneticMoment(aParticleDefinition->GetPDGMagneticMoment()),
133 theElectronOccupancy(0),
134 thePreAssignedDecayProducts(0),
135 thePreAssignedDecayTime(-1.0),
145 theParticleDefinition(aParticleDefinition),
146 theKineticEnergy(0.0),
148 theDynamicalMass(aParticleDefinition->GetPDGMass()),
149 theDynamicalCharge(aParticleDefinition->GetPDGCharge()),
150 theDynamicalSpin(aParticleDefinition->GetPDGSpin()),
151 theDynamicalMagneticMoment(aParticleDefinition->GetPDGMagneticMoment()),
152 theElectronOccupancy(0),
153 thePreAssignedDecayProducts(0),
154 thePreAssignedDecayTime(-1.0),
166 theParticleDefinition(aParticleDefinition),
167 theKineticEnergy(0.0),
169 theDynamicalMass(aParticleDefinition->GetPDGMass()),
170 theDynamicalCharge(aParticleDefinition->GetPDGCharge()),
171 theDynamicalSpin(aParticleDefinition->GetPDGSpin()),
172 theDynamicalMagneticMoment(aParticleDefinition->GetPDGMagneticMoment()),
173 theElectronOccupancy(0),
174 thePreAssignedDecayProducts(0),
175 thePreAssignedDecayTime(-1.0),
186 theParticleDefinition(aParticleDefinition),
187 theKineticEnergy(0.0),
189 theDynamicalMass(aParticleDefinition->GetPDGMass()),
190 theDynamicalCharge(aParticleDefinition->GetPDGCharge()),
191 theDynamicalSpin(aParticleDefinition->GetPDGSpin()),
192 theDynamicalMagneticMoment(aParticleDefinition->GetPDGMagneticMoment()),
193 theElectronOccupancy(0),
194 thePreAssignedDecayProducts(0),
195 thePreAssignedDecayTime(-1.0),
201 G4double pModule2 = aParticleMomentum.mag2();
203 G4double mass2 = totalEnergy*totalEnergy - pModule2;
220 theMomentumDirection(right.theMomentumDirection),
221 theParticleDefinition(right.theParticleDefinition),
222 thePolarization(right.thePolarization),
223 theKineticEnergy(right.theKineticEnergy),
225 theDynamicalMass(right.theDynamicalMass),
226 theDynamicalCharge(right.theDynamicalCharge),
227 theDynamicalSpin(right.theDynamicalSpin),
228 theDynamicalMagneticMoment(right.theDynamicalMagneticMoment),
229 theElectronOccupancy(0),
230 thePreAssignedDecayProducts(0),
231 thePreAssignedDecayTime(-1.0),
232 verboseLevel(right.verboseLevel),
233 primaryParticle(right.primaryParticle),
234 thePDGcode(right.thePDGcode)
261 if (
this != &right) {
302 G4cout <<
" G4DynamicParticle::SetDefinition()::"
303 <<
"!!! Pre-assigned decay products is attached !!!! " <<
G4endl;
306 G4cout <<
"!!! Pre-assigned decay products will be deleted !!!! " <<
G4endl;
364 G4double pModule2 = momentum.mag2();
378 G4double pModule2 = momentum.vect().mag2();
381 G4double totalenergy = momentum.t();
382 G4double mass2 = totalenergy*totalenergy - pModule2;
404 G4cout <<
" G4DynamicParticle::DumpInfo():: !!!Particle type not defined !!!! " <<
G4endl;
441 if (electronMass<=0.0) {
444 G4Exception(
"G4DynamicParticle::GetElectronMass()",
"PART021",
445 FatalException,
"G4DynamicParticle: G4Electron is not defined !!");
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
void SetMomentum(const G4ThreeVector &momentum)
G4double GetKineticEnergy() const
CLHEP::Hep3Vector G4ThreeVector
G4double GetTotalEnergy() const
G4double theDynamicalMagneticMoment
G4double GetProperTime() const
G4double theDynamicalSpin
void DumpInfo(G4int mode=0) const
static G4bool IsIon(const G4ParticleDefinition *)
G4double theKineticEnergy
void SetMomentumDirection(const G4ThreeVector &aDirection)
G4ParticleDefinition * GetDefinition() const
G4ThreeVector theMomentumDirection
const G4String & GetParticleName() const
G4double GetTotalMomentum() const
G4GLOB_DLL std::ostream G4cout
static const G4double EnergyMomentumRelationAllowance
G4double theDynamicalMass
const G4ThreeVector & GetMomentumDirection() const
G4double GetCharge() const
void AllocateElectronOccupancy()
void SetKineticEnergy(G4double aEnergy)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
void Set4Momentum(const G4LorentzVector &momentum)
G4DecayProducts * thePreAssignedDecayProducts
G4int operator!=(const G4DynamicParticle &right) const
G4double GetPDGMass() const
G4ElectronOccupancy * theElectronOccupancy
static G4ParticleTable * GetParticleTable()
G4int operator==(const G4DynamicParticle &right) const
G4double thePreAssignedDecayTime
G4double GetPDGSpin() const
G4ThreeVector thePolarization
G4ThreadLocal G4Allocator< G4DynamicParticle > * pDynamicParticleAllocator
static const double tesla
G4double GetPDGMagneticMoment() const
G4double theDynamicalCharge
void SetDefinition(const G4ParticleDefinition *aParticleDefinition)
const G4ParticleDefinition * theParticleDefinition
static const double eplus
G4double GetPDGCharge() const
G4double GetMagneticMoment() const
G4DynamicParticle & operator=(const G4DynamicParticle &right)
G4ThreeVector GetMomentum() const
G4double GetElectronMass() const
CLHEP::HepLorentzVector G4LorentzVector