26#ifndef G4RadioactiveDecay_h
27#define G4RadioactiveDecay_h 1
150 std::vector<G4double>);
155 {
return theRadioactivityTables;}
175 {theNucleusLimits = theNucleusLimits1 ;}
180 {
return theNucleusLimits;}
186 if (!AnalogueMC) halflifethreshold = 1e-6*CLHEP::s;
214 forceDecayDirection = theDir.
unit();
218 return forceDecayDirection;
222 forceDecayHalfAngle = std::min(std::max(0.*CLHEP::deg,halfAngle),180.*CLHEP::deg);
228 G4double halfAngle = 0.*CLHEP::deg) {
296 std::vector<G4String> LoadedNuclei;
297 std::vector<G4String> ValidVolumes;
298 bool isAllVolumesMode;
306 std::vector<G4RadioactivityTable*> theRadioactivityTables;
307 G4int decayWindows[99];
308 static const G4double levelTolerance;
311 std::map<G4int, G4String> theUserRadioactiveDataFiles;
329 return fRemainderLifeTime;
335 {
return DecayIt(theTrack, theStep);}
340 {
return DecayIt(theTrack, theStep);}
G4double condition(const G4ErrorSymMatrix &m)
std::vector< G4RadioactiveDecayRateVector > G4RadioactiveDecayRateTable
std::vector< G4RadioactiveDecayRate > G4RadioactiveDecayRates
G4DecayProducts * DoDecay(G4ParticleDefinition &theParticleDef)
void DeselectAVolume(const G4String aVolume)
void SetSplitNuclei(G4int r)
void AddDecayRateTable(const G4ParticleDefinition &)
void SetVerboseLevel(G4int value)
void SetSourceTimeProfile(G4String filename)
void BuildPhysicsTable(const G4ParticleDefinition &)
G4double GetTaoTime(const G4double, const G4double)
std::vector< G4RadioactivityTable * > GetTheRadioactivityTables()
void SetDecayBias(G4String filename)
G4double GetDecayHalfAngle() const
G4double GetMeanLifeTime(const G4Track &theTrack, G4ForceCondition *condition)
G4NucleusLimits GetNucleusLimits() const
G4bool IsAnalogueMonteCarlo()
void CollimateDecayProduct(G4DynamicParticle *product)
const G4ThreeVector & GetDecayDirection() const
void SelectAVolume(const G4String aVolume)
G4int GetVerboseLevel() const
G4double GetMeanFreePath(const G4Track &theTrack, G4double previousStepSize, G4ForceCondition *condition)
G4ThreeVector ChooseCollimationDirection() const
G4int GetDecayTimeBin(const G4double aDecayTime)
G4VParticleChange * DecayIt(const G4Track &theTrack, const G4Step &theStep)
void SetDecayHalfAngle(G4double halfAngle=0.*CLHEP::deg)
void SetAnalogueMonteCarlo(G4bool r)
void SetDecayRate(G4int, G4int, G4double, G4int, std::vector< G4double >, std::vector< G4double >)
void SetDecayDirection(const G4ThreeVector &theDir)
G4bool IsApplicable(const G4ParticleDefinition &)
void SetHLThreshold(G4double hl)
void GetDecayRateTable(const G4ParticleDefinition &)
void SetDecayCollimation(const G4ThreeVector &theDir, G4double halfAngle=0.*CLHEP::deg)
G4bool IsLoaded(const G4ParticleDefinition &)
G4bool IsRateTableReady(const G4ParticleDefinition &)
void SetNucleusLimits(G4NucleusLimits theNucleusLimits1)
void DeselectAllVolumes()
void AddUserDecayDataFile(G4int Z, G4int A, G4String filename)
G4DecayTable * LoadDecayTable(G4ParticleDefinition &theParentNucleus)
void CollimateDecay(G4DecayProducts *products)
virtual G4double AtRestGetPhysicalInteractionLength(const G4Track &, G4ForceCondition *)