#include <G4ElasticHadrNucleusHE.hh>
Public Member Functions | |
G4ElasticData (const G4ParticleDefinition *h, G4int Z, G4double A, G4double *eGeV) | |
~G4ElasticData () | |
const G4ParticleDefinition * | Hadron () |
Data Fields | |
G4int | AtomicWeight |
G4double | R1 |
G4double | R2 |
G4double | Pnucl |
G4double | Aeff |
G4double | limitQ2 |
G4double | massGeV |
G4double | mass2GeV2 |
G4double | massA |
G4double | massA2 |
G4int | dnkE [NENERGY] |
G4double | maxQ2 [NENERGY] |
G4double | TableQ2 [ONQ2] |
G4double | TableCrossSec [NQTABLE] |
Definition at line 69 of file G4ElasticHadrNucleusHE.hh.
G4ElasticData::G4ElasticData | ( | const G4ParticleDefinition * | h, | |
G4int | Z, | |||
G4double | A, | |||
G4double * | eGeV | |||
) |
Definition at line 63 of file G4ElasticHadrNucleusHE.cc.
References AtomicWeight, dnkE, G4ParticleDefinition::GetPDGMass(), limitQ2, mass2GeV2, massA, massA2, massGeV, maxQ2, G4Proton::Proton(), R1, TableCrossSec, and TableQ2.
00065 { 00066 hadr = p; 00067 massGeV = p->GetPDGMass()/GeV; 00068 mass2GeV2= massGeV*massGeV; 00069 AtomicWeight = G4int(AWeight + 0.5); 00070 00071 DefineNucleusParameters(AWeight); 00072 00073 limitQ2 = 35./(R1*R1); // (GeV/c)^2 00074 00075 G4double dQ2 = limitQ2/(ONQ2 - 1.); 00076 00077 TableQ2[0] = 0.0; 00078 00079 for(G4int ii = 1; ii < ONQ2; ii++) 00080 { 00081 TableQ2[ii] = TableQ2[ii-1]+dQ2; 00082 } 00083 00084 massA = AWeight*amu_c2/GeV; 00085 massA2 = massA*massA; 00086 00087 for(G4int kk = 0; kk < NENERGY; kk++) 00088 { 00089 dnkE[kk] = 0; 00090 G4double elab = eGeV[kk] + massGeV; 00091 G4double plab2= eGeV[kk]*(eGeV[kk] + 2.0*massGeV); 00092 G4double Q2m = 4.0*plab2*massA2/(mass2GeV2 + massA2 + 2.*massA2*elab); 00093 00094 if(Z == 1 && p == G4Proton::Proton()) Q2m *= 0.5; 00095 00096 maxQ2[kk] = std::min(limitQ2, Q2m); 00097 TableCrossSec[ONQ2*kk] = 0.0; 00098 00099 // G4cout<<" kk eGeV[kk] "<<kk<<" "<<eGeV[kk]<<G4endl; 00100 } 00101 }
G4ElasticData::~G4ElasticData | ( | ) | [inline] |
const G4ParticleDefinition* G4ElasticData::Hadron | ( | ) | [inline] |
Definition at line 90 of file G4ElasticHadrNucleusHE.hh.
Referenced by G4ElasticHadrNucleusHE::HadronNucleusQ2_2().
G4int G4ElasticData::dnkE[NENERGY] |
Definition at line 96 of file G4ElasticHadrNucleusHE.hh.
Referenced by G4ElasticData(), and G4ElasticHadrNucleusHE::HadronNucleusQ2_2().
Definition at line 93 of file G4ElasticHadrNucleusHE.hh.
Referenced by G4ElasticData(), and G4ElasticHadrNucleusHE::SampleInvariantT().
Definition at line 94 of file G4ElasticHadrNucleusHE.hh.
Referenced by G4ElasticData(), and G4ElasticHadrNucleusHE::SampleInvariantT().
Definition at line 95 of file G4ElasticHadrNucleusHE.hh.
Referenced by G4ElasticData(), and G4ElasticHadrNucleusHE::SampleInvariantT().
Definition at line 92 of file G4ElasticHadrNucleusHE.hh.
Referenced by G4ElasticData(), and G4ElasticHadrNucleusHE::SampleInvariantT().
G4double G4ElasticData::maxQ2[NENERGY] |
Definition at line 97 of file G4ElasticHadrNucleusHE.hh.
Referenced by G4ElasticData(), and G4ElasticHadrNucleusHE::HadronNucleusQ2_2().
Definition at line 90 of file G4ElasticHadrNucleusHE.hh.
Referenced by G4ElasticHadrNucleusHE::HadronNucleusQ2_2().
Definition at line 90 of file G4ElasticHadrNucleusHE.hh.
Referenced by G4ElasticData(), and G4ElasticHadrNucleusHE::HadronNucleusQ2_2().
Definition at line 90 of file G4ElasticHadrNucleusHE.hh.
Referenced by G4ElasticHadrNucleusHE::HadronNucleusQ2_2().
G4double G4ElasticData::TableCrossSec[NQTABLE] |
Definition at line 101 of file G4ElasticHadrNucleusHE.hh.
Referenced by G4ElasticData(), and G4ElasticHadrNucleusHE::HadronNucleusQ2_2().
Definition at line 100 of file G4ElasticHadrNucleusHE.hh.
Referenced by G4ElasticData(), and G4ElasticHadrNucleusHE::HadronNucleusQ2_2().