G4ElasticData Class Reference

#include <G4ElasticHadrNucleusHE.hh>


Public Member Functions

 G4ElasticData (const G4ParticleDefinition *h, G4int Z, G4double A, G4double *eGeV)
 ~G4ElasticData ()
const G4ParticleDefinitionHadron ()

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]


Detailed Description

Definition at line 69 of file G4ElasticHadrNucleusHE.hh.


Constructor & Destructor Documentation

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]

Definition at line 76 of file G4ElasticHadrNucleusHE.hh.

00076 {}


Member Function Documentation

const G4ParticleDefinition* G4ElasticData::Hadron (  )  [inline]

Definition at line 78 of file G4ElasticHadrNucleusHE.hh.

00078 {return hadr;}


Field Documentation

G4double G4ElasticData::Aeff

Definition at line 90 of file G4ElasticHadrNucleusHE.hh.

Referenced by G4ElasticHadrNucleusHE::HadronNucleusQ2_2().

G4int G4ElasticData::AtomicWeight

Definition at line 89 of file G4ElasticHadrNucleusHE.hh.

Referenced by G4ElasticData().

G4int G4ElasticData::dnkE[NENERGY]

Definition at line 96 of file G4ElasticHadrNucleusHE.hh.

Referenced by G4ElasticData(), and G4ElasticHadrNucleusHE::HadronNucleusQ2_2().

G4double G4ElasticData::limitQ2

Definition at line 91 of file G4ElasticHadrNucleusHE.hh.

Referenced by G4ElasticData().

G4double G4ElasticData::mass2GeV2

Definition at line 93 of file G4ElasticHadrNucleusHE.hh.

Referenced by G4ElasticData(), and G4ElasticHadrNucleusHE::SampleInvariantT().

G4double G4ElasticData::massA

Definition at line 94 of file G4ElasticHadrNucleusHE.hh.

Referenced by G4ElasticData(), and G4ElasticHadrNucleusHE::SampleInvariantT().

G4double G4ElasticData::massA2

Definition at line 95 of file G4ElasticHadrNucleusHE.hh.

Referenced by G4ElasticData(), and G4ElasticHadrNucleusHE::SampleInvariantT().

G4double G4ElasticData::massGeV

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().

G4double G4ElasticData::Pnucl

Definition at line 90 of file G4ElasticHadrNucleusHE.hh.

Referenced by G4ElasticHadrNucleusHE::HadronNucleusQ2_2().

G4double G4ElasticData::R1

Definition at line 90 of file G4ElasticHadrNucleusHE.hh.

Referenced by G4ElasticData(), and G4ElasticHadrNucleusHE::HadronNucleusQ2_2().

G4double G4ElasticData::R2

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().

G4double G4ElasticData::TableQ2[ONQ2]

Definition at line 100 of file G4ElasticHadrNucleusHE.hh.

Referenced by G4ElasticData(), and G4ElasticHadrNucleusHE::HadronNucleusQ2_2().


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:51:50 2013 for Geant4 by  doxygen 1.4.7