#include <KokoulinPetrukhinModel.h>
Definition at line 80 of file KokoulinPetrukhinModel.h.
gsl::KokoulinPetrukhinIntegrand::KokoulinPetrukhinIntegrand |
( |
double |
E, |
|
|
double |
Z |
|
) |
| |
gsl::KokoulinPetrukhinIntegrand::~KokoulinPetrukhinIntegrand |
( |
| ) |
|
ROOT::Math::IBaseFunctionMultiDim * gsl::KokoulinPetrukhinIntegrand::Clone |
( |
void |
| ) |
const |
double gsl::KokoulinPetrukhinIntegrand::DoEval |
( |
const double * |
xin | ) |
const |
Definition at line 110 of file KokoulinPetrukhinModel.cxx.
117 if (! (v >0))
return 0;
119 if (! (
fE>0))
return 0;
123 if(p>pmax_v)
return 0;
125 double v2 = TMath::Power(v,2.);
126 double p2 = TMath::Power(p,2.);
128 double a4 = TMath::Power(
kAem,4.);
130 double ZLe2 = TMath::Power(
fZ*
kLe,2.);
131 double Zm13 = TMath::Power(
fZ,-1./3.);
132 double Zm23 = TMath::Power(
fZ,-2./3.);
133 double Z13 = TMath::Power(
fZ,1./3.);
138 double memu2 = me2/mmu2;
139 double memu = me/
mmu;
140 double mume = mmu/
me;
142 double b = 0.5*v2/(1.-v);
143 double xi = (1.-p2) * TMath::Power(0.5*v*mume, 2.) / (1.-v);
148 double FImA = ( (1.+p2)*(1.+3.*b/2.) - (1.+2.*
b)*(1.-p2)/xi ) * TMath::Log(1.+xi);
149 double FImB = xi*(1.-p2-
b) / (1.+xi);
150 double FImC = (1.+2.*
b) * (1.-p2);
151 double Ym = (4. + p2 + 3.*b*(1.+p2)) /
152 ((1.+p2)*(1.5+2.*b)*TMath::Log(3.+xi) + 1. - 1.5*p2);
153 double LmA = (2./3.) * mume * R * Zm23;
154 double LmB = 1. + (2.*me*R *
kSqrtNapierConst * Zm13 * (1+xi) * (1+Ym)) / (
fE*v*(1-p2) );
155 double Lm = TMath::Log(LmA/LmB);
156 double FIm = (FImA+FImB+FImC)*Lm;
161 double FIeA = ( (2.+p2) * (1.+b) + xi*(3.+p2) ) * log(1.+1./xi);
162 double FIeB = (1.-p2-
b) / (1.+xi);
163 double FIeC = 3. + p2;
164 double Ye = (5. - p2 + 4*b*(1+p2)) /
165 (2.*(1.+3.*
b)*TMath::Log(3.+1./xi) - p2 - 2.*b*(2.-p2));
166 double x_Y = (1+xi)*(1+Ye);
167 double LeA = R*Zm13*TMath::Sqrt(x_Y);
169 double LeC = 1.5 * memu * Z13;
170 double LeD = 1 + TMath::Power(LeC,2.)*x_Y;
171 double Le = TMath::Log(LeA/LeB) - 0.5*TMath::Log(LeD);
172 double FIe = (FIeA+FIeB-FIeC)*Le;
174 double d2s_dvdp = a4 * (2./(3.*
pi)) * ZLe2 * ((1.-v)/v) * (FIe + FIm*memu2);
176 double vd2s_dvdp = v*d2s_dvdp;
static const double kSqrtNapierConst
static const double kElectronMass
static const double kElectronMass2
static const double kMuonMass2
static const double kMuonMass
unsigned int gsl::KokoulinPetrukhinIntegrand::NDim |
( |
void |
| ) |
const |
double genie::mueloss::gsl::KokoulinPetrukhinIntegrand::fE |
|
private |
double genie::mueloss::gsl::KokoulinPetrukhinIntegrand::fZ |
|
private |
The documentation for this class was generated from the following files: