55 #include <CLHEP/Units/SystemOfUnits.h> 
   56 #include <CLHEP/Units/PhysicalConstants.h> 
   68   : fLevelManager(nullptr), fTransition(p), fVerbose(0), fPoints(0), 
 
   69     vShellNumber(-1), fIndex(0), fTimeLimit(
DBL_MAX), fMaxLifeTime(
DBL_MAX), 
 
   70     fICM(false), fRDM(false), fSampleTime(true)
 
   74     char* en = getenv(
"G4UseNuclearPolarization"); 
 
   79   char* env = getenv(
"G4AddTimeLimitToPhotonEvaporation"); 
 
  131   products->push_back(aNucleus);
 
  142   products->push_back(aNucleus);
 
  150     G4cout << 
"G4PhotonEvaporation::BreakUpChain RDM= " << 
fRDM << 
" " 
  160       products->push_back(gamma);
 
  162         G4cout << 
"G4PhotonEvaporation::BreakUpChain: "    
  183     G4cout << 
"G4PhotonEvaporation::GetEmissionProbability: Z="  
  225   G4double gammaR2 = gammaE2*wres*wres;
 
  226   G4double egdp2   = gammaE2 - eres*eres;
 
  229     *gammaR2*gammaE2/(egdp2*egdp2 + gammaR2);
 
  235     gammaR2 = gammaE2*wres2;
 
  236     egdp2   = gammaE2 - eres2;
 
  240       *gammaR2*gammaE2/(egdp2*egdp2 + gammaR2);
 
  284   G4bool isLongLived  = 
false;
 
  289     G4cout << 
"GenerateGamma: Exc= " << eexc << 
" Emax= "  
  323       G4cout << 
"Discrete emission from level Index= " << 
fIndex  
  327     if(0 == 
fIndex) { 
return result; }
 
  354       G4cout << 
"Ntrans= " << ntrans << 
" idx= " << idx << 
" isX= " << isX 
 
  355              << 
" icm= " << icm << 
G4endl;
 
  368           rndm = (rndm - prob)/(1.0 - prob);
 
  388     G4double mom = std::sqrt((e - mass)*(e + mass)); 
 
  399                                            isGamma, isLongLived);
 
  405     G4cout << 
"Final level E= " << efinal << 
" time= " << time 
 
  406            << 
" idx= " << 
fIndex << 
" isX " << isX 
 
  407            << 
" isGamma: " << isGamma << 
" isLongLived: " << isLongLived
 
  408            << 
" deltaS= " << deltaS << 
" shell= " << shell << 
G4endl;
 
virtual void SetICM(G4bool)
 
virtual G4bool BreakUpChain(G4FragmentVector *theResult, G4Fragment *theNucleus)
 
G4float GammaProbability(size_t idx) const 
 
static G4Pow * GetInstance()
 
void SetMaxHalfLife(G4double)
 
virtual G4FragmentVector * BreakItUp(const G4Fragment &theNucleus)
 
G4GammaTransition * fTransition
 
static G4float GREnergy[MAXGRDATA]
 
virtual G4double GetUpperLevelEnergy(G4int Z, G4int A)
 
CLHEP::Hep3Vector G4ThreeVector
 
virtual void RDMForced(G4bool)
 
G4float LifeTime(size_t i) const 
 
virtual G4double GetFinalLevelEnergy(G4int Z, G4int A, G4double energy)
 
static G4float GRWidth[MAXGRDATA]
 
G4double fCummProbability[MAXDEPOINT]
 
G4PhotonEvaporation(G4GammaTransition *ptr=0)
 
const G4LevelManager * fLevelManager
 
const G4NucLevel * GetLevel(size_t i) const 
 
virtual G4FragmentVector * BreakUp(const G4Fragment &theNucleus)
 
G4float FinalExcitationEnergy(size_t idx) const 
 
G4double logZ(G4int Z) const 
 
G4float LevelEnergy(size_t i) const 
 
G4GLOB_DLL std::ostream G4cout
 
double A(double temperature)
 
G4double GetCreationTime() const 
 
const G4LorentzVector & GetMomentum() const 
 
void SetMomentum(const G4LorentzVector &value)
 
std::vector< G4Fragment * > G4FragmentVector
 
static const double second
 
virtual G4double GetEmissionProbability(G4Fragment *theNucleus)
 
void SetGammaTransition(G4GammaTransition *)
 
G4double GetGroundStateMass() const 
 
size_t SampleGammaTransition(G4double rndm) const 
 
G4float NearestLevelEnergy(G4double energy, size_t index=0) const 
 
size_t NearestLevelIndex(G4double energy, size_t index=0) const 
 
static const G4double emax
 
G4double G4Log(G4double x)
 
G4double G4Exp(G4double initial_x)
Exponential Function double precision. 
 
void SetCreationTime(G4double time)
 
size_t NumberOfTransitions() const 
 
virtual G4Fragment * SampleTransition(G4Fragment *nucleus, G4double newExcEnergy, G4int deltaS, size_t shell, G4bool isGamma, G4bool isLongLived)
 
T max(const T t1, const T t2)
brief Return the largest of the two arguments 
 
G4double energy(const ThreeVector &p, const G4double m)
 
G4Fragment * GenerateGamma(G4Fragment *nucleus)
 
const G4double MaxDeltaEnergy
 
T min(const T t1, const T t2)
brief Return the smallest of the two arguments 
 
G4NuclearLevelData * fNuclearLevelData
 
size_t SampleShell(size_t idx, G4double rndm) const 
 
static const double millibarn
 
const G4double LevelDensity
 
virtual G4Fragment * EmittedFragment(G4Fragment *theNucleus)
 
size_t SampleGammaETransition(G4double rndm) const 
 
virtual G4FragmentVector * BreakUpFragment(G4Fragment *theNucleus)
 
G4double powZ(G4int Z, G4double y) const 
 
G4float LifeTimeGamma(size_t i) const 
 
void InitialiseLevelManager(G4int Z, G4int A)
 
G4double ComputeGroundStateMass(G4int Z, G4int A) const 
 
static G4NuclearLevelData * GetInstance()
 
G4double GetExcitationEnergy() const 
 
virtual ~G4PhotonEvaporation()
 
CLHEP::HepLorentzVector G4LorentzVector