Geant4 11.2.2
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 () override=default
 
void Init (std::istream &aDataFile) override
 
G4double GetFractionalProbability (G4double anEnergy) override
 
G4double Sample (G4double anEnergy) override
 
- Public Member Functions inherited from G4VParticleHPEDis
 G4VParticleHPEDis ()=default
 
virtual ~G4VParticleHPEDis ()=default
 

Detailed Description

Definition at line 45 of file G4ParticleHPFissionSpectrum.hh.

Constructor & Destructor Documentation

◆ G4ParticleHPFissionSpectrum()

G4ParticleHPFissionSpectrum::G4ParticleHPFissionSpectrum ( )
inline

Definition at line 48 of file G4ParticleHPFissionSpectrum.hh.

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

◆ ~G4ParticleHPFissionSpectrum()

G4ParticleHPFissionSpectrum::~G4ParticleHPFissionSpectrum ( )
overridedefault

Member Function Documentation

◆ GetFractionalProbability()

G4double G4ParticleHPFissionSpectrum::GetFractionalProbability ( G4double anEnergy)
inlineoverridevirtual

Implements G4VParticleHPEDis.

Definition at line 57 of file G4ParticleHPFissionSpectrum.hh.

58 {
59 return theFractionalProb.GetY(anEnergy);
60 }
G4double GetY(G4double x)

◆ Init()

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

Implements G4VParticleHPEDis.

Definition at line 51 of file G4ParticleHPFissionSpectrum.hh.

52 {
53 theFractionalProb.Init(aDataFile, CLHEP::eV);
54 theThetaDist.Init(aDataFile, CLHEP::eV);
55 }
void Init(std::istream &aDataFile, G4int total, G4double ux=1., G4double uy=1.)

◆ Sample()

G4double G4ParticleHPFissionSpectrum::Sample ( G4double anEnergy)
inlineoverridevirtual

Implements G4VParticleHPEDis.

Definition at line 62 of file G4ParticleHPFissionSpectrum.hh.

63 {
64 G4double theta = theThetaDist.GetY(anEnergy);
65 // here we need to sample Maxwells distribution, if
66 // need be.
67 G4double result = 0., cut;
68 G4double range = 50 * CLHEP::MeV;
69 G4double max = Maxwell((theta * CLHEP::eV) / 2., theta);
70 G4double value;
71 G4int icounter = 0;
72 G4int icounter_max = 1024;
73 do {
74 icounter++;
75 if (icounter > icounter_max) {
76 G4cout << "Loop-counter exceeded the threshold value at " << __LINE__ << "th line of "
77 << __FILE__ << "." << G4endl;
78 break;
79 }
80 result = range * G4UniformRand();
81 value = Maxwell(result, theta);
82 cut = G4UniformRand();
83 } while (cut > value / max); // Loop checking, 11.05.2015, T. Koi
84 return result;
85 }
double G4double
Definition G4Types.hh:83
int G4int
Definition G4Types.hh:85
#define G4endl
Definition G4ios.hh:67
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: