55 outFile <<
"G4ElNucleusSFcs provides the inelastic\n"
56 <<
"cross section for e- and e+ interactions with nuclei according to the structure function approach."
66 return (
Z > 0 && Z < 120 && eKin > thTkin );
79 if( ratio > 0. ) xsc /= ratio;
92 if (
Z == 1 &&
A == 1 )
return 1.51;
93 else if (
Z == 1 &&
A == 2 )
return 0.33;
94 else if (
Z == 1 &&
A == 3 )
return 0.27;
95 else if (
Z == 2 &&
A == 4 )
return 1.81;
96 else if (
Z == 6 &&
A == 12 )
return 2.26;
97 else if (
Z == 7 &&
A == 14 )
return 2.47;
98 else if (
Z == 8 &&
A == 16 )
return 2.61;
99 else if (
Z == 13 &&
A == 27 )
return 2.57;
100 else if (
Z == 14 &&
A == 28 )
return 2.49;
101 else if (
Z == 18 &&
A == 40 )
return 2.72;
102 else if (
Z == 22 &&
A == 48 )
return 2.71;
103 else if (
Z == 26 &&
A == 56 )
return 2.79;
104 else if (
Z == 29 &&
A == 64 )
return 2.78;
105 else if (
Z == 32 &&
A == 73 )
return 2.87;
106 else if (
Z == 42 &&
A == 96 )
return 3.02;
107 else if (
Z == 46 &&
A == 106 )
return 3.02;
108 else if (
Z == 47 &&
A == 108 )
return 2.99;
109 else if (
Z == 48 &&
A == 112 )
return 3.00;
110 else if (
Z == 74 &&
A == 184 )
return 3.44;
111 else if (
Z == 79 &&
A == 200 )
return 3.49;
112 else if (
Z == 82 &&
A == 207 )
return 3.48;
113 else if (
Z == 92 &&
A == 238 )
return 3.88;
116 G4int it(0), iMax(19);
119 for ( it = 0; it < iMax; ++it )
if ( zz <=
fZZ[it] )
break;
121 if ( it == 0 )
return fRR[0];
122 else if( it == iMax )
return fRR[iMax-1];
130 if( x1 >= x2 )
return fRR[it];
134 ratio = y1 + ( zz - x1 )*
angle;
156 2., 6., 7., 8., 13., 14., 18., 22., 26., 29.,
157 32., 42., 46., 47., 48., 74., 79., 82., 92.
164 1.81, 2.26, 2.47, 2.61, 2.57, 2.49, 2.72, 2.71, 2.79, 2.78,
165 2.87, 3.02, 3.02, 2.99, 3., 3.44, 3.49, 3.48, 2.88
G4_DECLARE_XS_FACTORY(G4ElNucleusSFcs)
static const G4double angle[DIMMOTT]
G4double GetKineticEnergy() const
virtual G4double GetIsoCrossSection(const G4DynamicParticle *, G4int Z, G4int A, const G4Isotope *iso=nullptr, const G4Element *elm=nullptr, const G4Material *mat=nullptr)
virtual void CrossSectionDescription(std::ostream &) const
virtual G4bool IsElementApplicable(const G4DynamicParticle *, G4int Z, const G4Material *)
G4double ThresholdEnergy()
virtual ~G4ElNucleusSFcs()
static const G4double fRR[19]
G4double GetRatio(G4int Z, G4int A)
G4ElectroNuclearCrossSection * fCHIPScs
static const G4double fZZ[19]
virtual G4double GetElementCrossSection(const G4DynamicParticle *, G4int Z, const G4Material *mat)
static constexpr double MeV
static const G4double AA[5]