80 G4double normalizedEnergy = (energyIncident/keV)/(lamda*l1BindingEnergy);
82 G4double x = std::log(normalizedEnergy);
95 if ( (zTarget>=41 && zTarget<=50) && (normalizedEnergy>=0.013 && normalizedEnergy<=1) )
108 else if ( (zTarget>=51 && zTarget<=60) && (normalizedEnergy>=0.012 && normalizedEnergy<=0.95))
121 else if ( (zTarget>=61 && zTarget<=70) && (normalizedEnergy>=0.01 && normalizedEnergy<=0.6) )
134 else if ( (zTarget>=71 && zTarget<=80) && (normalizedEnergy>=0.01 && normalizedEnergy<=0.45) )
147 else if ( (zTarget>=81 && zTarget<=92) && (normalizedEnergy>=0.008 && normalizedEnergy<=0.3) )
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));
167 G4double L1crossSection =
G4Exp(analyticalFunction)/(l1BindingEnergy*l1BindingEnergy);
169 if (L1crossSection >= 0) {
170 return L1crossSection * barn;
193 G4double lamda = massIncident/electron_mass_c2;
194 G4double normalizedEnergy = (energyIncident/keV)/(lamda*l2BindingEnergy);
195 G4double x = std::log(normalizedEnergy);
204 if ( (zTarget>=41 && zTarget<=50) && (normalizedEnergy>=0.015 && normalizedEnergy<=1.5))
213 else if ( (zTarget>=51 && zTarget<=60) && (normalizedEnergy>=0.012 && normalizedEnergy<=1.0))
222 else if ( (zTarget>=61 && zTarget<=70) && (normalizedEnergy>=0.01 && normalizedEnergy<=0.65))
231 else if ( (zTarget>=71 && zTarget<=80) && (normalizedEnergy>=0.01 && normalizedEnergy<=0.47))
240 else if ( (zTarget>=81 && zTarget<=92) && (normalizedEnergy>=0.01 && normalizedEnergy<=0.35))
251 G4double analyticalFunction =
a0 + (a1*x)+(a2*x*x)+(a3*std::pow(x,3))+
252 (a4*std::pow(x,4))+(a5*std::pow(x,5));
254 L2crossSection =
G4Exp(analyticalFunction)/(l2BindingEnergy*l2BindingEnergy);
256 if (L2crossSection >= 0) {
257 return L2crossSection * barn;
280 G4double lamda = massIncident/electron_mass_c2;
281 G4double normalizedEnergy = (energyIncident/keV)/(lamda*l3BindingEnergy);
282 G4double x = std::log(normalizedEnergy);
291 if ( (zTarget>=41 && zTarget<=50 ) && (normalizedEnergy>=0.015 && normalizedEnergy<=1.5))
301 else if ( (zTarget>=51 && zTarget<=60 ) && (normalizedEnergy>=0.013 && normalizedEnergy<=1.1))
309 else if ( (zTarget>=61 && zTarget<=70 ) && (normalizedEnergy>=0.01 && normalizedEnergy<=0.67))
317 else if ( (zTarget>=71 && zTarget<=80 ) && (normalizedEnergy>=0.013 && normalizedEnergy<=0.5))
325 else if ( (zTarget>=81 && zTarget<=92 ) && (normalizedEnergy>=0.01 && normalizedEnergy<=0.35))
335 G4double analyticalFunction =
a0 + (a1*x)+(a2*x*x)+
336 (a3*std::pow(x,3))+(a4*std::pow(x,4))+(a5*std::pow(x,5));
338 L3crossSection =
G4Exp(analyticalFunction)/(l3BindingEnergy*l3BindingEnergy);
340 if (L3crossSection >= 0) {
341 return L3crossSection * barn;
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
G4double BindingEnergy() const
G4AtomicShell * Shell(G4int Z, size_t shellIndex) const
static G4AtomicTransitionManager * Instance()
G4double CalculateL2CrossSection(G4int zTarget, G4double energyIncident)
G4double CalculateL1CrossSection(G4int zTarget, G4double energyIncident)
G4double CalculateL3CrossSection(G4int zTarget, G4double energyIncident)
virtual ~G4OrlicLiXsModel()
G4double GetPDGMass() const
static G4Proton * Proton()