75 verbose(0), myOwnProbAlgorithm(true),
76 eOccupancy(0), vShellNumber(-1), gammaE(0.)
87 char* env = getenv(
"G4AddTimeLimitToPhotonEvaporation");
88 if(env) { timeLimit = 1.e-16*
second; }
119 G4cout <<
"G4PhotonEvaporation::EmittedFragment continium deex: "
135 G4cout <<
"G4PhotonEvaporation::EmittedFragment discrete deex: "
144 G4cout <<
"G4PhotonEvaporation unable emit gamma: "
163 G4cout <<
"G4PhotonEvaporation::BreakUpFragment " << products->size()
164 <<
" gammas from ContinuumDeexcitation " <<
G4endl;
177 G4cout <<
"G4PhotonEvaporation::BreakUpFragment " << discrProducts->size()
178 <<
" gammas from DiscreteDeexcitation " <<
G4endl;
181 G4FragmentVector::iterator i;
182 for (i = discrProducts->begin(); i != discrProducts->end(); ++i)
184 products->push_back(*i);
186 delete discrProducts;
190 G4cout <<
"*-*-* Photon evaporation: " << products->size() <<
G4endl;
210 G4cout <<
"G4PhotonEvaporation::BreakUp " << products->size()
211 <<
" gammas from ContinuesDeexcitation " <<
G4endl;
215 if (0 == products->size())
228 G4cout <<
" = BreakUp = " << discrProducts->size()
229 <<
" gammas from DiscreteDeexcitation "
233 G4FragmentVector::iterator i;
234 for (i = discrProducts->begin(); i != discrProducts->end(); ++i)
236 products->push_back(*i);
238 delete discrProducts;
246 G4cout <<
"*-*-*-* Photon evaporation: " << products->size() <<
G4endl;
267 G4cout <<
" = BreakItUp = " << products->size()
268 <<
" gammas from ContinuumDeexcitation " <<
G4endl;
281 G4cout <<
" = BreakItUp = " << discrProducts->size()
282 <<
" gammas from DiscreteDeexcitation " <<
G4endl;
284 G4FragmentVector::iterator i;
285 for (i = discrProducts->begin(); i != discrProducts->end(); ++i)
287 products->push_back(*i);
289 delete discrProducts;
295 G4cout <<
"*-*-* Photon evaporation: " << products->size() <<
G4endl;
void SetMaxHalfLife(G4double)
virtual G4bool CanDoTransition()=0
void SetNucleus(G4Fragment *nucleus)
void SetEO(G4ElectronOccupancy eo)
void SetTimeLimit(G4double value)
G4VEmissionProbability * probAlgorithm
G4PhotonEvaporation(const G4String &aName="Anonymous", G4EvaporationChannelType timeType=fDelayedEmission)
G4GLOB_DLL std::ostream G4cout
G4VGammaDeexcitation * discrDeexcitation
void SetVerboseLevel(G4int verbose)
std::vector< G4Fragment * > G4FragmentVector
static const double second
virtual G4FragmentVector * BreakUp(const G4Fragment &nucleus)
virtual G4double GetEmissionProbability(G4Fragment *theNucleus)
G4FragmentVector * DoChain()
G4Fragment * GenerateGamma()
void SetTimeLimit(G4double value)
G4FragmentVector * DoTransition()
G4VGammaDeexcitation * contDeexcitation
void SetVaccantSN(G4int val)
G4ElectronOccupancy eOccupancy
virtual G4FragmentVector * BreakItUp(const G4Fragment &nucleus)
G4ElectronOccupancy GetEO()
virtual G4Fragment * EmittedFragment(G4Fragment *theNucleus)
G4bool myOwnProbAlgorithm
virtual G4FragmentVector * BreakUpFragment(G4Fragment *theNucleus)
void SetEOccupancy(G4ElectronOccupancy eOccupancy)
virtual G4double EmissionProbability(const G4Fragment &fragment, const G4double anEnergy)=0
virtual void SetEmissionStrategy(G4VEmissionProbability *probAlgorithm)
G4double GetExcitationEnergy() const
void SetVerboseLevel(G4int verbose)
virtual ~G4PhotonEvaporation()