68 _nucleusZ(0), _nucleusA(0), _max_hl(1e-6*
second), _icm(false),
69 _rdm(false), _levelManager(0)
71 _tolerance = CLHEP::keV;
85 if (_nucleusA != A || _nucleusZ != Z)
97 <<
"G4DiscreteGammaDeexcitation::CreateTransition - (A,Z) is valid "
108 <<
"G4DiscreteGammaDeexcitation::CreateTransition - Created from level energy "
109 << level->
Energy() <<
", excitation is "
120 <<
"G4DiscreteGammaDeexcitation::CreateTransition - No transition created from "
121 << excitation <<
" within tolerance " << _tolerance <<
G4endl;
140 <<
"G4DiscreteGammaDeexcitation::CanDoTransition - Null transition "
146 if (_nucleusZ<2 || _nucleusA<3 )
151 <<
"G4DiscreteGammaDeexcitation::CanDoTransition - n/p/H/>Cf"
161 if (excitation <= _tolerance) {
165 <<
"G4DiscreteGammaDeexcitation::CanDoTransition - Excitation <= 0"
166 << excitation <<
" " << excitation - _tolerance
170 if (excitation > _levelManager->
MaxLevelEnergy() + _tolerance) { canDo =
false; }
177 G4cout <<
"G4DiscreteGammaDeexcitation::CanDoTransition - Excitation "
178 << excitation <<
", Min-Max are "
191 if (level->
HalfLife() > _max_hl && !_rdm ) { canDo =
false; }
194 G4cout <<
"G4DiscreteGammaDeexcitation::CanDoTransition - Halflife "
195 << level->
HalfLife() <<
", Calling from RDM "
196 << (_rdm ?
" True " :
" False ") <<
", Max-HL = " << _max_hl
202 G4cout <<
"G4DiscreteGammaDeexcitation::CanDoTransition - CanDo: "
203 << (canDo ?
" True " :
" False ") <<
G4endl;
virtual G4bool CanDoTransition()
G4Fragment * GetNucleus()
G4DiscreteGammaDeexcitation()
G4double HalfLife() const
G4double MinLevelEnergy() const
virtual G4VGammaTransition * CreateTransition()
static G4NuclearLevelStore * GetInstance()
virtual ~G4DiscreteGammaDeexcitation()
G4GLOB_DLL std::ostream G4cout
G4NuclearLevelManager * GetManager(G4int Z, G4int A)
G4VGammaTransition * _transition
const G4NuclearLevel * NearestLevel(G4double energy, G4double eDiffMax=9999.*CLHEP::GeV) const
G4double MaxLevelEnergy() const
G4double GetExcitationEnergy() const