Geant4  10.03.p03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4ParticleHPSimpleEvapSpectrum Class Reference

#include <G4ParticleHPSimpleEvapSpectrum.hh>

Inheritance diagram for G4ParticleHPSimpleEvapSpectrum:
Collaboration diagram for G4ParticleHPSimpleEvapSpectrum:

Public Member Functions

 G4ParticleHPSimpleEvapSpectrum ()
 
 ~G4ParticleHPSimpleEvapSpectrum ()
 
void Init (std::istream &aDataFile)
 
G4double GetFractionalProbability (G4double anEnergy)
 
G4double Sample (G4double anEnergy)
 
- Public Member Functions inherited from G4VParticleHPEDis
 G4VParticleHPEDis ()
 
virtual ~G4VParticleHPEDis ()
 

Detailed Description

Definition at line 45 of file G4ParticleHPSimpleEvapSpectrum.hh.

Constructor & Destructor Documentation

G4ParticleHPSimpleEvapSpectrum::G4ParticleHPSimpleEvapSpectrum ( )
inline

Definition at line 48 of file G4ParticleHPSimpleEvapSpectrum.hh.

49  {
50  expm1 = G4Exp(-1.);
51  }
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
Definition: G4Exp.hh:183

Here is the call graph for this function:

G4ParticleHPSimpleEvapSpectrum::~G4ParticleHPSimpleEvapSpectrum ( )
inline

Definition at line 52 of file G4ParticleHPSimpleEvapSpectrum.hh.

53  {
54  }

Member Function Documentation

G4double G4ParticleHPSimpleEvapSpectrum::GetFractionalProbability ( G4double  anEnergy)
inlinevirtual

Implements G4VParticleHPEDis.

Definition at line 62 of file G4ParticleHPSimpleEvapSpectrum.hh.

63  {
64  return theFractionalProb.GetY(anEnergy);
65  }
G4double GetY(G4double x)

Here is the call graph for this function:

void G4ParticleHPSimpleEvapSpectrum::Init ( std::istream &  aDataFile)
inlinevirtual

Implements G4VParticleHPEDis.

Definition at line 56 of file G4ParticleHPSimpleEvapSpectrum.hh.

57  {
58  theFractionalProb.Init(aDataFile, CLHEP::eV);
59  theThetaDist.Init(aDataFile, CLHEP::eV);
60  }
void Init(std::istream &aDataFile, G4int total, G4double ux=1., G4double uy=1.)
static constexpr double eV

Here is the call graph for this function:

G4double G4ParticleHPSimpleEvapSpectrum::Sample ( G4double  anEnergy)
inlinevirtual

Implements G4VParticleHPEDis.

Definition at line 67 of file G4ParticleHPSimpleEvapSpectrum.hh.

68  {
69  G4double theta = theThetaDist.GetY(anEnergy)*CLHEP::eV;
70  G4double random, cut, max, result;
71  max = 10.*theta;
72  G4int icounter=0;
73  G4int icounter_max=1024;
74  do
75  {
76  icounter++;
77  if ( icounter > icounter_max ) {
78  G4cout << "Loop-counter exceeded the threshold value at " << __LINE__ << "th line of " << __FILE__ << "." << G4endl;
79  break;
80  }
81  random = G4UniformRand();
82  result = -theta*G4Log(random);
83  cut = G4UniformRand();
84  }
85  while(cut>result/max); // Loop checking, 11.05.2015, T. Koi
86  return result;
87  }
G4double G4ParticleHPJENDLHEData::G4double result
int G4int
Definition: G4Types.hh:78
#define G4UniformRand()
Definition: Randomize.hh:97
G4GLOB_DLL std::ostream G4cout
G4double GetY(G4double x)
static constexpr double eV
G4double G4Log(G4double x)
Definition: G4Log.hh:230
T max(const T t1, const T t2)
brief Return the largest of the two arguments
#define G4endl
Definition: G4ios.hh:61
double G4double
Definition: G4Types.hh:76

Here is the call graph for this function:


The documentation for this class was generated from the following file: