Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4ParticleHPFissionSpectrum Class Reference

#include <G4ParticleHPFissionSpectrum.hh>

+ Inheritance 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 ()
 
virtual void Init (std::istream &theData)=0
 
virtual G4double GetFractionalProbability (G4double anEnergy)=0
 
virtual G4double Sample (G4double anEnergy)=0
 

Detailed Description

Definition at line 44 of file G4ParticleHPFissionSpectrum.hh.

Constructor & Destructor Documentation

◆ G4ParticleHPFissionSpectrum()

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:180

◆ ~G4ParticleHPFissionSpectrum()

G4ParticleHPFissionSpectrum::~G4ParticleHPFissionSpectrum ( )
inline

Definition at line 51 of file G4ParticleHPFissionSpectrum.hh.

52 {
53 }

Member Function Documentation

◆ GetFractionalProbability()

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)

◆ Init()

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.)

◆ Sample()

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=0., cut;
72 G4double range =50*CLHEP::MeV;
73 G4double max = Maxwell((theta*CLHEP::eV)/2., theta);
74 G4double value;
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 }
double G4double
Definition: G4Types.hh:83
int G4int
Definition: G4Types.hh:85
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout
#define G4UniformRand()
Definition: Randomize.hh:52
T max(const T t1, const T t2)
brief Return the largest of the two arguments

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