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

#include <G4ParticleHPFissionSpectrum.hh>

Inheritance diagram for G4ParticleHPFissionSpectrum:
Collaboration diagram for G4ParticleHPFissionSpectrum:

Public Member Functions

 G4ParticleHPFissionSpectrum ()
 
 ~G4ParticleHPFissionSpectrum ()
 
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 44 of file G4ParticleHPFissionSpectrum.hh.

Constructor & Destructor Documentation

G4ParticleHPFissionSpectrum::G4ParticleHPFissionSpectrum ( )
inline

Definition at line 47 of file G4ParticleHPFissionSpectrum.hh.

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

Here is the call graph for this function:

G4ParticleHPFissionSpectrum::~G4ParticleHPFissionSpectrum ( )
inline

Definition at line 51 of file G4ParticleHPFissionSpectrum.hh.

52  {
53  }

Member Function Documentation

G4double G4ParticleHPFissionSpectrum::GetFractionalProbability ( G4double  anEnergy)
inlinevirtual

Implements G4VParticleHPEDis.

Definition at line 61 of file G4ParticleHPFissionSpectrum.hh.

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

Here is the call graph for this function:

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

Implements G4VParticleHPEDis.

Definition at line 55 of file G4ParticleHPFissionSpectrum.hh.

56  {
57  theFractionalProb.Init(aDataFile, CLHEP::eV);
58  theThetaDist.Init(aDataFile, CLHEP::eV);
59  }
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 G4ParticleHPFissionSpectrum::Sample ( G4double  anEnergy)
inlinevirtual

Implements G4VParticleHPEDis.

Definition at line 66 of file G4ParticleHPFissionSpectrum.hh.

67  {
68  G4double theta = theThetaDist.GetY(anEnergy);
69  // here we need to sample Maxwells distribution, if
70  // need be.
71  G4double result, cut;
73  G4double max = Maxwell((theta*CLHEP::eV)/2., theta);
75  G4int icounter=0;
76  G4int icounter_max=1024;
77  do
78  {
79  icounter++;
80  if ( icounter > icounter_max ) {
81  G4cout << "Loop-counter exceeded the threshold value at " << __LINE__ << "th line of " << __FILE__ << "." << G4endl;
82  break;
83  }
84  result = range*G4UniformRand();
85  value = Maxwell(result, theta);
86  cut = G4UniformRand();
87  }
88  while(cut > value/max); // Loop checking, 11.05.2015, T. Koi
89  return result;
90  }
G4double G4ParticleHPJENDLHEData::G4double result
int G4int
Definition: G4Types.hh:78
#define G4UniformRand()
Definition: Randomize.hh:97
G4GLOB_DLL std::ostream G4cout
const XML_Char int const XML_Char * value
Definition: expat.h:331
const G4ParticleDefinition const G4Material *G4double range
static constexpr double MeV
G4double GetY(G4double x)
static constexpr double eV
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: