45 #ifndef G4ElasticHadrNucleusHE_h
46 #define G4ElasticHadrNucleusHE_h 1
242 return c1+(p-p1)*(c2-c1)/(p2-p1);
256 if(i == n) i = n - 1;
272 if ( numN >= numM && numN <= 240)
return SetBinom[numN][numM];
static G4ElasticData * SetOfElasticData[NHADRONS][ZMAX]
virtual ~G4ElasticHadrNucleusHE()
void DefineNucleusParameters(G4double A)
G4double GetFt(G4double Q2)
virtual G4double SampleInvariantT(const G4ParticleDefinition *p, G4double plab, G4int Z, G4int A)
G4int HadronType[NHADRONS]
static const G4int NHADRONS
const G4ParticleDefinition * hadr
G4ElasticData & operator=(const G4ElasticData &right)
G4double HadrNucDifferCrSec(G4int Z, G4int Nucleus, G4double Q2)
static const G4int NENERGY
G4double GetQ2_2(G4int N, G4double *Q, G4double *F, G4double R)
G4ElasticHadrNucleusHE & operator=(const G4ElasticHadrNucleusHE &right)
void InterpolateHN(G4int n, const G4double EnP[], const G4double C0P[], const G4double C1P[], const G4double B0P[], const G4double B1P[])
static constexpr double m
G4int HadronType1[NHADRONS]
G4double GetDistrFun(G4double Q2)
G4int HadronCode[NHADRONS]
G4double TableCrossSec[NQTABLE]
G4double HadronProtonQ2(const G4ParticleDefinition *aHadron, G4double inLabMom)
G4double GetBinomCof(G4int n, G4int m)
double A(double temperature)
G4ElasticData(const G4ParticleDefinition *h, G4int Z, G4double A, G4double *eGeV)
G4double SetBinom[240][240]
G4double GetLightFq2(G4int Z, G4int A, G4double Q)
static const G4int NQTABLE
G4double HadronNucleusQ2_2(G4ElasticData *pElD, G4int Z, G4double plabGeV, G4double tmax)
void GetKinematics(const G4ParticleDefinition *aHadron, G4double MomentumH)
static G4Mutex eldata_m[NHADRONS][ZMAX]
G4double LineInterpol(G4double p0, G4double p2, G4double c1, G4double c2, G4double p)
G4double LowEdgeEnergy[NENERGY]
G4ElasticHadrNucleusHE(const G4String &name="hElasticGlauber")
G4double GetQ2(G4double Ran)
G4NistManager * nistManager
void DefineHadronValues(G4int Z)
virtual void ModelDescription(std::ostream &) const
const G4ParticleDefinition * Hadron()
G4double SampleT(const G4ParticleDefinition *p, G4double plab, G4int Z, G4int A)
G4double GetHeavyFq2(G4int Z, G4int Nucleus, G4double *LineFq2)
G4double lowestEnergyLimit