42#define G4hhElastic_h 1
320 G4double sl, sh,
ds, rAl, rAh, drA, rBl, rBh, drB, bql, bqh, dbq, bQl, bQh, dbQ, cIl, cIh, dcI;
329 delete theDynamicParticle;
375 ds = (sCMS - sl)/(sh - sl);
397 this->
SetRA(rAl+drA*
ds,0.173,0.316);
398 this->
SetRB(rBl+drB*
ds,0.173,0.316);
447 ds = (sCMS - sl)/(sh - sl);
469 this->
SetRA(rAl+drA*
ds,0.173,0.316);
470 this->
SetRB(rBl+drB*
ds,0.173,0.173);
572 G4complex res = exp13 + exp14 + exp23 + exp24;
635 dsdt *= real(F1)*real(F1) + imag(F1)*imag(F1);
755 dsdt *= real(F123)*real(F123) + imag(F123)*imag(F123);
850 if(
B*
B-4.*
A*
C < 1.e-6 )
fBQ = std::abs(-
B/2./
A);
851 else if (
B < 0.)
fBQ = std::abs( ( -
B - std::sqrt(
B*
B-4.*
A*
C) )/2./
A);
852 else fBQ = std::abs( ( -
B + std::sqrt(
B*
B-4.*
A*
C) )/2./
A);
978 q += 2*b*b*b/a/a/a/27.;
1000 G4cout<<
"re_x1 = "<<real(x1)<<
"; re_x2 = "<<real(x2)<<
"; re_x3 = "<<real(x3)<<
G4endl;
1001 G4cout<<
"im_x1 = "<<imag(x1)<<
"; im_x2 = "<<imag(x2)<<
"; im_x3 = "<<imag(x3)<<
G4endl;
1007 if( r1 <= 1. && r1 >= 0. )
fBQ = r1;
1008 else if( r2 <= 1. && r2 >= 0. )
fBQ = r2;
1009 else if( r3 <= 1. && r3 >= 0. )
fBQ = r3;
1049 dsdt *= real(F1)*real(F1) + imag(F1)*imag(F1);
1092 dsdt *= real(F1)*real(F1) + imag(F1)*imag(F1);
1135 dsdt *= real(F1)*real(F1) + imag(F1)*imag(F1);
1153 dsdt *= real(F1)*real(F1) + imag(F1)*imag(F1);
G4double C(G4double temp)
G4double B(G4double temperature)
G4double D(G4double temp)
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
G4double G4Log(G4double x)
G4ThreeVector G4ParticleMomentum
static constexpr double L
static constexpr double s
std::complex< G4double > G4complex
G4GLOB_DLL std::ostream G4cout
const G4ParticleDefinition * GetDefinition() const
G4double GetHadronNucleonXscNS(const G4DynamicParticle *dp, const G4ParticleDefinition *p)
static G4KaonMinus * KaonMinus()
static G4KaonPlus * KaonPlus()
static G4Neutron * Neutron()
static G4PionMinus * PionMinus()
static G4PionPlus * PionPlus()
static G4Proton * Proton()
void SetImCof(G4double a)
void SetRA(G4double rn, G4double pq, G4double pQ)
G4PhysicsLogVector * fEnergyVector
G4double GetdsdtF1qQgG(G4double s, G4double q)
G4ParticleDefinition * theNeutron
G4complex GetF2(G4double qp)
G4complex GetF3(G4double qp)
G4ParticleDefinition * fProjectile
virtual G4bool IsApplicable(const G4HadProjectile &, G4Nucleus &)
G4double GetdsdtF123(G4double q)
G4complex GetF1(G4double qp)
G4ParticleDefinition * fTarget
G4double lowEnergyRecoilLimit
void SetCofF2(G4double f)
G4ParticleDefinition * thePionPlus
void CalculateBqQ13(G4double b)
G4double lowEnergyLimitHE
G4double SampleBisectionalT(const G4ParticleDefinition *p, G4double plab)
std::vector< G4PhysicsTable * > fBankT
void SetSpp(G4double spp)
G4ParticleDefinition * thePionMinus
static const G4double thePiKaNuclData[8][6]
void CalculateBqQ12(G4double b)
G4ParticleDefinition * theProton
G4complex GetF2qQgG(G4double qp)
void BuildTableTest(G4ParticleDefinition *target, G4ParticleDefinition *projectile, G4double plab)
G4double GetdsdtF12(G4double s, G4double q)
void SetLambda(G4double L)
G4complex GetF1qQgG(G4double qp)
G4double SampleInvariantT(const G4ParticleDefinition *p, G4double plab, G4int, G4int)
G4double GetdsdtF12qQgG(G4double s, G4double q)
G4complex GetF3qQgG(G4double qp)
void CalculateBqQ123(G4double b)
G4double GetdsdtF1(G4double s, G4double q)
G4HadronNucleonXsc * fHadrNuclXsc
void SetAlphaP(G4double a)
void SetParametersCMS(G4double plab)
G4double lowestEnergyLimit
void SetRB(G4double rn, G4double pq, G4double pQ)
G4double GetdsdtF123qQgG(G4double q)
void CalculateBQ(G4double b)
G4double SampleTest(G4double tMin)
G4double GetdsdtF13qQG(G4double s, G4double q)
void BuildTableT(G4ParticleDefinition *target, G4ParticleDefinition *projectile)
void SetCofF3(G4double f)
void SetSigmaTot(G4double stot)
G4double GetTransfer(G4int iMomentum, G4int iTransfer, G4double position)
G4double GetOpticalRatio()
static const G4double theNuclNuclData[19][6]
G4double GetExpRatioF123(G4double s, G4double q)
static constexpr double proton_mass_c2
static constexpr double GeV
static constexpr double MeV
static constexpr double hbarc
static constexpr double pi