41#ifndef G4ElasticHadrNucleusHE_h
42#define G4ElasticHadrNucleusHE_h 1
120 const std::vector<G4double>& F,
G4double rand);
142 void WriteLine(std::ofstream&, std::vector<G4double>&);
202#ifdef G4MULTITHREADED
215 return c1+(p-p1)*(c2-c1)/(p2-p1);
223 return (numN >= numM && numN < 240) ?
fBinom[numN][numM] : 0.0;
static const G4int NHADRONS
static const G4int NENERGY
static constexpr double m
G4ElasticData & operator=(const G4ElasticData &right)
G4ElasticData(const G4ParticleDefinition *h, G4int Z, G4int A, const G4double *e)
std::vector< G4double > fCumProb[NENERGY]
void DefineNucleusParameters(G4int A)
G4ElasticData(const G4ElasticData &)
void FillData(const G4ParticleDefinition *p, G4int idx, G4int Z)
~G4ElasticHadrNucleusHE() override
void InterpolateHN(G4int n, const G4double EnP[], const G4double C0P[], const G4double C1P[], const G4double B0P[], const G4double B1P[])
G4double LineInterpol(G4double p0, G4double p2, G4double c1, G4double c2, G4double p)
G4NistManager * nistManager
static const G4int fHadronType1[NHADRONS]
static G4bool fRetrieveFromFile
G4ElasticHadrNucleusHE(const G4String &name="hElasticGlauber")
G4double GetQ2_2(G4int N, G4int Nmax, const std::vector< G4double > &F, G4double rand)
G4double HadronProtonQ2(G4double plab, G4double tmax)
static const G4int fHadronType[NHADRONS]
static G4double fEnergy[NENERGY]
static const G4int fHadronCode[NHADRONS]
G4double HadrNucDifferCrSec(G4int A, G4double Q2)
void ModelDescription(std::ostream &) const override
void InitialiseModel() override
void DefineHadronValues(G4int Z)
G4double SampleInvariantT(const G4ParticleDefinition *p, G4double plab, G4int Z, G4int A) override
G4double GetFt(G4double Q2)
static G4double fBinom[240][240]
void InFileName(std::ostringstream &, const G4ParticleDefinition *p, G4int Z)
void WriteLine(std::ofstream &, std::vector< G4double > &)
void OutFileName(std::ostringstream &, const G4ParticleDefinition *p, G4int Z)
G4double GetLightFq2(G4int Z, G4int A, G4double Q)
G4ElasticHadrNucleusHE & operator=(const G4ElasticHadrNucleusHE &right)
G4double HadronNucleusQ2_2(const G4ElasticData *pElD, G4double plabGeV, G4double tmax)
static G4double fLowEdgeEnergy[NENERGY]
G4double GetBinomCof(G4int n, G4int m)
G4ElasticHadrNucleusHE(const G4ElasticHadrNucleusHE &)
static G4bool fStoreToFile
static G4ElasticData * fElasticData[NHADRONS][ZMAX]
static G4double fLineF[ONQ2]
G4bool ReadLine(std::ifstream &, std::vector< G4double > &)
const char * name(G4int ptype)