Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
G4NeutronHPSimpleEvapSpectrum Class Reference

#include <G4NeutronHPSimpleEvapSpectrum.hh>

Inheritance diagram for G4NeutronHPSimpleEvapSpectrum:
G4VNeutronHPEDis

Public Member Functions

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

Detailed Description

Definition at line 42 of file G4NeutronHPSimpleEvapSpectrum.hh.

Constructor & Destructor Documentation

G4NeutronHPSimpleEvapSpectrum::G4NeutronHPSimpleEvapSpectrum ( )
inline

Definition at line 45 of file G4NeutronHPSimpleEvapSpectrum.hh.

46  {
47  expm1 = std::exp(-1.);
48  }
G4NeutronHPSimpleEvapSpectrum::~G4NeutronHPSimpleEvapSpectrum ( )
inline

Definition at line 49 of file G4NeutronHPSimpleEvapSpectrum.hh.

50  {
51  }

Member Function Documentation

G4double G4NeutronHPSimpleEvapSpectrum::GetFractionalProbability ( G4double  anEnergy)
inlinevirtual

Implements G4VNeutronHPEDis.

Definition at line 59 of file G4NeutronHPSimpleEvapSpectrum.hh.

References G4NeutronHPVector::GetY().

60  {
61  return theFractionalProb.GetY(anEnergy);
62  }
G4double GetY(G4double x)
void G4NeutronHPSimpleEvapSpectrum::Init ( std::istream &  aDataFile)
inlinevirtual

Implements G4VNeutronHPEDis.

Definition at line 53 of file G4NeutronHPSimpleEvapSpectrum.hh.

References G4NeutronHPVector::Init().

54  {
55  theFractionalProb.Init(aDataFile, CLHEP::eV);
56  theThetaDist.Init(aDataFile, CLHEP::eV);
57  }
void Init(std::istream &aDataFile, G4int total, G4double ux=1., G4double uy=1.)
G4double G4NeutronHPSimpleEvapSpectrum::Sample ( G4double  anEnergy)
inlinevirtual

Implements G4VNeutronHPEDis.

Definition at line 64 of file G4NeutronHPSimpleEvapSpectrum.hh.

References G4UniformRand, G4NeutronHPVector::GetY(), and G4INCL::Math::max().

65  {
66  G4double theta = theThetaDist.GetY(anEnergy)*CLHEP::eV;
67  G4double random, cut, max, result;
68  max = 10.*theta;
69  do
70  {
71  random = G4UniformRand();
72  result = -theta*std::log(random);
73  cut = G4UniformRand();
74  }
75  while(cut>result/max);
76  return result;
77  }
G4double GetY(G4double x)
#define G4UniformRand()
Definition: Randomize.hh:87
T max(const T t1, const T t2)
brief Return the largest of the two arguments
double G4double
Definition: G4Types.hh:76

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