52 const G4double eMass = CLHEP::electron_mass_c2;
62 estep(maxEnergy/(
G4double)(npti - 1))
68 fPrimaryIon = theParentNucleus;
80 SetUpBetaSpectrumSampler(daughterZ, daughterA, betaType);
104 G4double eMomentum = std::sqrt(eKE*(eKE + 2.*eMass));
117 parentMass - eKE - eMass);
136 G4double ekin = std::max(lv.
e() - resMass, 0.0);
153G4BetaMinusDecay::SetUpBetaSpectrumSampler(
const G4int& daughterZ,
154 const G4int& daughterA,
160 if (maxEnergy > 0.) {
169 for (
G4int i = 1; i < npti-1; ++i) {
171 p = std::sqrt(ex*(ex + 2.));
172 f = p*(1. + ex)*(maxEnergy - ex)*(maxEnergy - ex);
175 f *= corrections.FermiFunction(1. + ex);
178 f *= corrections.ShapeFactor(betaType, p, maxEnergy - ex);
183 cdf[npti-1] = sum + f0;
185 for (
G4int i = 1; i < npti; ++i) { cdf[i] = 0.0; }
195 << maxEnergy*eMass <<
" BR=" <<
GetBR() <<
"%" <<
G4endl;
G4ThreeVector G4RandomDirection()
CLHEP::Hep3Vector G4ThreeVector
G4GLOB_DLL std::ostream G4cout
Hep3Vector boostVector() const
HepLorentzVector & boost(double, double, double)
static G4AntiNeutrinoE * AntiNeutrinoE()
void DumpNuclearInfo() override
G4BetaMinusDecay(const G4ParticleDefinition *theParentNucleus, const G4double &theBR, const G4double &endpointE, const G4double &ex, const G4Ions::G4FloatLevelBase &flb, const G4BetaDecayType &type)
G4DecayProducts * DecayIt(G4double) override
static G4double shoot(const G4int npoints, const G4double *aCDF, const G4double estep)
G4int PushProducts(G4DynamicParticle *aParticle)
static G4Electron * Electron()
G4ParticleDefinition * GetIon(G4int Z, G4int A, G4int lvl=0)
G4int GetAtomicNumber() const
G4double GetPDGMass() const
G4int GetAtomicMass() const
const G4String & GetParticleName() const
G4IonTable * GetIonTable() const
static G4ParticleTable * GetParticleTable()
void CheckAndFillParent()
void SetBR(G4double value)
void SetNumberOfDaughters(G4int value)
void CheckAndFillDaughters()
void SetDaughter(G4int anIndex, const G4ParticleDefinition *particle_type)
void SetParent(const G4ParticleDefinition *particle_type)