52 :
G4NuclearDecay(
"electron capture", mode, excitationE, flb), transitionQ(Qvalue),
81 G4int shellIndex = -1;
107 std::vector<G4DynamicParticle*> armProducts;
113 if (shellIndex >= nShells) shellIndex = nShells;
129 for (
G4int i = 0; i <
G4int(armProducts.size()); i++)
130 productEnergy += armProducts[i]->GetKineticEnergy();
136 G4double sinTh = std::sqrt(1.- cosTh*cosTh);
140 sinTh*std::cos(phi), cosTh);
144 armProducts.push_back(extra);
153 G4double cmMomentum = Q*(Q + 2.*daughterMass)/(Q + daughterMass)/2.;
156 G4double sintheta = std::sqrt(1.0 - costheta*costheta);
158 G4ThreeVector direction(sintheta*std::cos(phi),sintheta*std::sin(phi),
165 KE = std::sqrt(cmMomentum*cmMomentum + daughterMass*daughterMass) - daughterMass;
170 G4int nArm = armProducts.size();
173 for (
G4int i = 0; i < nArm; ++i) {
210 <<
" with branching ratio " <<
GetBR() <<
"% and Q value "
const G4RadioactiveDecayMode theMode
void CheckAndFillDaughters()
Hep3Vector boostVector() const
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
static constexpr double rad
G4double BindingEnergy() const
G4bool DeexcitationIgnoreCut() const
G4int GetAtomicNumber() const
static constexpr double twopi
virtual const G4AtomicShell * GetAtomicShell(G4int Z, G4AtomicShellEnumerator shell)=0
G4IonTable * GetIonTable() const
G4GLOB_DLL std::ostream G4cout
void SetNumberOfDaughters(G4int value)
HepLorentzVector & boost(double, double, double)
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)
G4ECDecay(const G4ParticleDefinition *theParentNucleus, const G4double &theBR, const G4double &Qvalue, const G4double &excitation, const G4Ions::G4FloatLevelBase &flb, const G4RadioactiveDecayMode &mode)
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)
static constexpr double keV
void CheckAndFillParent()
static G4int GetNumberOfShells(G4int Z)