82 G4double cmMomentum = std::sqrt(transitionQ*(transitionQ + 2.*neutronMass)*
83 (transitionQ + 2.*nucleusMass)*
84 (transitionQ + 2.*neutronMass + 2.*nucleusMass) )/
85 (transitionQ + neutronMass + nucleusMass)/2.;
94 G4double sintheta = std::sqrt(1.0 - costheta*costheta);
96 G4ThreeVector direction(sintheta*std::cos(phi),sintheta*std::sin(phi),
99 G4double KE = std::sqrt(cmMomentum*cmMomentum + neutronMass*neutronMass)
105 KE = std::sqrt(cmMomentum*cmMomentum + nucleusMass*nucleusMass) - nucleusMass;
134 <<
" with branching ratio " <<
GetBR() <<
"% and Q value "
void CheckAndFillDaughters()
void SetBR(G4double value)
CLHEP::Hep3Vector G4ThreeVector
const G4String & GetParentName() const
G4int PushProducts(G4DynamicParticle *aParticle)
G4ParticleDefinition * G4MT_parent
G4ParticleDefinition * GetIon(G4int Z, G4int A, G4int lvl=0)
G4ParticleDefinition ** G4MT_daughters
static constexpr double rad
G4int GetAtomicNumber() const
static constexpr double twopi
virtual ~G4NeutronDecay()
G4IonTable * GetIonTable() const
G4GLOB_DLL std::ostream G4cout
void SetNumberOfDaughters(G4int value)
G4int GetAtomicMass() const
const G4String & GetDaughterName(G4int anIndex) const
G4double GetPDGMass() const
static G4ParticleTable * GetParticleTable()
void SetParent(const G4ParticleDefinition *particle_type)
virtual void DumpNuclearInfo()
void SetDaughter(G4int anIndex, const G4ParticleDefinition *particle_type)
virtual G4DecayProducts * DecayIt(G4double)
G4NeutronDecay(const G4ParticleDefinition *theParentNucleus, const G4double &theBR, const G4double &Qvalue, const G4double &excitation, const G4Ions::G4FloatLevelBase &flb)
void CheckAndFillParent()