95 G4double normalizedEnergy = (energyIncident/
keV)/(lamda*l1BindingEnergy);
111 if ( (zTarget>=41 && zTarget<=50) && (normalizedEnergy>=0.013 && normalizedEnergy<=1) )
128 else if ( (zTarget>=51 && zTarget<=60) && (normalizedEnergy>=0.012 && normalizedEnergy<=0.95))
145 else if ( (zTarget>=61 && zTarget<=70) && (normalizedEnergy>=0.01 && normalizedEnergy<=0.6) )
161 else if ( (zTarget>=71 && zTarget<=80) && (normalizedEnergy>=0.01 && normalizedEnergy<=0.45) )
177 else if ( (zTarget>=81 && zTarget<=92) && (normalizedEnergy>=0.008 && normalizedEnergy<=0.3) )
196 G4double analyticalFunction = a0 + (a1*
x)+(a2*x*x)+(a3*std::pow(x,3))+(a4*std::pow(x,4))+(a5*std::pow(x,5))+(a6*std::pow(x,6))+
197 (a7*std::pow(x,7))+(a8*std::pow(x,8))+(a9*std::pow(x,9));
201 G4double L1crossSection =
G4Exp(analyticalFunction)/(l1BindingEnergy*l1BindingEnergy);
204 if (L1crossSection >= 0) {
205 return L1crossSection *
barn;
242 G4double normalizedEnergy = (energyIncident/
keV)/(lamda*l2BindingEnergy);
253 if ( (zTarget>=41 && zTarget<=50) && (normalizedEnergy>=0.015 && normalizedEnergy<=1.5))
263 else if ( (zTarget>=51 && zTarget<=60) && (normalizedEnergy>=0.012 && normalizedEnergy<=1.0))
274 else if ( (zTarget>=61 && zTarget<=70) && (normalizedEnergy>=0.01 && normalizedEnergy<=0.65))
283 else if ( (zTarget>=71 && zTarget<=80) && (normalizedEnergy>=0.01 && normalizedEnergy<=0.47))
292 else if ( (zTarget>=81 && zTarget<=92) && (normalizedEnergy>=0.01 && normalizedEnergy<=0.35))
303 G4double analyticalFunction = a0 + (a1*
x)+(a2*x*x)+(a3*std::pow(x,3))+(a4*std::pow(x,4))+(a5*std::pow(x,5));
306 L2crossSection =
G4Exp(analyticalFunction)/(l2BindingEnergy*l2BindingEnergy);
310 if (L2crossSection >= 0) {
311 return L2crossSection *
barn;
347 G4double normalizedEnergy = (energyIncident/
keV)/(lamda*l3BindingEnergy);
359 if ( (zTarget>=41 && zTarget<=50 ) && (normalizedEnergy>=0.015 && normalizedEnergy<=1.5))
370 else if ( (zTarget>=51 && zTarget<=60 ) && (normalizedEnergy>=0.013 && normalizedEnergy<=1.1))
379 else if ( (zTarget>=61 && zTarget<=70 ) && (normalizedEnergy>=0.01 && normalizedEnergy<=0.67))
387 else if ( (zTarget>=71 && zTarget<=80 ) && (normalizedEnergy>=0.013 && normalizedEnergy<=0.5))
395 else if ( (zTarget>=81 && zTarget<=92 ) && (normalizedEnergy>=0.01 && normalizedEnergy<=0.35))
406 G4double analyticalFunction = a0 + (a1*
x)+(a2*x*x)+(a3*std::pow(x,3))+(a4*std::pow(x,4))+(a5*std::pow(x,5));
409 L3crossSection =
G4Exp(analyticalFunction)/(l3BindingEnergy*l3BindingEnergy);
412 if (L3crossSection >= 0) {
413 return L3crossSection *
barn;
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
static constexpr double keV
static G4Proton * Proton()
G4double GetPDGMass() const
G4AtomicShell * Shell(G4int Z, size_t shellIndex) const
G4double CalculateL3CrossSection(G4int zTarget, G4double energyIncident)
static constexpr double electron_mass_c2
static constexpr double barn
G4AtomicTransitionManager * transitionManager
static G4AtomicTransitionManager * Instance()
virtual ~G4OrlicLiXsModel()
G4double CalculateL1CrossSection(G4int zTarget, G4double energyIncident)
G4double CalculateL2CrossSection(G4int zTarget, G4double energyIncident)
G4double BindingEnergy() const