70{
71
72 if ( zTarget < 41 )
73 {
74 return 0;
75 }
76
77 G4double l1BindingEnergy = transitionManager->Shell(zTarget,1)->BindingEnergy()/keV;
79
80 G4double normalizedEnergy = (energyIncident/keV)/(lamda*l1BindingEnergy);
81
82 G4double x = std::log(normalizedEnergy);
83
94
95 if ( (zTarget>=41 && zTarget<=50) && (normalizedEnergy>=0.013 && normalizedEnergy<=1) )
96 {
98 a1=-0.187401;
99 a2=-0.943341;
100 a3=-1.47817;
101 a4=-1.282343;
102 a5=-0.386544;
103 a6=-0.037932;
104 a7=0.;
105 a8=0.;
106 a9=0.;
107 }
108 else if ( (zTarget>=51 && zTarget<=60) && (normalizedEnergy>=0.012 && normalizedEnergy<=0.95))
109 {
111 a1=-0.162515;
112 a2=1.035774;
113 a3=3.970908;
114 a4=3.968233;
115 a5=1.655714;
116 a6=0.058885;
117 a7=-0.155743;
118 a8=-0.042228;
119 a9=-0.003371;
120 }
121 else if ( (zTarget>=61 && zTarget<=70) && (normalizedEnergy>=0.01 && normalizedEnergy<=0.6) )
122 {
124 a1=-25.804787;
125 a2=-54.061629;
126 a3=-56.684589;
127 a4=-33.223367;
128 a5=-11.034979;
129 a6=-2.042851;
130 a7=-0.194075;
131 a8=-0.007252;
132 a9=0.;
133 }
134 else if ( (zTarget>=71 && zTarget<=80) && (normalizedEnergy>=0.01 && normalizedEnergy<=0.45) )
135 {
137 a1=6.562907;
138 a2=10.158703;
139 a3=7.432592;
140 a4=2.332036;
141 a5=0.317946;
142 a6=0.014479;
143 a7=0.;
144 a8=0.;
145 a9=0.;
146 }
147 else if ( (zTarget>=81 && zTarget<=92) && (normalizedEnergy>=0.008 && normalizedEnergy<=0.3) )
148 {
150 a1=50.199585;
151 a2=58.281684;
152 a3=34.130538;
153 a4=10.268531;
154 a5=1.525302;
155 a6=0.08835;
156 a7=0.;
157 a8=0.;
158 a9=0.;
159 }
160 else {return 0;}
161
162
163 G4double analyticalFunction =
a0 + (a1*x)+(a2*x*x)+(a3*std::pow(x,3))+
164 (a4*std::pow(x,4))+(a5*std::pow(x,5))+(a6*std::pow(x,6))+
165 (a7*std::pow(x,7))+(a8*std::pow(x,8))+(a9*std::pow(x,9));
166
167 G4double L1crossSection =
G4Exp(analyticalFunction)/(l1BindingEnergy*l1BindingEnergy);
168
169 if (L1crossSection >= 0) {
170 return L1crossSection * barn;
171 }
172 else {return 0;}
173}
G4double G4Exp(G4double initial_x)
Exponential Function double precision.