#include <G4DecayProducts.hh>
Definition at line 47 of file G4DecayProducts.hh.
◆ G4DecayProductVector
◆ anonymous enum
◆ G4DecayProducts() [1/3]
G4DecayProducts::G4DecayProducts |
( |
| ) |
|
Definition at line 50 of file G4DecayProducts.cc.
G4DecayProductVector * theProductVector
G4DynamicParticle * theParentParticle
std::vector< G4DynamicParticle * > G4DecayProductVector
◆ G4DecayProducts() [2/3]
Definition at line 56 of file G4DecayProducts.cc.
G4DecayProductVector * theProductVector
G4DynamicParticle * theParentParticle
std::vector< G4DynamicParticle * > G4DecayProductVector
◆ G4DecayProducts() [3/3]
Definition at line 63 of file G4DecayProducts.cc.
G4DecayProductVector * theProductVector
void SetPreAssignedDecayProperTime(G4double)
G4DynamicParticle * theParentParticle
G4double GetPreAssignedDecayProperTime() const
const G4DecayProducts * GetPreAssignedDecayProducts() const
std::vector< G4DynamicParticle * > G4DecayProductVector
void SetPreAssignedDecayProducts(G4DecayProducts *aDecayProducts)
◆ ~G4DecayProducts()
G4DecayProducts::~G4DecayProducts |
( |
| ) |
|
Definition at line 127 of file G4DecayProducts.cc.
137 numberOfProducts = 0;
G4DecayProductVector * theProductVector
G4DynamicParticle * theParentParticle
◆ Boost() [1/2]
Definition at line 176 of file G4DecayProducts.cc.
181 if (totalEnergy > mass ) totalMomentum = std::sqrt( (totalEnergy - mass)*(totalEnergy + mass) );
182 G4double betax = momentumDirection.
x()*totalMomentum/totalEnergy;
183 G4double betay = momentumDirection.
y()*totalMomentum/totalEnergy;
184 G4double betaz = momentumDirection.
z()*totalMomentum/totalEnergy;
185 this->
Boost(betax, betay, betaz);
G4DynamicParticle * theParentParticle
void Boost(G4double totalEnergy, const G4ThreeVector &momentumDirection)
◆ Boost() [2/2]
Definition at line 188 of file G4DecayProducts.cc.
210 p4.
boost(betax, betay, betaz);
213 p4.
boost(newbetax, newbetay, newbetaz);
224 p4.
boost(newbetax, newbetay, newbetaz);
235 parent4.boost(newbetax, newbetay, newbetaz);
G4DecayProductVector * theProductVector
G4DynamicParticle * theParentParticle
G4double GetTotalMomentum() const
G4double GetTotalEnergy() const
HepLorentzVector & boost(double, double, double)
void Set4Momentum(const G4LorentzVector &momentum)
const G4ThreeVector & GetMomentumDirection() const
◆ DumpInfo()
void G4DecayProducts::DumpInfo |
( |
| ) |
const |
Definition at line 311 of file G4DecayProducts.cc.
313 G4cout <<
" ----- List of DecayProducts -----" <<
G4endl;
314 G4cout <<
" ------ Parent Particle ----------" <<
G4endl;
316 G4cout <<
" ------ Daughter Particles ------" <<
G4endl;
322 G4cout <<
" ----- End List of DecayProducts -----" <<
G4endl;
G4DecayProductVector * theProductVector
void DumpInfo(G4int mode=0) const
G4DynamicParticle * theParentParticle
G4GLOB_DLL std::ostream G4cout
◆ entries()
G4int G4DecayProducts::entries |
( |
| ) |
const |
|
inline |
◆ GetParentParticle()
◆ IsChecked()
G4bool G4DecayProducts::IsChecked |
( |
| ) |
const |
Definition at line 241 of file G4DecayProducts.cc.
243 G4bool returnValue =
true;
250 if ( (parent_momentum.
mag() >0.0) && (std::fabs(direction.
mag()-1.0) >1.0e-6 ) ) {
252 G4cout <<
"G4DecayProducts::IsChecked():: " 253 <<
" Momentum Direction Vector of Parent is not normalized " 254 <<
" (=" << direction.
mag() <<
")" <<
G4endl;
257 parent_momentum = parent_momentum * (1./direction.
mag());
263 G4double total_energy = parent_energy;
273 if ( (momentum.
mag()>0.0) && (std::fabs(direction.
mag()-1.0) > 1.0e-6)) {
275 G4cout <<
"G4DecayProducts::IsChecked():: " 276 <<
" Momentum Direction Vector of Daughter [" <<
index 277 <<
"] is not normalized (=" << direction.
mag() <<
")" <<
G4endl;
280 momentum = momentum * (1./direction.
mag());
283 if (energy - mass <
DBL_MIN ) {
285 G4cout <<
"G4DecayProducts::IsChecked():: " 286 <<
" Daughter [" <<
index <<
"] has no kinetic energy "<<
G4endl;
291 total_momentum -= momentum;
294 if ( (std::fabs(total_energy) >1.0
e-9*
MeV) || (total_momentum.
mag() >1.0e-9*
MeV ) ){
296 G4cout <<
"G4DecayProducts::IsChecked():: " 297 <<
" Energy/Momentum is not conserved "<<
G4endl;
298 G4cout <<
" difference between parent energy and sum of dughters' energy : " 299 << total_energy /
MeV <<
"[MeV] " <<
G4endl;
300 G4cout <<
" difference between parent momentum and sum of dughters' momentum : " 301 <<
" x:" << total_momentum.
getX()/
MeV 302 <<
" y:" << total_momentum.
getY()/
MeV 303 <<
" z:" << total_momentum.
getZ()/
MeV
G4DecayProductVector * theProductVector
G4DynamicParticle * theParentParticle
G4double GetTotalMomentum() const
G4double GetTotalEnergy() const
G4GLOB_DLL std::ostream G4cout
const G4ThreeVector & GetMomentumDirection() const
◆ operator!=()
◆ operator=()
Definition at line 90 of file G4DecayProducts.cc.
G4DecayProductVector * theProductVector
void SetPreAssignedDecayProperTime(G4double)
G4DynamicParticle * theParentParticle
G4double GetPreAssignedDecayProperTime() const
const G4DecayProducts * GetPreAssignedDecayProducts() const
void SetPreAssignedDecayProducts(G4DecayProducts *aDecayProducts)
◆ operator==()
◆ operator[]()
◆ PopProducts()
◆ PushProducts()
◆ SetParentParticle()
◆ numberOfProducts
G4int G4DecayProducts::numberOfProducts |
|
private |
◆ theParentParticle
◆ theProductVector
The documentation for this class was generated from the following files: