#include <G4NeutronHPSimpleEvapSpectrum.hh>
Inheritance diagram for G4NeutronHPSimpleEvapSpectrum:
Public Member Functions | |
G4NeutronHPSimpleEvapSpectrum () | |
~G4NeutronHPSimpleEvapSpectrum () | |
void | Init (std::ifstream &aDataFile) |
G4double | GetFractionalProbability (G4double anEnergy) |
G4double | Sample (G4double anEnergy) |
Definition at line 43 of file G4NeutronHPSimpleEvapSpectrum.hh.
G4NeutronHPSimpleEvapSpectrum::G4NeutronHPSimpleEvapSpectrum | ( | ) | [inline] |
G4NeutronHPSimpleEvapSpectrum::~G4NeutronHPSimpleEvapSpectrum | ( | ) | [inline] |
G4double G4NeutronHPSimpleEvapSpectrum::GetFractionalProbability | ( | G4double | anEnergy | ) | [inline, virtual] |
Implements G4VNeutronHPEDis.
Definition at line 60 of file G4NeutronHPSimpleEvapSpectrum.hh.
References G4NeutronHPVector::GetY().
00061 { 00062 return theFractionalProb.GetY(anEnergy); 00063 }
void G4NeutronHPSimpleEvapSpectrum::Init | ( | std::ifstream & | aDataFile | ) | [inline, virtual] |
Implements G4VNeutronHPEDis.
Definition at line 54 of file G4NeutronHPSimpleEvapSpectrum.hh.
References G4NeutronHPVector::Init().
00055 { 00056 theFractionalProb.Init(aDataFile, CLHEP::eV); 00057 theThetaDist.Init(aDataFile, CLHEP::eV); 00058 }
Implements G4VNeutronHPEDis.
Definition at line 65 of file G4NeutronHPSimpleEvapSpectrum.hh.
References G4UniformRand, and G4NeutronHPVector::GetY().
00066 { 00067 G4double theta = theThetaDist.GetY(anEnergy)*CLHEP::eV; 00068 G4double random, cut, max, result; 00069 max = 10.*theta; 00070 do 00071 { 00072 random = G4UniformRand(); 00073 result = -theta*std::log(random); 00074 cut = G4UniformRand(); 00075 } 00076 while(cut>result/max); 00077 return result; 00078 }