Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Data Fields
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 python.hepunit::amu_c2, G4ParticleDefinition::GetPDGMass(), python.hepunit::GeV, G4INCL::Math::min(), and G4Proton::Proton().

65 {
66  hadr = p;
67  massGeV = p->GetPDGMass()/GeV;
69  AtomicWeight = G4int(AWeight + 0.5);
70 
71  DefineNucleusParameters(AWeight);
72 
73  limitQ2 = 35./(R1*R1); // (GeV/c)^2
74 
75  G4double dQ2 = limitQ2/(ONQ2 - 1.);
76 
77  TableQ2[0] = 0.0;
78 
79  for(G4int ii = 1; ii < ONQ2; ii++)
80  {
81  TableQ2[ii] = TableQ2[ii-1]+dQ2;
82  }
83 
84  massA = AWeight*amu_c2/GeV;
85  massA2 = massA*massA;
86 
87  for(G4int kk = 0; kk < NENERGY; kk++)
88  {
89  dnkE[kk] = 0;
90  G4double elab = eGeV[kk] + massGeV;
91  G4double plab2= eGeV[kk]*(eGeV[kk] + 2.0*massGeV);
92  G4double Q2m = 4.0*plab2*massA2/(mass2GeV2 + massA2 + 2.*massA2*elab);
93 
94  if(Z == 1 && p == G4Proton::Proton()) Q2m *= 0.5;
95 
96  maxQ2[kk] = std::min(limitQ2, Q2m);
97  TableCrossSec[ONQ2*kk] = 0.0;
98 
99 // G4cout<<" kk eGeV[kk] "<<kk<<" "<<eGeV[kk]<<G4endl;
100  }
101 }
const char * p
Definition: xmltok.h:285
int G4int
Definition: G4Types.hh:78
G4double TableCrossSec[NQTABLE]
G4double maxQ2[NENERGY]
static G4Proton * Proton()
Definition: G4Proton.cc:93
T min(const T t1, const T t2)
brief Return the smallest of the two arguments
G4double TableQ2[ONQ2]
double G4double
Definition: G4Types.hh:76
float amu_c2
Definition: hepunit.py:277
G4ElasticData::~G4ElasticData ( )
inline

Definition at line 76 of file G4ElasticHadrNucleusHE.hh.

76 {}

Member Function Documentation

const G4ParticleDefinition* G4ElasticData::Hadron ( )
inline

Definition at line 78 of file G4ElasticHadrNucleusHE.hh.

78 {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.

G4int G4ElasticData::dnkE[NENERGY]

Definition at line 96 of file G4ElasticHadrNucleusHE.hh.

Referenced by G4ElasticHadrNucleusHE::HadronNucleusQ2_2().

G4double G4ElasticData::limitQ2

Definition at line 91 of file G4ElasticHadrNucleusHE.hh.

G4double G4ElasticData::mass2GeV2

Definition at line 93 of file G4ElasticHadrNucleusHE.hh.

Referenced by G4ElasticHadrNucleusHE::SampleInvariantT().

G4double G4ElasticData::massA

Definition at line 94 of file G4ElasticHadrNucleusHE.hh.

Referenced by G4ElasticHadrNucleusHE::SampleInvariantT().

G4double G4ElasticData::massA2

Definition at line 95 of file G4ElasticHadrNucleusHE.hh.

Referenced by G4ElasticHadrNucleusHE::SampleInvariantT().

G4double G4ElasticData::massGeV

Definition at line 92 of file G4ElasticHadrNucleusHE.hh.

Referenced by G4ElasticHadrNucleusHE::SampleInvariantT().

G4double G4ElasticData::maxQ2[NENERGY]

Definition at line 97 of file G4ElasticHadrNucleusHE.hh.

Referenced by 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 G4ElasticHadrNucleusHE::HadronNucleusQ2_2().

G4double G4ElasticData::R2

Definition at line 90 of file G4ElasticHadrNucleusHE.hh.

Referenced by G4ElasticHadrNucleusHE::HadronNucleusQ2_2().

G4double G4ElasticData::TableCrossSec[NQTABLE]
G4double G4ElasticData::TableQ2[ONQ2]

The documentation for this class was generated from the following files: