#include <G4RToEConvForGamma.hh>
Definition at line 43 of file G4RToEConvForGamma.hh.
◆ G4CrossSectionTable
◆ G4RToEConvForGamma()
G4RToEConvForGamma::G4RToEConvForGamma |
( |
| ) |
|
Definition at line 41 of file G4RToEConvForGamma.cc.
43{
46 {
47#ifdef G4VERBOSE
49 {
50 G4cout <<
" G4RToEConvForGamma::G4RToEConvForGamma() - ";
52 }
53#endif
54 }
55}
G4GLOB_DLL std::ostream G4cout
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
static G4ParticleTable * GetParticleTable()
G4int GetVerboseLevel() const
G4VRangeToEnergyConverter()
const G4ParticleDefinition * theParticle
◆ ~G4RToEConvForGamma()
G4RToEConvForGamma::~G4RToEConvForGamma |
( |
| ) |
|
|
virtual |
◆ BuildAbsorptionLengthVector()
Definition at line 64 of file G4RToEConvForGamma.cc.
67{
68
69
70
71
76 const G4double* atomicNumDensityVector
78
79
82 for (std::size_t ibin=0; ibin<size_t(
TotBin); ++ibin)
83 {
85 for (std::size_t iel=0; iel<size_t(NumEl); ++iel)
86 {
87 G4int IndEl = (*elementVector)[iel]->GetIndex();
88 SIGMA += atomicNumDensityVector[iel]
89 * (*((*aCrossSectionTable)[IndEl]))[ibin];
90 }
91
92 absorptionLengthVector->PutValue(ibin, 5./SIGMA);
93 if (absorptionLengthMax < 5./SIGMA )
94 absorptionLengthMax = 5./SIGMA;
95 }
96}
std::vector< G4Element * > G4ElementVector
const G4ElementVector * GetElementVector() const
size_t GetNumberOfElements() const
const G4double * GetAtomicNumDensityVector() const
G4LossTable G4CrossSectionTable
G4LossTable * theLossTable
Referenced by BuildRangeVector().
◆ BuildRangeVector()
◆ ComputeCrossSection()
Definition at line 101 of file G4RToEConvForGamma.cc.
103{
104
105
106
107
111
112
113 if(std::abs(AtomicNumber-
Z)>0.1)
114 {
119
120 s200keV = (0.2651-0.1501*Zlog+0.02283*Zlogsquare)*Zsquare;
121 tmin = (0.552+218.5/
Z+557.17/Zsquare)*MeV;
122 smin = (0.01239+0.005585*Zlog-0.000923*Zlogsquare)*std::exp(1.5*Zlog);
124 /(std::log(
tmin/t200keV)*std::log(
tmin/t200keV));
125 tlow = 0.2*std::exp(-7.355/std::sqrt(
Z))*MeV;
127 * std::exp(0.042*
Z*std::log(t200keV/
tlow)*std::log(t200keV/
tlow));
128 s1keV = 300.*Zsquare;
130 chigh = (7.55e-5-0.0542e-5*
Z)*Zsquare*
Z/std::log(t100MeV/
tmin);
131 }
132
133
135 if ( KineticEnergy<
tlow )
136 {
137 if(KineticEnergy<t1keV) xs =
slow*std::exp(
clow*std::log(
tlow/t1keV));
138 else xs =
slow*std::exp(
clow*std::log(
tlow/KineticEnergy));
139 }
140 else if ( KineticEnergy<t200keV )
141 {
143 * std::exp(0.042*
Z*std::log(t200keV/KineticEnergy)
144 *std::log(t200keV/KineticEnergy));
145 }
146 else if( KineticEnergy<
tmin )
147 {
149 * std::exp(
cmin*std::log(
tmin/KineticEnergy)
150 *std::log(
tmin/KineticEnergy));
151 }
152 else
153 {
155 }
156 return xs * barn;
157}
Referenced by ComputeLoss().
◆ ComputeLoss()
◆ chigh
G4double G4RToEConvForGamma::chigh = 0.0 |
|
protected |
◆ clow
◆ cmin
◆ s1keV
G4double G4RToEConvForGamma::s1keV = 0.0 |
|
protected |
◆ s200keV
G4double G4RToEConvForGamma::s200keV = 0.0 |
|
protected |
◆ slow
◆ smin
◆ tlow
◆ tmin
The documentation for this class was generated from the following files: