#include <G4GDecay3.hh>
Definition at line 43 of file G4GDecay3.hh.
Definition at line 43 of file G4GDecay3.cc.
45 : loopMax(100), parentMass(pMass), mDaughter0(dMass0), mDaughter1(dMass1),
46 mDaughter2(dMass2), pDaughter0(0.), pDaughter1(0.), pDaughter2(0.) {;}
G4GDecay3::~G4GDecay3 |
( |
| ) |
|
|
inline |
Definition at line 100 of file G4GDecay3.cc.
103 std::vector<G4ThreeVector> pVect;
105 if (CalculateMomentumMagnitudes() ) {
109 G4double sintheta = std::sqrt((1.0-costheta)*(1.0+costheta));
113 G4ThreeVector direction0(sintheta*cosphi, sintheta*sinphi, costheta);
115 G4double costhetan = (pDaughter1*pDaughter1 - pDaughter2*pDaughter2
116 - pDaughter0*pDaughter0)/(2.0*pDaughter2*pDaughter0);
117 G4double sinthetan = std::sqrt((1.0-costhetan)*(1.0+costhetan));
122 direction2.
setX(sinthetan*cosphin*costheta*cosphi -
123 sinthetan*sinphin*sinphi + costhetan*sintheta*cosphi);
124 direction2.
setY(sinthetan*cosphin*costheta*sinphi +
125 sinthetan*sinphin*cosphi + costhetan*sintheta*sinphi);
126 direction2.
setZ(-sinthetan*cosphin*sintheta + costhetan*costheta);
129 pVect.push_back(pDaughter0*direction0);
130 pVect.push_back(-direction0*pDaughter0 - direction2*pDaughter2);
131 pVect.push_back(pDaughter2*direction2);
134 G4cerr <<
"G4GDecay3::GetThreeBodyMomenta: " << loopMax
135 <<
" or more loops in momentum magnitude calculation " <<
G4endl;
static constexpr double twopi
G4GLOB_DLL std::ostream G4cerr
The documentation for this class was generated from the following files:
- geant4.10.03.p01/source/processes/hadronic/models/cascade/cascade/include/G4GDecay3.hh
- geant4.10.03.p01/source/processes/hadronic/models/cascade/cascade/src/G4GDecay3.cc