#include <G4eIonisationSpectrum.hh>
 | 
|   | G4eIonisationSpectrum () | 
|   | 
|   | ~G4eIonisationSpectrum () | 
|   | 
| G4double  | Probability (G4int Z, G4double tMin, G4double tMax, G4double kineticEnergy, G4int shell, const G4ParticleDefinition *pd=0) const | 
|   | 
| G4double  | AverageEnergy (G4int Z, G4double tMin, G4double tMax, G4double kineticEnergy, G4int shell, const G4ParticleDefinition *pd=0) const | 
|   | 
| G4double  | SampleEnergy (G4int Z, G4double tMin, G4double tMax, G4double kineticEnergy, G4int shell, const G4ParticleDefinition *pd=0) const | 
|   | 
| G4double  | MaxEnergyOfSecondaries (G4double kineticEnergy, G4int Z=0, const G4ParticleDefinition *pd=0) const | 
|   | 
| G4double  | Excitation (G4int Z, G4double e) const | 
|   | 
| void  | PrintData () const | 
|   | 
|   | G4VEnergySpectrum () | 
|   | 
| virtual  | ~G4VEnergySpectrum () | 
|   | 
Definition at line 64 of file G4eIonisationSpectrum.hh.
 
◆ G4eIonisationSpectrum() [1/2]
      
        
          | G4eIonisationSpectrum::G4eIonisationSpectrum  | 
          ( | 
           | ) | 
           | 
        
      
 
 
◆ ~G4eIonisationSpectrum()
      
        
          | G4eIonisationSpectrum::~G4eIonisationSpectrum  | 
          ( | 
           | ) | 
           | 
        
      
 
 
◆ G4eIonisationSpectrum() [2/2]
◆ AverageEnergy()
Implements G4VEnergySpectrum.
Definition at line 173 of file G4eIonisationSpectrum.cc.
  187   if(t0 >= tm) 
return 0.0;
   190                            Shell(
Z, shell)->BindingEnergy();
   192   if(
e <= bindingEnergy) 
return 0.0;
   200     G4cout << 
"G4eIonisationSpectrum::AverageEnergy: Z= " << 
Z   201            << 
"; shell= " << shell
   202            << 
"; E(keV)= " << 
e/
keV   203            << 
"; bindingE(keV)= " << bindingEnergy/
keV   219   if(p[3] > 0.5) p[3] = 0.5;
   222   p.push_back((2.0*gLocal2 - 1.0)/(gLocal2*gLocal2));
   231       G4cout << 
"WARNING: G4eIonisationSpectrum::AverageEnergy "   232          << 
"parameter p[3] <= 0. G4LEDATA dabatase might be corrupted for Z = "   233          << 
Z << 
". Please check and/or update it " << 
G4endl;
   243            << 
"; tMax(MeV)= " << tMax/
MeV   258   if(nor > 0.0) val /= nor;
 
G4double Function(G4double x, const G4DataVector &p) const
 
G4GLOB_DLL std::ostream G4cout
 
G4double Parameter(G4int Z, G4int shellIndex, G4int parameterIndex, G4double e) const
 
G4double MaxEnergyOfSecondaries(G4double kineticEnergy, G4int Z=0, const G4ParticleDefinition *pd=0) const
 
G4double IntSpectrum(G4double xMin, G4double xMax, const G4DataVector &p) const
 
G4eIonisationParameters * theParam
 
G4double AverageValue(G4double xMin, G4double xMax, const G4DataVector &p) const
 
static G4AtomicTransitionManager * Instance()
 
 
 
 
◆ AverageValue()
Definition at line 517 of file G4eIonisationSpectrum.cc.
  522   if(xMin >= xMax) 
return sum;
   535     for (
size_t i=0; i<19; i++) {
   549       } 
