47 s200keV(0.), s1keV(0.),
50 cmin(0.), clow(0.), chigh(0.)
56 G4cout <<
" G4RToEConvForGamma::G4RToEConvForGamma() ";
87 for (
size_t ibin=0; ibin<size_t(
TotBin); ibin++) {
89 for (
size_t iel=0; iel<size_t(NumEl); iel++) {
90 G4int IndEl = (*elementVector)[iel]->GetIndex();
91 SIGMA += atomicNumDensityVector[iel]*
92 (*((*aCrossSectionTable)[IndEl]))[ibin];
95 absorptionLengthVector->
PutValue(ibin, 5./SIGMA);
96 if (absorptionLengthMax < 5./SIGMA ) absorptionLengthMax = 5./SIGMA;
116 if(std::abs(AtomicNumber-
Z)>0.1) {
122 s200keV = (0.2651-0.1501*Zlog+0.02283*Zlogsquare)*Zsquare;
123 tmin = (0.552+218.5/Z+557.17/Zsquare)*
MeV;
124 smin = (0.01239+0.005585*Zlog-0.000923*Zlogsquare)*std::exp(1.5*Zlog);
126 tlow = 0.2*std::exp(-7.355/std::sqrt(Z))*
MeV;
128 s1keV = 300.*Zsquare;
131 chigh=(7.55e-5-0.0542e-5*
Z)*Zsquare*Z/std::log(t100MeV/
tmin);
136 if ( KineticEnergy<
tlow ) {
137 if(KineticEnergy<t1keV) xs =
slow*std::exp(
clow*std::log(
tlow/t1keV));
138 else xs =
slow*std::exp(
clow*std::log(
tlow/KineticEnergy));
140 }
else if ( KineticEnergy<t200keV ) {
142 * std::exp(0.042*
Z*std::log(t200keV/KineticEnergy)*std::log(t200keV/KineticEnergy));
144 }
else if( KineticEnergy<
tmin ){
146 * std::exp(
cmin*std::log(
tmin/KineticEnergy)*std::log(
tmin/KineticEnergy));
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
static const G4double tlow
static G4ParticleTable * GetParticleTable()
static constexpr double MeV
static constexpr double keV
const G4ElementVector * GetElementVector() const
G4LossTable * theLossTable
G4double ComputeCrossSection(G4double AtomicNumber, G4double KineticEnergy)
virtual ~G4RToEConvForGamma()
std::vector< G4Element * > G4ElementVector
static constexpr double barn
G4int GetVerboseLevel() const
void BuildAbsorptionLengthVector(const G4Material *aMaterial, G4RangeVector *rangeVector)
G4GLOB_DLL std::ostream G4cout
const G4ParticleDefinition * theParticle
const G4double * GetAtomicNumDensityVector() const
void PutValue(size_t index, G4double theValue)
size_t GetNumberOfElements() const