39 #ifndef G4RadioactiveDecayBase_h
40 #define G4RadioactiveDecayBase_h 1
215 #ifdef G4MULTITHREADED
237 {
return DecayIt(theTrack, theStep);}
242 {
return DecayIt(theTrack, theStep);}
244 #ifdef G4MULTITHREADED
246 static G4Mutex radioactiveDecayMutex;
virtual void ProcessDescription(std::ostream &outFile) const
T max(const T t1, const T t2)
brief Return the largest of the two arguments
G4DecayTable * GetDecayTable(const G4ParticleDefinition *)
void BuildPhysicsTable(const G4ParticleDefinition &)
G4NucleusLimits theNucleusLimits
G4ThreeVector ChooseCollimationDirection() const
void SetDecayCollimation(const G4ThreeVector &theDir, G4double halfAngle=0.*CLHEP::deg)
G4double forceDecayHalfAngle
G4RadioactiveDecayBaseMessenger * theRadioactiveDecayBaseMessenger
G4PhotonEvaporation * photonEvaporation
void SetDecayHalfAngle(G4double halfAngle=0.*CLHEP::deg)
G4VParticleChange * DecayIt(const G4Track &theTrack, const G4Step &theStep)
G4double condition(const G4ErrorSymMatrix &m)
G4double GetMeanLifeTime(const G4Track &theTrack, G4ForceCondition *condition)
void SetDecayDirection(const G4ThreeVector &theDir)
G4double AtRestGetPhysicalInteractionLength(const G4Track &track, G4ForceCondition *condition)
G4int GetVerboseLevel() const
G4RadioactiveDecayBase & operator=(const G4RadioactiveDecayBase &right)
std::map< G4int, G4String > theUserRadioactiveDataFiles
void SelectAVolume(const G4String aVolume)
static const G4ThreeVector origin
const XML_Char int const XML_Char * value
void CollimateDecay(G4DecayProducts *products)
G4NucleusLimits GetNucleusLimits() const
std::vector< G4String > ValidVolumes
void SetNucleusLimits(G4NucleusLimits theNucleusLimits1)
G4DecayProducts * DoDecay(const G4ParticleDefinition &theParticleDef)
double A(double temperature)
G4VParticleChange * AtRestDoIt(const G4Track &theTrack, const G4Step &theStep)
G4ParticleChangeForRadDecay fParticleChangeForRadDecay
G4ThreeVector forceDecayDirection
G4double fRemainderLifeTime
G4bool IsApplicable(const G4ParticleDefinition &)
void DeselectAVolume(const G4String aVolume)
static const G4double levelTolerance
G4VParticleChange * PostStepDoIt(const G4Track &theTrack, const G4Step &theStep)
void SetVerboseLevel(G4int value)
void DeselectAllVolumes()
G4double GetDecayHalfAngle() const
void AddUserDecayDataFile(G4int Z, G4int A, G4String filename)
void CollimateDecayProduct(G4DynamicParticle *product)
static constexpr double deg
virtual G4double AtRestGetPhysicalInteractionLength(const G4Track &, G4ForceCondition *)
std::map< G4String, G4DecayTable * > DecayTableMap
G4DecayTable * LoadDecayTable(const G4ParticleDefinition &theParentNucleus)
G4RadioactiveDecayBase(const G4String &processName="RadioactiveDecayBase")
G4double GetMeanFreePath(const G4Track &theTrack, G4double previousStepSize, G4ForceCondition *condition)
T min(const T t1, const T t2)
brief Return the smallest of the two arguments
const G4ThreeVector & GetDecayDirection() const
~G4RadioactiveDecayBase()