51 :
G4NuclearDecay(
"electron capture", mode, excitationE), transitionQ(Qvalue),
80 G4int shellIndex = -1;
106 std::vector<G4DynamicParticle*> armProducts;
112 if (shellIndex >= nShells) shellIndex = nShells;
128 for (
G4int i = 0; i <
G4int(armProducts.size()); i++)
129 productEnergy += armProducts[i]->GetKineticEnergy();
135 G4double sinTh = std::sqrt(1.- cosTh*cosTh);
139 sinTh*std::cos(phi), cosTh);
143 armProducts.push_back(extra);
152 G4double cmMomentum = Q*(Q + 2.*daughterMass)/(Q + daughterMass)/2.;
155 G4double sintheta = std::sqrt(1.0 - costheta*costheta);
157 G4ThreeVector direction(sintheta*std::cos(phi),sintheta*std::sin(phi),
164 KE = std::sqrt(cmMomentum*cmMomentum + daughterMass*daughterMass) - daughterMass;
169 G4int nArm = armProducts.size();
172 for (
G4int i = 0; i < nArm; ++i) {
209 <<
" with branching ratio " <<
GetBR() <<
"% and Q value "
const G4RadioactiveDecayMode theMode
void CheckAndFillDaughters()
void SetBR(G4double value)
static G4LossTableManager * Instance()
G4bool IsFluoActive() const
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
G4double BindingEnergy() const
G4bool DeexcitationIgnoreCut() const
G4int GetAtomicNumber() const
virtual const G4AtomicShell * GetAtomicShell(G4int Z, G4AtomicShellEnumerator shell)=0
G4ECDecay(const G4ParticleDefinition *theParentNucleus, const G4double &theBR, const G4double &Qvalue, const G4double &excitation, const G4RadioactiveDecayMode &mode)
G4IonTable * GetIonTable() const
G4GLOB_DLL std::ostream G4cout
void SetNumberOfDaughters(G4int value)
static const double twopi
G4int GetAtomicMass() const
G4LorentzVector Get4Momentum() const
const G4String & GetDaughterName(G4int anIndex) const
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
void Set4Momentum(const G4LorentzVector &momentum)
const G4double transitionQ
G4double GetPDGMass() const
static G4ParticleTable * GetParticleTable()
void SetParent(const G4ParticleDefinition *particle_type)
static G4EmParameters * Instance()
void SetDaughter(G4int anIndex, const G4ParticleDefinition *particle_type)
virtual void DumpNuclearInfo()
static G4Electron * Electron()
G4VAtomDeexcitation * AtomDeexcitation()
void GenerateParticles(std::vector< G4DynamicParticle * > *secVect, const G4AtomicShell *, G4int Z, G4int coupleIndex)
virtual G4DecayProducts * DecayIt(G4double)
void CheckAndFillParent()
CLHEP::HepLorentzVector G4LorentzVector
static G4int GetNumberOfShells(G4int Z)