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

#include <G4NeutronHPFissionSpectrum.hh>

Inheritance diagram for G4NeutronHPFissionSpectrum:
G4VNeutronHPEDis

Public Member Functions

 G4NeutronHPFissionSpectrum ()
 
 ~G4NeutronHPFissionSpectrum ()
 
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 G4NeutronHPFissionSpectrum.hh.

Constructor & Destructor Documentation

G4NeutronHPFissionSpectrum::G4NeutronHPFissionSpectrum ( )
inline

Definition at line 45 of file G4NeutronHPFissionSpectrum.hh.

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

Definition at line 49 of file G4NeutronHPFissionSpectrum.hh.

50  {
51  }

Member Function Documentation

G4double G4NeutronHPFissionSpectrum::GetFractionalProbability ( G4double  anEnergy)
inlinevirtual

Implements G4VNeutronHPEDis.

Definition at line 59 of file G4NeutronHPFissionSpectrum.hh.

References G4NeutronHPVector::GetY().

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

Implements G4VNeutronHPEDis.

Definition at line 53 of file G4NeutronHPFissionSpectrum.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 G4NeutronHPFissionSpectrum::Sample ( G4double  anEnergy)
inlinevirtual

Implements G4VNeutronHPEDis.

Definition at line 64 of file G4NeutronHPFissionSpectrum.hh.

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

65  {
66  G4double theta = theThetaDist.GetY(anEnergy);
67  // here we need to sample Maxwells distribution, if
68  // need be.
69  G4double result, cut;
70  G4double range =50*CLHEP::MeV;
71  G4double max = Maxwell((theta*CLHEP::eV)/2., theta);
73  do
74  {
75  result = range*G4UniformRand();
76  value = Maxwell(result, theta);
77  cut = G4UniformRand();
78  }
79  while(cut > value/max);
80  return result;
81  }
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
const XML_Char int const XML_Char * value
double G4double
Definition: G4Types.hh:76

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