Geant4  10.02
G4HadronCrossSections Class Reference

#include <G4HadronCrossSections.hh>

+ Inheritance diagram for G4HadronCrossSections:
+ Collaboration diagram for G4HadronCrossSections:

Public Member Functions

 G4HadronCrossSections ()
 
 ~G4HadronCrossSections ()
 
G4bool IsApplicable (const G4DynamicParticle *aParticle)
 
G4double GetElasticCrossSection (const G4DynamicParticle *, G4int, G4int)
 
G4double GetInelasticCrossSection (const G4DynamicParticle *, G4int, G4int)
 
G4double GetCaptureCrossSection (const G4DynamicParticle *, G4int)
 
G4double GetFissionCrossSection (const G4DynamicParticle *, G4int, G4int)
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel ()
 

Static Public Member Functions

static G4HadronCrossSectionsInstance ()
 

Private Member Functions

G4int GetParticleCode (const G4DynamicParticle *)
 
void CalcScatteringCrossSections (const G4DynamicParticle *, G4int, G4int)
 

Private Attributes

G4Powg4pow
 
G4double sigelastic
 
G4double siginelastic
 
G4ParticleDefinitionprevParticleDefinition
 
G4int prevZZ
 
G4int prevAA
 
G4double prevKineticEnergy
 
G4double lastEkx
 
G4double lastEkxPower
 
G4bool correctInelasticNearZero
 
G4int verboseLevel
 

Static Private Attributes

static G4ThreadLocal
G4HadronCrossSections
theInstance = 0
 
static const G4float plab [TSIZE]
 
static const G4float csel [NPARTS][TSIZE]
 
static const G4float csin [NPARTS][TSIZE]
 
static const G4float cspiel [3][TSIZE]
 
static const G4float cspiin [3][TSIZE]
 
static const G4float cspnel [3][TSIZE]
 
static const G4float cspnin [3][TSIZE]
 
static const G4float elab [NELAB]
 
static const G4float cnlwat [NCNLW]
 
static const G4float cnlwel [NCNLW][NELAB]
 
static const G4float cnlwin [NCNLW][NELAB]
 
static const G4float cscap [100]
 
static const G4float ekfiss [NFISS]
 
static const G4float csfiss [4][NFISS]
 
static const G4float alpha [NPARTS]
 
static const G4float alphac [TSIZE]
 
static const G4float partel [35]
 
static const G4float partin [35]
 
static const G4int icorr [35]
 
static const G4int intrc [35]
 
static const G4float csa [4] = {1.f, 27.00f, 63.54f, 207.19f}
 
static const G4int ipart2 [7] = {9, 8, 7, 11, 10, 13, 12}
 

Detailed Description

Definition at line 60 of file G4HadronCrossSections.hh.

Constructor & Destructor Documentation

G4HadronCrossSections::G4HadronCrossSections ( )

Definition at line 1214 of file G4HadronCrossSections.cc.

References correctInelasticNearZero, g4pow, G4Pow::GetInstance(), sigelastic, and siginelastic.

Referenced by Instance().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4HadronCrossSections::~G4HadronCrossSections ( )

Definition at line 1225 of file G4HadronCrossSections.cc.

Member Function Documentation

void G4HadronCrossSections::CalcScatteringCrossSections ( const G4DynamicParticle aParticle,
G4int  ZZ,
G4int  AA 
)
private

Definition at line 1282 of file G4HadronCrossSections.cc.

References alpha, alphac, cnlwat, cnlwel, cnlwin, correctInelasticNearZero, csa, csel, csin, cspiel, cspiin, cspnel, cspnin, elab, G4cout, G4endl, G4Exp(), G4Log(), g4pow, G4DynamicParticle::GetDefinition(), G4Pow::GetInstance(), G4DynamicParticle::GetKineticEnergy(), G4DynamicParticle::GetMass(), GetParticleCode(), G4ParticleDefinition::GetParticleName(), G4DynamicParticle::GetTotalMomentum(), GeV, ipart2, MeV, millibarn, NCNLW, NELAB, partel, partin, plab, G4Pow::powA(), G4Pow::powZ(), prevAA, prevKineticEnergy, prevParticleDefinition, prevZZ, sigelastic, siginelastic, TSIZE, verboseLevel, and G4Pow::Z13().

Referenced by GetElasticCrossSection(), and GetInelasticCrossSection().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4HadronCrossSections::GetCaptureCrossSection ( const G4DynamicParticle aParticle,
G4int  ZZ 
)

Definition at line 1556 of file G4HadronCrossSections.cc.

References cscap, G4Pow::GetInstance(), G4DynamicParticle::GetKineticEnergy(), GetParticleCode(), GeV, lastEkx, lastEkxPower, G4INCL::Math::max(), millibarn, and G4Pow::powA().

Referenced by G4HadronCaptureDataSet::GetElementCrossSection().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4HadronCrossSections::GetElasticCrossSection ( const G4DynamicParticle particle,
G4int  ZZ,
G4int  AA 
)

Definition at line 1260 of file G4HadronCrossSections.cc.

References CalcScatteringCrossSections(), G4cout, G4endl, G4DynamicParticle::GetDefinition(), G4DynamicParticle::GetKineticEnergy(), millibarn, prevAA, prevKineticEnergy, prevParticleDefinition, prevZZ, sigelastic, and verboseLevel.

Referenced by G4HadronElasticDataSet::GetElementCrossSection().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4HadronCrossSections::GetFissionCrossSection ( const G4DynamicParticle aParticle,
G4int  ZZ,
G4int  AA 
)

Definition at line 1581 of file G4HadronCrossSections.cc.

References csfiss, ekfiss, g4pow, G4DynamicParticle::GetKineticEnergy(), GeV, G4INCL::Math::max(), millibarn, NFISS, and G4Pow::Z13().

+ Here is the call graph for this function:

G4double G4HadronCrossSections::GetInelasticCrossSection ( const G4DynamicParticle particle,
G4int  ZZ,
G4int  AA 
)

Definition at line 1243 of file G4HadronCrossSections.cc.

References CalcScatteringCrossSections(), G4cout, G4endl, G4DynamicParticle::GetDefinition(), G4DynamicParticle::GetKineticEnergy(), millibarn, prevAA, prevKineticEnergy, prevParticleDefinition, prevZZ, siginelastic, and verboseLevel.

Referenced by G4HadronInelasticDataSet::GetElementCrossSection().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4HadronCrossSections::GetParticleCode ( const G4DynamicParticle aParticle)
private

Definition at line 1623 of file G4HadronCrossSections.cc.

References G4DynamicParticle::GetPDGcode().

Referenced by CalcScatteringCrossSections(), GetCaptureCrossSection(), and IsApplicable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4HadronCrossSections::GetVerboseLevel ( )
inline

Definition at line 93 of file G4HadronCrossSections.hh.

References verboseLevel.

G4HadronCrossSections * G4HadronCrossSections::Instance ( void  )
static

Definition at line 1228 of file G4HadronCrossSections.cc.

References G4HadronCrossSections(), G4ThreadLocal, and theInstance.

Referenced by G4HadronCaptureDataSet::G4HadronCaptureDataSet(), G4HadronElasticDataSet::G4HadronElasticDataSet(), and G4HadronInelasticDataSet::G4HadronInelasticDataSet().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4HadronCrossSections::IsApplicable ( const G4DynamicParticle aParticle)

Definition at line 1237 of file G4HadronCrossSections.cc.

References GetParticleCode().

Referenced by G4HadronInelasticDataSet::IsElementApplicable(), and G4HadronElasticDataSet::IsElementApplicable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4HadronCrossSections::SetVerboseLevel ( G4int  value)
inline

Definition at line 91 of file G4HadronCrossSections.hh.

References verboseLevel.

Member Data Documentation

const G4float G4HadronCrossSections::alpha
staticprivate
Initial value:
= {
0.7f,0.7f,0.7f,0.7f,0.7f,0.7f,
0.75f,0.75f,0.75f,
0.76f,0.76f,0.76f,0.76f,
0.685f,0.63f,0.685f,0.63f,0.685f,0.63f,
0.685f,0.685f,0.685f,0.63f,0.63f,0.63f,0.685f,0.685f,0.63f,0.63f,
0.7f,0.7f,0.7f,0.685f,0.63f,0.7f
}

Definition at line 140 of file G4HadronCrossSections.hh.

Referenced by CalcScatteringCrossSections().

const G4float G4HadronCrossSections::alphac
staticprivate
Initial value:
= {
1.2f,1.2f,1.2f,1.15f,0.90f,0.91f,0.98f,1.06f,1.10f,1.11f,
1.10f,1.08f,1.05f,1.01f,0.985f,0.962f,0.945f,0.932f,
0.925f,0.920f,0.920f,0.921f,0.922f,0.923f,0.928f,0.931f,
0.940f,0.945f,0.950f,0.955f,0.958f,0.962f,0.965f,0.976f,
0.982f,0.988f,0.992f,1.010f,1.020f,1.030f,1.040f
}

Definition at line 140 of file G4HadronCrossSections.hh.

Referenced by CalcScatteringCrossSections().

const G4float G4HadronCrossSections::cnlwat
staticprivate
Initial value:
= {
1.0000f , 16.000f , 27.000f , 56.000f , 59.000f ,
64.000f , 91.000f , 112.00f , 119.00f , 127.00f ,
137.00f , 181.00f , 207.00f , 209.00f , 238.00f
}

Definition at line 134 of file G4HadronCrossSections.hh.

Referenced by CalcScatteringCrossSections().

const G4float G4HadronCrossSections::cnlwel
staticprivate

Definition at line 134 of file G4HadronCrossSections.hh.

Referenced by CalcScatteringCrossSections().

const G4float G4HadronCrossSections::cnlwin
staticprivate

Definition at line 134 of file G4HadronCrossSections.hh.

Referenced by CalcScatteringCrossSections().

G4bool G4HadronCrossSections::correctInelasticNearZero
private

Definition at line 115 of file G4HadronCrossSections.hh.

Referenced by CalcScatteringCrossSections(), and G4HadronCrossSections().

const G4float G4HadronCrossSections::csa = {1.f, 27.00f, 63.54f, 207.19f}
staticprivate

Definition at line 145 of file G4HadronCrossSections.hh.

Referenced by CalcScatteringCrossSections().

const G4float G4HadronCrossSections::cscap
staticprivate
Initial value:
= {
6.0000f , 5.7000f , 5.5000f , 5.3000f , 5.2000f ,
5.1000f , 5.0000f , 4.9000f , 4.8000f , 4.8000f ,
4.8000f , 4.8000f , 4.8000f , 4.8000f , 4.8000f ,
4.8000f , 4.9000f , 5.0000f , 5.2000f , 5.5000f ,
6.0000f , 6.7000f , 7.5000f , 8.5000f , 10.000f ,
12.000f , 14.500f , 19.000f , 26.500f , 40.000f ,
75.000f , 120.00f , 180.00f , 260.00f , 360.00f ,
330.00f , 60.000f , 7.0000f , 9.5000f , 20.000f ,
75.000f , 140.00f , 250.00f , 360.00f , 480.00f ,
580.00f , 590.00f , 500.00f , 300.00f , 100.00f ,
200.00f , 300.00f , 400.00f , 470.00f , 500.00f ,
430.00f , 100.00f , 20.000f , 22.000f , 40.000f ,
560.00f , 950.00f , 1000.0f , 1000.0f , 1000.0f ,
990.00f , 920.00f , 860.00f , 790.00f , 740.00f ,
650.00f , 600.00f , 540.00f , 470.00f , 440.00f ,
390.00f , 360.00f , 340.00f , 320.00f , 310.00f ,
280.00f , 2.0000f , 2.5000f , 6.0000f , 13.000f ,
38.000f , 65.000f , 140.00f , 280.00f , 300.00f ,
430.00f , 580.00f , 650.00f , 800.00f , 920.00f ,
1100.0f , 1250.0f , 1400.0f , 1550.0f , 1700.0f
}

Definition at line 136 of file G4HadronCrossSections.hh.

Referenced by GetCaptureCrossSection().

const G4float G4HadronCrossSections::csel
staticprivate

Definition at line 124 of file G4HadronCrossSections.hh.

Referenced by CalcScatteringCrossSections().

const G4float G4HadronCrossSections::csfiss
staticprivate
Initial value:
= {
{2600.0f , 2300.0f , 2300.0f , 2100.0f , 2000.0f ,
1950.0f , 1930.0f , 1900.0f , 1800.0f , 1600.0f ,
2100.0f , 2300.0f , 0.00000f , 0.00000f , 0.00000f ,
0.00000f , 0.00000f , 0.00000f , 0.00000f , 0.00000f ,
0.00000f },
{1850.0f , 1400.0f , 1300.0f , 1150.0f , 1100.0f ,
1200.0f , 1250.0f , 1300.0f , 1250.0f , 1150.0f ,
1600.0f , 1900.0f , 0.00000f , 0.00000f , 0.00000f ,
0.00000f , 0.00000f , 0.00000f , 0.00000f , 0.00000f ,
0.00000f },
{1700.0f , 1650.0f , 1650.0f , 1700.0f , 1700.0f ,
1800.0f , 1900.0f , 2000.0f , 1950.0f , 1800.0f ,
2150.0f , 2450.0f , 0.00000f , 0.00000f , 0.00000f ,
0.00000f , 0.00000f , 0.00000f , 0.00000f , 0.00000f ,
0.00000f },
{0.00000f , 0.00000f , 0.00000f , 0.00000f , 0.00000f ,
0.00000f , 250.00f , 550.00f , 550.00f , 550.00f ,
550.00f , 550.00f , 1000.0f , 1400.0f , 1600.0f ,
1500.0f , 1400.0f , 1300.0f , 1200.0f , 1100.0f ,
1000.0f}
}

Definition at line 138 of file G4HadronCrossSections.hh.

Referenced by GetFissionCrossSection().

const G4float G4HadronCrossSections::csin
staticprivate

Definition at line 125 of file G4HadronCrossSections.hh.

Referenced by CalcScatteringCrossSections().

const G4float G4HadronCrossSections::cspiel
staticprivate

Definition at line 127 of file G4HadronCrossSections.hh.

Referenced by CalcScatteringCrossSections().

const G4float G4HadronCrossSections::cspiin
staticprivate

Definition at line 128 of file G4HadronCrossSections.hh.

Referenced by CalcScatteringCrossSections().

const G4float G4HadronCrossSections::cspnel
staticprivate

Definition at line 130 of file G4HadronCrossSections.hh.

Referenced by CalcScatteringCrossSections().

const G4float G4HadronCrossSections::cspnin
staticprivate

Definition at line 131 of file G4HadronCrossSections.hh.

Referenced by CalcScatteringCrossSections().

const G4float G4HadronCrossSections::ekfiss
staticprivate
Initial value:
= {
0.10000E-03f, 0.20000E-03f, 0.30000E-03f, 0.50000E-03f, 0.70000E-03f,
0.10000E-02f, 0.15000E-02f, 0.20000E-02f, 0.30000E-02f, 0.50000E-02f,
0.70000E-02f, 0.10000E-01f, 0.15000E-01f, 0.20000E-01f, 0.50000E-01f,
0.10000f , 0.20000f , 0.30000f , 0.40000f , 0.50000f ,
1000.0f
}

Definition at line 138 of file G4HadronCrossSections.hh.

Referenced by GetFissionCrossSection().

const G4float G4HadronCrossSections::elab
staticprivate
Initial value:
= {
0.10000E-03f, 0.20000E-03f, 0.30000E-03f, 0.40000E-03f, 0.50000E-03f,
0.70000E-03f, 0.10000E-02f, 0.20000E-02f, 0.30000E-02f, 0.40000E-02f,
0.50000E-02f, 0.70000E-02f, 0.10000E-01f, 0.15000E-01f, 0.20000E-01f,
0.25000E-01f, 0.32700E-01f
}

Definition at line 133 of file G4HadronCrossSections.hh.

Referenced by CalcScatteringCrossSections().

G4Pow* G4HadronCrossSections::g4pow
private
const G4int G4HadronCrossSections::icorr
staticprivate
Initial value:
= {
1,1,1,1,1,1,1,1,1,1,1,1,1,1,
0,1,0,1,0,1,1,1,0,0,0,1,1,0,0,1,1,1,1,0,0
}

Definition at line 143 of file G4HadronCrossSections.hh.

const G4int G4HadronCrossSections::intrc
staticprivate
Initial value:
= {
0,0,0,0,0,0,
1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,2,2,0,
1,1,1,1,1,1,1,1,1,1,0
}

Definition at line 143 of file G4HadronCrossSections.hh.

const G4int G4HadronCrossSections::ipart2 = {9, 8, 7, 11, 10, 13, 12}
staticprivate

Definition at line 146 of file G4HadronCrossSections.hh.

Referenced by CalcScatteringCrossSections().

G4double G4HadronCrossSections::lastEkx
private

Definition at line 113 of file G4HadronCrossSections.hh.

Referenced by GetCaptureCrossSection().

G4double G4HadronCrossSections::lastEkxPower
private

Definition at line 113 of file G4HadronCrossSections.hh.

Referenced by GetCaptureCrossSection().

const G4float G4HadronCrossSections::partel
staticprivate
Initial value:
= {
0.f,0.f,0.f,0.f,0.f,0.f,
1.f,1.f,1.f,1.f,1.f,1.f,1.f,1.f,1.f,1.f,
1.f,1.f,1.f,1.f,1.f,1.f,1.f,1.f,1.f,1.f,
1.f,1.f,1.f,1.f,1.f,1.f,1.f,1.f,1.f
}

Definition at line 142 of file G4HadronCrossSections.hh.

Referenced by CalcScatteringCrossSections().

const G4float G4HadronCrossSections::partin
staticprivate
Initial value:
= {
0.f,0.f,0.f,0.f,0.f,0.f,
1.00f,0.00f,1.05f,1.20f,1.35f,1.30f,1.20f,1.00f,1.30f,
1.00f,1.30f,1.00f,1.30f,1.00f,1.00f,1.00f,1.30f,1.30f,1.30f,
1.00f,1.00f,1.30f,1.30f,1.00f,1.f,1.f,1.f,1.3f,1.f
}

Definition at line 142 of file G4HadronCrossSections.hh.

Referenced by CalcScatteringCrossSections().

const G4float G4HadronCrossSections::plab
staticprivate
Initial value:
= {
0.00000f , 0.10000f , 0.15000f , 0.20000f , 0.25000f ,
0.30000f , 0.35000f , 0.40000f , 0.45000f , 0.50000f ,
0.55000f , 0.60000f , 0.65000f , 0.70000f , 0.75000f ,
0.80000f , 0.85000f , 0.90000f , 0.95000f , 1.0000f ,
1.1000f , 1.2000f , 1.3000f , 1.4000f , 1.5000f ,
1.6000f , 1.8000f , 2.0000f , 2.2000f , 2.4000f ,
2.6000f , 2.8000f , 3.0000f , 4.0000f , 5.0000f ,
6.0000f , 8.0000f , 10.000f , 20.000f , 100.00f ,
1000.0f
}

Definition at line 123 of file G4HadronCrossSections.hh.

Referenced by CalcScatteringCrossSections().

G4int G4HadronCrossSections::prevAA
private
G4double G4HadronCrossSections::prevKineticEnergy
private
G4ParticleDefinition* G4HadronCrossSections::prevParticleDefinition
private
G4int G4HadronCrossSections::prevZZ
private
G4double G4HadronCrossSections::sigelastic
private
G4double G4HadronCrossSections::siginelastic
private
G4ThreadLocal G4HadronCrossSections * G4HadronCrossSections::theInstance = 0
staticprivate

Definition at line 102 of file G4HadronCrossSections.hh.

Referenced by Instance().

G4int G4HadronCrossSections::verboseLevel
private

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