#include <G4NeutronHPProduct.hh>
Definition at line 49 of file G4NeutronHPProduct.hh.
◆ G4NeutronHPProduct()
G4NeutronHPProduct::G4NeutronHPProduct |
( |
| ) |
|
|
inline |
◆ ~G4NeutronHPProduct()
G4NeutronHPProduct::~G4NeutronHPProduct |
( |
| ) |
|
|
inline |
◆ GetMass()
G4double G4NeutronHPProduct::GetMass |
( |
| ) |
|
|
inline |
◆ GetMassCode()
G4double G4NeutronHPProduct::GetMassCode |
( |
| ) |
|
|
inline |
◆ GetMeanYield()
◆ GetNeutron()
◆ GetQValue()
G4double G4NeutronHPProduct::GetQValue |
( |
| ) |
|
|
inline |
◆ GetTarget()
◆ Init()
void G4NeutronHPProduct::Init |
( |
std::ifstream & |
aDataFile | ) |
|
|
inline |
Definition at line 67 of file G4NeutronHPProduct.hh.
68 {
69 aDataFile >> theMassCode>>theMass>>theIsomerFlag>>theDistLaw
70 >> theGroundStateQValue>>theActualStateQValue;
71 theGroundStateQValue*= CLHEP::eV;
72 theActualStateQValue*= CLHEP::eV;
73 theYield.
Init(aDataFile, CLHEP::eV);
74 if(theDistLaw==0)
75 {
76
78 }
79 else if(theDistLaw == 1)
80 {
81
83 }
84 else if(theDistLaw == 2)
85 {
86
88 }
89 else if(theDistLaw == 3)
90 {
91
93 }
94 else if(theDistLaw == 4)
95 {
96
97
99
100
101
102 delete theDist;
103 theDist = 0;
104 }
105 else if(theDistLaw == 5)
106 {
107
108 }
109 else if(theDistLaw == 6)
110 {
111
113 }
114 else if(theDistLaw == 7)
115 {
116
118 }
119 else
120 {
121 throw G4HadronicException(__FILE__, __LINE__,
"distribution law unknown to G4NeutronHPProduct");
122 }
123 if(theDist!=0)
124 {
125 theDist->
SetQValue(theActualStateQValue);
126 theDist->
Init(aDataFile);
127 }
128 }
void Init(std::ifstream &aDataFile, G4int total, G4double ux=1., G4double uy=1.)
virtual void Init(std::ifstream &aDataFile)=0
void SetQValue(G4double aValue)
Referenced by G4NeutronHPEnAngCorrelation::Init().
◆ MeanEnergyOfThisInteraction()
G4double G4NeutronHPProduct::MeanEnergyOfThisInteraction |
( |
| ) |
|
|
inline |
◆ Sample()
Definition at line 42 of file G4NeutronHPProduct.cc.
43{
44 if(theDist == 0) { return 0; }
48 multi =
G4int(mean+0.0001);
49
50
51 if ( theMassCode == 0 )
52 {
53 if (
G4int ( mean ) == mean )
54 {
56 }
57 else
58 {
60 }
61 }
65
66
67 theCurrentMultiplicity =
static_cast<G4int>(mean);
70 for(i=0;i<multi;i++)
71 {
72 tmp = theDist->
Sample(anEnergy, theMassCode, theMass);
73 if(tmp != 0) { result->push_back(tmp); }
74 }
75 if(multi == 0)
76 {
77 tmp = theDist->
Sample(anEnergy, theMassCode, theMass);
78 delete tmp;
79 }
80
81
82
83
84
85
86
87
88
89 return result;
90}
G4long G4Poisson(G4double mean)
std::vector< G4ReactionProduct * > G4ReactionProductVector
virtual G4ReactionProduct * Sample(G4double anEnergy, G4double massCode, G4double mass)=0
void SetNeutron(G4ReactionProduct *aNeutron)
void SetTarget(G4ReactionProduct *aTarget)
virtual void ClearHistories()
Referenced by G4NeutronHPEnAngCorrelation::Sample(), and G4NeutronHPEnAngCorrelation::SampleOne().
◆ SetNeutron()
◆ SetTarget()
The documentation for this class was generated from the following files: