41#ifndef G4ElasticHadrNucleusHE_h
42#define G4ElasticHadrNucleusHE_h 1
57static const G4int NHADRONS = 26;
58static const G4int ONQ2 = 102;
59static const G4int NENERGY = 24;
60static const G4int ZMAX = 93;
78 void DefineNucleusParameters(
G4int A);
89 std::vector<G4double> fCumProb[NENERGY];
114 void DefineHadronValues(
G4int Z);
120 const std::vector<G4double>& F,
G4double rand);
140 G4bool ReadLine(std::ifstream&, std::vector<G4double>&);
142 void WriteLine(std::ofstream&, std::vector<G4double>&);
157 static const G4int fHadronCode[NHADRONS];
158 static const G4int fHadronType[NHADRONS];
159 static const G4int fHadronType1[NHADRONS];
161 static G4bool fStoreToFile;
162 static G4bool fRetrieveFromFile;
176 G4double HadrTot, HadrSlope, HadrReIm, TotP;
180 G4double BoundaryP[7], BoundaryTL[7], BoundaryTG[7];
183 G4double Slope1, Slope2, Coeff1, Coeff2;
189 G4double R1, R2, Pnucl, Aeff, Q2max;
193 static G4double fLowEdgeEnergy[NENERGY];
198 const char* fDirectory;
202#ifdef G4MULTITHREADED
215 return c1+(p-p1)*(c2-c1)/(p2-p1);
223 return (numN >= numM && numN < 240) ? fBinom[numN][numM] : 0.0;
~G4ElasticHadrNucleusHE() override
void ModelDescription(std::ostream &) const override
void InitialiseModel() override
G4double SampleInvariantT(const G4ParticleDefinition *p, G4double plab, G4int Z, G4int A) override