26 #ifndef G4RadioactiveDecay_h
27 #define G4RadioactiveDecay_h 1
154 std::vector<G4double>);
268 std::vector<double>& weights_v,
269 std::vector<double>& times_v,
270 std::vector<G4DynamicParticle*>& secondaries_v);
327 #ifdef G4MULTITHREADED
352 {
return DecayIt(theTrack, theStep);}
357 {
return DecayIt(theTrack, theStep);}
359 #ifdef G4MULTITHREADED
361 static G4Mutex radioactiveDecayMutex;
T max(const T t1, const T t2)
brief Return the largest of the two arguments
G4ParticleChangeForRadDecay fParticleChangeForRadDecay
void SetDecayRate(G4int, G4int, G4double, G4int, std::vector< G4double >, std::vector< G4double >)
G4double GetMeanLifeTime(const G4Track &theTrack, G4ForceCondition *condition)
G4RadioactiveDecaymessenger * theRadioactiveDecaymessenger
G4double forceDecayHalfAngle
static const G4ThreeVector origin
G4int GetVerboseLevel() const
G4bool IsAnalogueMonteCarlo()
G4bool IsRateTableReady(const G4ParticleDefinition &)
G4NucleusLimits theNucleusLimits
G4PhotonEvaporation * photonEvaporation
G4double ConvolveSourceTimeProfile(const G4double, const G4double)
std::map< G4int, G4String > theUserRadioactiveDataFiles
G4double GetMeanFreePath(const G4Track &theTrack, G4double previousStepSize, G4ForceCondition *condition)
std::vector< G4RadioactivityTable * > theRadioactivityTables
std::vector< G4String > ValidVolumes
G4double condition(const G4ErrorSymMatrix &m)
void SelectAVolume(const G4String aVolume)
G4bool IsApplicable(const G4ParticleDefinition &)
void AddDeexcitationSpectrumForBiasMode(G4ParticleDefinition *apartDef, G4double weight, G4double currenTime, std::vector< double > &weights_v, std::vector< double > ×_v, std::vector< G4DynamicParticle * > &secondaries_v)
void StreamInfo(std::ostream &os, const G4String &endline)
G4int GetDecayTimeBin(const G4double aDecayTime)
G4double fRemainderLifeTime
void SetVerboseLevel(G4int value)
std::vector< G4RadioactiveDecayChainsFromParent > G4RadioactiveDecayParentChainTable
G4double AtRestGetPhysicalInteractionLength(const G4Track &track, G4ForceCondition *condition)
void SetNucleusLimits(G4NucleusLimits theNucleusLimits1)
G4NucleusLimits GetNucleusLimits() const
G4double halflifethreshold
std::vector< G4RadioactiveDecayRatesToDaughter > G4RadioactiveDecayRates
void GetChainsFromParent(const G4ParticleDefinition &)
void BuildPhysicsTable(const G4ParticleDefinition &)
G4RadioactiveDecayRates theDecayRateVector
const XML_Char int const XML_Char * value
void SetHLThreshold(G4double hl)
void SetDecayBias(G4String filename)
G4RadioactiveDecay(const G4String &processName="RadioactiveDecay")
static constexpr double s
G4RadioactiveDecay & operator=(const G4RadioactiveDecay &right)
double A(double temperature)
const G4ThreeVector & GetDecayDirection() const
void SetDecayCollimation(const G4ThreeVector &theDir, G4double halfAngle=0.*CLHEP::deg)
G4VParticleChange * AtRestDoIt(const G4Track &theTrack, const G4Step &theStep)
G4VParticleChange * PostStepDoIt(const G4Track &theTrack, const G4Step &theStep)
G4RadioactiveDecayParentChainTable theParentChainTable
void DeselectAVolume(const G4String aVolume)
std::vector< G4RadioactivityTable * > GetTheRadioactivityTables()
void SetDecayDirection(const G4ThreeVector &theDir)
G4double GetDecayHalfAngle() const
void CalculateChainsFromParent(const G4ParticleDefinition &)
virtual void ProcessDescription(std::ostream &outFile) const
G4RadioactiveDecayChainsFromParent chainsFromParent
G4RadioactiveDecayRatesToDaughter ratesToDaughter
void CollimateDecayProduct(G4DynamicParticle *product)
G4DecayTable * GetDecayTable(const G4ParticleDefinition *)
G4ThreeVector ChooseCollimationDirection() const
void AddUserDecayDataFile(G4int Z, G4int A, G4String filename)
static constexpr double deg
virtual G4double AtRestGetPhysicalInteractionLength(const G4Track &, G4ForceCondition *)
void SetSplitNuclei(G4int r)
std::map< G4String, G4DecayTable * > DecayTableMap
void SetAnalogueMonteCarlo(G4bool r)
void CollimateDecay(G4DecayProducts *products)
static const G4double levelTolerance
void DeselectAllVolumes()
void SetSourceTimeProfile(G4String filename)
void SetDecayHalfAngle(G4double halfAngle=0.*CLHEP::deg)
G4DecayTable * LoadDecayTable(const G4ParticleDefinition &theParentNucleus)
T min(const T t1, const T t2)
brief Return the smallest of the two arguments
G4ThreeVector forceDecayDirection
G4VParticleChange * DecayIt(const G4Track &theTrack, const G4Step &theStep)
G4DecayProducts * DoDecay(const G4ParticleDefinition &theParticleDef)