else if (xMin < x2) {
   559             ys1 += (xs1 - 
x1)*(y2 - y1)/(x2 - 
x1);
   563             ys2 += (xs2 - 
x2)*(y1 - y2)/(x1 - 
x2);
   566             sum += std::log(xs2/xs1)*(ys1*xs2 - ys2*xs1)/(xs2 - xs1)
   580   if(x1 >= xMax) 
return sum;
   586   sum  += std::log(x2/x1)*(1.0 - p[0])
   587         + 0.5*(1. - p[
iMax])*(x2*x2 - x1*
x1)
   588         + 1./(1. - x2) - 1./(1. - 
x1)
   589         + (1. + p[iMax])*std::log((1. - x2)/(1. - x1))
   590         + 0.5*p[0]*(xs1 - xs2);
 
G4double G4Exp(G4double initial_x)
Exponential Function double precision. 
 
 
 
 
◆ Excitation()
◆ Function()
◆ IntSpectrum()
Definition at line 433 of file G4eIonisationSpectrum.cc.
  439   if(xMin >= xMax) 
return sum;
   452     for (
size_t i=0; i<19; i++) {
   467       } 
else if (xMin < x2) {
   477             ys1 += (xs1 - 
x1)*(y2 - y1)/(x2 - 
x1);
   481             ys2 += (xs2 - 
x2)*(y1 - y2)/(x1 - 
x2);
   484             q = (ys1*xs2 - ys2*xs1)/(xs1*xs2)
   485               +  std::log(xs2/xs1)*(ys2 - ys1)/(xs2 - xs1);
   487             if(p.size() == 26) 
G4cout << 
"i= " << i << 
"  q= " << q << 
" sum= " << sum << 
G4endl;
   499   if(x1 >= xMax) 
return sum;
   504   q = (xs1 - xs2)*(1.0 - p[0])
   505        - p[
iMax]*std::log(x2/x1)
   506        + (1. - p[
iMax])*(x2 - x1)
   507        + 1./(1. - 
x2) - 1./(1. - x1)
   508        + p[
iMax]*std::log((1. - x2)/(1. - x1))
   509        + 0.25*p[0]*(xs1*xs1 - xs2*xs2);
   511   if(p.size() == 26) 
G4cout << 
"param...  q= " << q <<  
" sum= " << sum << 
G4endl;
 
G4GLOB_DLL std::ostream G4cout
 
G4double G4Exp(G4double initial_x)
Exponential Function double precision. 
 
 
 
 
◆ MaxEnergyOfSecondaries()
◆ operator=()
◆ PrintData()
  
  
      
        
          | void G4eIonisationSpectrum::PrintData  | 
          ( | 
          void  | 
           | ) | 
           const | 
         
       
   | 
  
virtual   | 
  
 
 
◆ Probability()
Implements G4VEnergySpectrum.
Definition at line 78 of file G4eIonisationSpectrum.cc.
   92   if(t0 >= tm) 
return 0.0;
    95                            Shell(
Z, shell)->BindingEnergy();
    97   if(
e <= bindingEnergy) 
return 0.0;
   104   if(
verbose > 1 || (
Z==4 && 
e>= 1.0 && 
e<= 0.0)) {
   105     G4cout << 
"G4eIonisationSpectrum::Probability: Z= " << 
Z   106            << 
"; shell= " << shell
   107            << 
"; E(keV)= " << 
e/
keV   108            << 
"; Eb(keV)= " << bindingEnergy/
keV   125   if(p[3] > 0.5) p[3] = 0.5;
   128   p.push_back((2.0*gLocal - 1.0)/(gLocal*gLocal));
   136       G4cout << 
"WARNING: G4eIonisationSpectrum::Probability "   137          << 
"parameter p[3] <= 0. G4LEDATA dabatase might be corrupted for Z = "   138          << 
Z << 
". Please check and/or update it " << 
G4endl;
   141   if(
e >= 1. && 
e <= 0. && 
Z == 4) p.push_back(0.0);
   148   if(
verbose > 1 || (
Z==4 && 
e>= 1.0 && 
e<= 0.0)) {
   149     G4cout << 
"tcut= " << tMin
   150            << 
"; tMax= " << tMax
   166   if(nor > 0.0) val /= nor;
 
G4double Function(G4double x, const G4DataVector &p) const
 
G4GLOB_DLL std::ostream G4cout
 
G4double Parameter(G4int Z, G4int shellIndex, G4int parameterIndex, G4double e) const
 
G4double MaxEnergyOfSecondaries(G4double kineticEnergy, G4int Z=0, const G4ParticleDefinition *pd=0) const
 
G4double IntSpectrum(G4double xMin, G4double xMax, const G4DataVector &p) const
 
G4eIonisationParameters * theParam
 
static G4AtomicTransitionManager * Instance()
 
 
 
 
◆ SampleEnergy()
Implements G4VEnergySpectrum.
Definition at line 265 of file G4eIonisationSpectrum.cc.
  276   if(t0 > tm) 
return tDelta;
   279                            Shell(
Z, shell)->BindingEnergy();
   281   if(
e <= bindingEnergy) 
return 0.0;
   287   if(x1 >= x2) 
return tDelta;
   290     G4cout << 
"G4eIonisationSpectrum::SampleEnergy: Z= " << 
Z   291            << 
"; shell= " << shell
   292            << 
"; E(keV)= " << 
e/
keV   307   if(p[3] > 0.5) p[3] = 0.5;
   310   p.push_back((2.0*gLocal3 - 1.0)/(gLocal3*gLocal3));
   319       G4cout << 
"WARNING: G4eIonisationSpectrum::SampleSpectrum "   320          << 
"parameter p[3] <= 0. G4LEDATA dabatase might be corrupted for Z = "   321          << 
Z << 
". Please check and/or update it " << 
G4endl;
   334   G4double amaj, fun, q, 
x, z1, z2, dx, dx1;
   342       if(p[j] > amaj) amaj = p[j];
   354       dx = (p[2] - p[1]) / 3.0;
   355       dx1= 
G4Exp(std::log(p[3]/p[2]) / 16.0);
   356       for (i=4; i<iMax-1; i++) {
   360         } 
else if(iMax-2 == i) {
   366         if(x >= z1 && x <= z2) 
break;
   369       fun = p[i] + (x - z1) * (p[i+1] - p[i])/(z2 - z1);
   372           G4cout << 
"WARNING in G4eIonisationSpectrum::SampleEnergy:"   373                  << 
" Majoranta " << amaj
   375                  << 
" in the first aria at x= " << x
   397           G4cout << 
"WARNING in G4eIonisationSpectrum::SampleEnergy:"   398                  << 
" Majoranta " << amaj
   400                  << 
" in the second aria at x= " << x
   412   tDelta = x*energy - bindingEnergy;
   416            << 
"; tMax(MeV)= " << tMax/
MeV   422            << 
"; be= " << bindingEnergy
   424            << 
"; tDelta= " << tDelta
 
G4double Function(G4double x, const G4DataVector &p) const
 
G4GLOB_DLL std::ostream G4cout
 
G4double Parameter(G4int Z, G4int shellIndex, G4int parameterIndex, G4double e) const
 
G4double MaxEnergyOfSecondaries(G4double kineticEnergy, G4int Z=0, const G4ParticleDefinition *pd=0) const
 
G4double G4Exp(G4double initial_x)
Exponential Function double precision. 
 
G4double IntSpectrum(G4double xMin, G4double xMax, const G4DataVector &p) const
 
G4eIonisationParameters * theParam
 
static G4AtomicTransitionManager * Instance()
 
 
 
 
◆ factor
◆ iMax
  
  
      
        
          | G4int G4eIonisationSpectrum::iMax | 
         
       
   | 
  
private   | 
  
 
 
◆ lowestE
◆ theParam
◆ verbose
  
  
      
        
          | G4int G4eIonisationSpectrum::verbose | 
         
       
   | 
  
private   | 
  
 
 
The documentation for this class was generated from the following files: