68 _nucleusZ(0), _nucleusA(0), _max_hl(1e-6*second), _icm(false),
69 _rdm(false), _levelManager(0)
71 _tolerance = CLHEP::keV;
84 if (_nucleusA != A || _nucleusZ != Z)
96 <<
"G4DiscreteGammaDeexcitation::CreateTransition - (A,Z) is valid "
107 <<
"G4DiscreteGammaDeexcitation::CreateTransition - Created from level energy "
108 << level->
Energy() <<
", excitation is "
119 <<
"G4DiscreteGammaDeexcitation::CreateTransition - No transition created from "
120 << excitation <<
" within tolerance " << _tolerance <<
G4endl;
139 <<
"G4DiscreteGammaDeexcitation::CanDoTransition - Null transition "
145 if (_nucleusZ<2 || _nucleusA<3 )
150 <<
"G4DiscreteGammaDeexcitation::CanDoTransition - n/p/H/>Cf"
160 if (excitation <= _tolerance) {
164 <<
"G4DiscreteGammaDeexcitation::CanDoTransition - Excitation <= 0"
165 << excitation <<
" " << excitation - _tolerance
169 if (excitation > _levelManager->
MaxLevelEnergy() + _tolerance) { canDo =
false; }
176 G4cout <<
"G4DiscreteGammaDeexcitation::CanDoTransition - Excitation "
177 << excitation <<
", Min-Max are "
190 if (level->
HalfLife() > _max_hl && !_rdm ) { canDo =
false; }
193 G4cout <<
"G4DiscreteGammaDeexcitation::CanDoTransition - Halflife "
194 << level->
HalfLife() <<
", Calling from RDM "
195 << (_rdm ?
" True " :
" False ") <<
", Max-HL = " << _max_hl
201 G4cout <<
"G4DiscreteGammaDeexcitation::CanDoTransition - CanDo: "
202 << (canDo ?
" True " :
" False ") <<
G4endl;
G4DLLIMPORT std::ostream G4cout
virtual G4VGammaTransition * CreateTransition()
virtual ~G4DiscreteGammaDeexcitation()
virtual G4bool CanDoTransition()
G4DiscreteGammaDeexcitation()
G4double GetExcitationEnergy() const
G4double MinLevelEnergy() const
const G4NuclearLevel * NearestLevel(G4double energy, G4double eDiffMax=9999.*CLHEP::GeV) const
G4double MaxLevelEnergy() const
G4NuclearLevelManager * GetManager(G4int Z, G4int A)
static G4NuclearLevelStore * GetInstance()
G4double HalfLife() const
G4Fragment * GetNucleus()
G4VGammaTransition * _transition