Geant4  10.00.p02
G4ElasticHadrNucleusHE Class Reference

#include <G4ElasticHadrNucleusHE.hh>

+ Inheritance diagram for G4ElasticHadrNucleusHE:
+ Collaboration diagram for G4ElasticHadrNucleusHE:

Public Member Functions

 G4ElasticHadrNucleusHE (const G4String &name="hElasticGlauber")
 
virtual ~G4ElasticHadrNucleusHE ()
 
virtual G4double SampleInvariantT (const G4ParticleDefinition *p, G4double plab, G4int Z, G4int A)
 
virtual void Description () const
 
G4double SampleT (const G4ParticleDefinition *p, G4double plab, G4int Z, G4int A)
 
G4double HadronNucleusQ2_2 (G4ElasticData *pElD, G4int Z, G4double plabGeV, G4double tmax)
 
void DefineHadronValues (G4int Z)
 
G4double GetLightFq2 (G4int Z, G4int A, G4double Q)
 
G4double GetHeavyFq2 (G4int Z, G4int Nucleus, G4double *LineFq2)
 
G4double GetQ2_2 (G4int N, G4double *Q, G4double *F, G4double R)
 
G4double LineInterpol (G4double p0, G4double p2, G4double c1, G4double c2, G4double p)
 
G4double HadrNucDifferCrSec (G4int Z, G4int Nucleus, G4double Q2)
 
void InterpolateHN (G4int n, const G4double EnP[], const G4double C0P[], const G4double C1P[], const G4double B0P[], const G4double B1P[])
 
G4ElasticHadrNucleusHEoperator= (const G4ElasticHadrNucleusHE &right)
 
 G4ElasticHadrNucleusHE (const G4ElasticHadrNucleusHE &)
 
G4double GetBinomCof (G4int n, G4int m)
 
G4double GetFt (G4double Q2)
 
G4double GetDistrFun (G4double Q2)
 
G4double GetQ2 (G4double Ran)
 
G4double HadronProtonQ2 (const G4ParticleDefinition *aHadron, G4double inLabMom)
 
void GetKinematics (const G4ParticleDefinition *aHadron, G4double MomentumH)
 
- Public Member Functions inherited from G4HadronElastic
 G4HadronElastic (const G4String &name="hElasticLHEP")
 
virtual ~G4HadronElastic ()
 
virtual G4HadFinalStateApplyYourself (const G4HadProjectile &aTrack, G4Nucleus &targetNucleus)
 
void SetLowestEnergyLimit (G4double value)
 
G4double LowestEnergyLimit () const
 
G4double ComputeMomentumCMS (const G4ParticleDefinition *p, G4double plab, G4int Z, G4int A)
 
- Public Member Functions inherited from G4HadronicInteraction
 G4HadronicInteraction (const G4String &modelName="HadronicModel")
 
virtual ~G4HadronicInteraction ()
 
virtual G4bool IsApplicable (const G4HadProjectile &, G4Nucleus &)
 
G4double GetMinEnergy () const
 
G4double GetMinEnergy (const G4Material *aMaterial, const G4Element *anElement) const
 
void SetMinEnergy (G4double anEnergy)
 
void SetMinEnergy (G4double anEnergy, const G4Element *anElement)
 
void SetMinEnergy (G4double anEnergy, const G4Material *aMaterial)
 
G4double GetMaxEnergy () const
 
G4double GetMaxEnergy (const G4Material *aMaterial, const G4Element *anElement) const
 
void SetMaxEnergy (const G4double anEnergy)
 
void SetMaxEnergy (G4double anEnergy, const G4Element *anElement)
 
void SetMaxEnergy (G4double anEnergy, const G4Material *aMaterial)
 
const G4HadronicInteractionGetMyPointer () const
 
virtual G4int GetVerboseLevel () const
 
virtual void SetVerboseLevel (G4int value)
 
const G4StringGetModelName () const
 
void DeActivateFor (const G4Material *aMaterial)
 
void ActivateFor (const G4Material *aMaterial)
 
void DeActivateFor (const G4Element *anElement)
 
void ActivateFor (const G4Element *anElement)
 
G4bool IsBlocked (const G4Material *aMaterial) const
 
G4bool IsBlocked (const G4Element *anElement) const
 
void SetRecoilEnergyThreshold (G4double val)
 
G4double GetRecoilEnergyThreshold () const
 
G4bool operator== (const G4HadronicInteraction &right) const
 
G4bool operator!= (const G4HadronicInteraction &right) const
 
virtual const std::pair
< G4double, G4double
GetFatalEnergyCheckLevels () const
 
virtual std::pair< G4double,
G4double
GetEnergyMomentumCheckLevels () const
 
void SetEnergyMomentumCheckLevels (G4double relativeLevel, G4double absoluteLevel)
 
virtual void ModelDescription (std::ostream &outFile) const
 

Private Member Functions

void Binom ()
 

Private Attributes

G4int iHadrCode
 
G4int iHadron
 
G4int HadronCode [NHADRONS]
 
G4int HadronType [NHADRONS]
 
G4int HadronType1 [NHADRONS]
 
G4double lowestEnergyLimit
 
G4double plabLowLimit
 
G4double dQ2
 
G4double MbToGeV2
 
G4double sqMbToGeV
 
G4double Fm2ToGeV2
 
G4double GeV2
 
G4double protonM
 
G4double protonM2
 
G4double hMass
 
G4double hMass2
 
G4double hLabMomentum
 
G4double hLabMomentum2
 
G4double MomentumCM
 
G4double HadrEnergy
 
G4double R1
 
G4double R2
 
G4double Pnucl
 
G4double Aeff
 
G4int NumbN
 
G4double HadrTot
 
G4double HadrSlope
 
G4double HadrReIm
 
G4double TotP
 
G4double DDSect2
 
G4double DDSect3
 
G4double ConstU
 
G4double FmaxT
 
G4double BoundaryP [7]
 
G4double BoundaryTL [7]
 
G4double BoundaryTG [7]
 
G4double Slope1
 
G4double Slope2
 
G4double Coeff1
 
G4double Coeff2
 
G4double MaxTR
 
G4double Slope0
 
G4double Coeff0
 
G4double aAIm
 
G4double aDIm
 
G4double Dtot11
 
G4double Energy [NENERGY]
 
G4double LowEdgeEnergy [NENERGY]
 
G4double SetBinom [240][240]
 
G4ElasticDataSetOfElasticData [NHADRONS][93]
 
G4NistManagernistManager
 

Additional Inherited Members

- Protected Member Functions inherited from G4HadronicInteraction
void SetModelName (const G4String &nam)
 
G4bool IsBlocked () const
 
void Block ()
 
- Protected Attributes inherited from G4HadronicInteraction
G4HadFinalState theParticleChange
 
G4int verboseLevel
 
G4double theMinEnergy
 
G4double theMaxEnergy
 
G4bool isBlocked
 

Detailed Description

Definition at line 108 of file G4ElasticHadrNucleusHE.hh.

Constructor & Destructor Documentation

G4ElasticHadrNucleusHE::G4ElasticHadrNucleusHE ( const G4String name = "hElasticGlauber")
G4ElasticHadrNucleusHE::~G4ElasticHadrNucleusHE ( )
virtual

Definition at line 327 of file G4ElasticHadrNucleusHE.cc.

References NHADRONS, and SetOfElasticData.

G4ElasticHadrNucleusHE::G4ElasticHadrNucleusHE ( const G4ElasticHadrNucleusHE )

Member Function Documentation

void G4ElasticHadrNucleusHE::Binom ( )
private

Definition at line 1442 of file G4ElasticHadrNucleusHE.cc.

References SetBinom.

Referenced by G4ElasticHadrNucleusHE().

+ Here is the caller graph for this function:

void G4ElasticHadrNucleusHE::DefineHadronValues ( G4int  Z)

Definition at line 948 of file G4ElasticHadrNucleusHE.cc.

References BoundaryP, Coeff0, Coeff1, Coeff2, DDSect2, DDSect3, G4cout, G4endl, HadrEnergy, HadrReIm, HadrSlope, HadrTot, hLabMomentum, hLabMomentum2, hMass, hMass2, iHadrCode, iHadron, InterpolateHN(), MomentumCM, protonM, protonM2, Slope0, Slope1, Slope2, TotP, and G4HadronicInteraction::verboseLevel.

Referenced by GetKinematics(), and HadronNucleusQ2_2().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ElasticHadrNucleusHE::Description ( ) const
virtual

Reimplemented from G4HadronElastic.

Definition at line 296 of file G4ElasticHadrNucleusHE.cc.

References G4HadronicInteraction::GetModelName(), and outFile.

+ Here is the call graph for this function:

G4double G4ElasticHadrNucleusHE::GetBinomCof ( G4int  n,
G4int  m 
)
inline

Definition at line 269 of file G4ElasticHadrNucleusHE.hh.

References SetBinom.

G4double G4ElasticHadrNucleusHE::GetDistrFun ( G4double  Q2)
inline

Definition at line 278 of file G4ElasticHadrNucleusHE.hh.

References FmaxT, and GetFt().

Referenced by GetQ2().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4ElasticHadrNucleusHE::GetFt ( G4double  Q2)

Definition at line 1369 of file G4ElasticHadrNucleusHE.cc.

References Coeff0, Coeff1, Coeff2, ConstU, G4cout, G4endl, HadrSlope, Slope0, Slope1, Slope2, and G4HadronicInteraction::verboseLevel.

Referenced by GetDistrFun(), and GetQ2().

+ Here is the caller graph for this function:

G4double G4ElasticHadrNucleusHE::GetHeavyFq2 ( G4int  Z,
G4int  Nucleus,
G4double LineFq2 
)

Definition at line 596 of file G4ElasticHadrNucleusHE.cc.

References aAIm, aDIm, dQ2, G4cout, G4endl, HadrNucDifferCrSec(), ONQ2, and G4HadronicInteraction::verboseLevel.

Referenced by HadronNucleusQ2_2().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ElasticHadrNucleusHE::GetKinematics ( const G4ParticleDefinition aHadron,
G4double  MomentumH 
)

Definition at line 1329 of file G4ElasticHadrNucleusHE.cc.

References BoundaryP, BoundaryTG, BoundaryTL, ConstU, DefineHadronValues(), G4cout, G4endl, G4ParticleDefinition::GetParticleName(), HadrEnergy, HadronCode, HadronType1, hMass2, iHadrCode, MaxTR, MomentumCM, protonM, protonM2, and G4HadronicInteraction::verboseLevel.

Referenced by HadronProtonQ2().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4ElasticHadrNucleusHE::GetQ2 ( G4double  Ran)

Definition at line 1388 of file G4ElasticHadrNucleusHE.cc.

References FmaxT, GetDistrFun(), GetFt(), and MaxTR.

Referenced by HadronProtonQ2().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4ElasticHadrNucleusHE::GetQ2_2 ( G4int  N,
G4double Q,
G4double F,
G4double  R 
)

Definition at line 542 of file G4ElasticHadrNucleusHE.cc.

References F12, F22, F32, G4cout, G4endl, and G4HadronicInteraction::verboseLevel.

Referenced by HadronNucleusQ2_2().

+ Here is the caller graph for this function:

G4double G4ElasticHadrNucleusHE::HadrNucDifferCrSec ( G4int  Z,
G4int  Nucleus,
G4double  Q2 
)

GeV/GeV;

Definition at line 759 of file G4ElasticHadrNucleusHE.cc.

References aAIm, aDIm, Aeff, BoundaryTL, C1, C3, Coeff0, Coeff1, Coeff2, DDSect2, DDSect3, Dtot11, G4NistManager::GetAtomicMassAmu(), HadrEnergy, HadrReIm, HadrSlope, HadrTot, hMass2, MbToGeV2, MomentumCM, nistManager, G4INCL::Math::pi, Pnucl, protonM, protonM2, R1, R2, Slope0, Slope1, and Slope2.

Referenced by GetHeavyFq2().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4ElasticHadrNucleusHE::HadronNucleusQ2_2 ( G4ElasticData pElD,
G4int  Z,
G4double  plabGeV,
G4double  tmax 
)

Definition at line 442 of file G4ElasticHadrNucleusHE.cc.

References G4ElasticData::Aeff, Aeff, DefineHadronValues(), G4ElasticData::dnkE, dQ2, Energy, G4cout, G4endl, G4UniformRand, GetHeavyFq2(), GetQ2_2(), HadrReIm, HadrSlope, HadrTot, hLabMomentum, hLabMomentum2, hMass, hMass2, LowEdgeEnergy, G4ElasticData::maxQ2, NENERGY, NumbN, ONQ2, G4ElasticData::Pnucl, Pnucl, G4ElasticData::R1, R1, G4ElasticData::R2, R2, G4ElasticData::TableCrossSec, G4ElasticData::TableQ2, and G4HadronicInteraction::verboseLevel.

Referenced by SampleInvariantT().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4ElasticHadrNucleusHE::HadronProtonQ2 ( const G4ParticleDefinition aHadron,
G4double  inLabMom 
)

Definition at line 1417 of file G4ElasticHadrNucleusHE.cc.

References G4UniformRand, GetKinematics(), G4ParticleDefinition::GetPDGMass(), GetQ2(), GeV, HadrEnergy, hLabMomentum, hLabMomentum2, hMass, and hMass2.

Referenced by SampleInvariantT().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ElasticHadrNucleusHE::InterpolateHN ( G4int  n,
const G4double  EnP[],
const G4double  C0P[],
const G4double  C1P[],
const G4double  B0P[],
const G4double  B1P[] 
)
inline

Definition at line 247 of file G4ElasticHadrNucleusHE.hh.

References Coeff0, Coeff1, hLabMomentum, LineInterpol(), n, Slope0, and Slope1.

Referenced by DefineHadronValues().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4ElasticHadrNucleusHE::LineInterpol ( G4double  p0,
G4double  p2,
G4double  c1,
G4double  c2,
G4double  p 
)
inline

Definition at line 233 of file G4ElasticHadrNucleusHE.hh.

Referenced by InterpolateHN().

+ Here is the caller graph for this function:

G4ElasticHadrNucleusHE& G4ElasticHadrNucleusHE::operator= ( const G4ElasticHadrNucleusHE right)
G4double G4ElasticHadrNucleusHE::SampleInvariantT ( const G4ParticleDefinition p,
G4double  plab,
G4int  Z,
G4int  A 
)
virtual

Reimplemented from G4HadronElastic.

Definition at line 343 of file G4ElasticHadrNucleusHE.cc.

References Energy, G4cout, G4endl, G4NistManager::GetAtomicMassAmu(), G4ParticleDefinition::GetParticleName(), G4ParticleDefinition::GetPDGEncoding(), G4ParticleDefinition::GetPDGMass(), GeV, GeV2, HadronCode, HadronNucleusQ2_2(), HadronProtonQ2(), HadronType, hMass, hMass2, iHadrCode, iHadron, G4ElasticData::mass2GeV2, G4ElasticData::massA, G4ElasticData::massA2, G4ElasticData::massGeV, NHADRONS, nistManager, NumbN, SetOfElasticData, and G4HadronicInteraction::verboseLevel.

Referenced by SampleT().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4ElasticHadrNucleusHE::SampleT ( const G4ParticleDefinition p,
G4double  plab,
G4int  Z,
G4int  A 
)

Definition at line 430 of file G4ElasticHadrNucleusHE.cc.

References SampleInvariantT().

+ Here is the call graph for this function:

Member Data Documentation

G4double G4ElasticHadrNucleusHE::aAIm
private
G4double G4ElasticHadrNucleusHE::aDIm
private
G4double G4ElasticHadrNucleusHE::Aeff
private
G4double G4ElasticHadrNucleusHE::BoundaryP[7]
private
G4double G4ElasticHadrNucleusHE::BoundaryTG[7]
private

Definition at line 211 of file G4ElasticHadrNucleusHE.hh.

Referenced by G4ElasticHadrNucleusHE(), and GetKinematics().

G4double G4ElasticHadrNucleusHE::BoundaryTL[7]
private
G4double G4ElasticHadrNucleusHE::Coeff0
private
G4double G4ElasticHadrNucleusHE::Coeff1
private
G4double G4ElasticHadrNucleusHE::Coeff2
private
G4double G4ElasticHadrNucleusHE::ConstU
private

Definition at line 207 of file G4ElasticHadrNucleusHE.hh.

Referenced by G4ElasticHadrNucleusHE(), GetFt(), and GetKinematics().

G4double G4ElasticHadrNucleusHE::DDSect2
private
G4double G4ElasticHadrNucleusHE::DDSect3
private
G4double G4ElasticHadrNucleusHE::dQ2
private
G4double G4ElasticHadrNucleusHE::Dtot11
private

Definition at line 218 of file G4ElasticHadrNucleusHE.hh.

Referenced by G4ElasticHadrNucleusHE(), and HadrNucDifferCrSec().

G4double G4ElasticHadrNucleusHE::Energy[NENERGY]
private
G4double G4ElasticHadrNucleusHE::Fm2ToGeV2
private

Definition at line 186 of file G4ElasticHadrNucleusHE.hh.

Referenced by G4ElasticHadrNucleusHE().

G4double G4ElasticHadrNucleusHE::FmaxT
private

Definition at line 207 of file G4ElasticHadrNucleusHE.hh.

Referenced by G4ElasticHadrNucleusHE(), GetDistrFun(), and GetQ2().

G4double G4ElasticHadrNucleusHE::GeV2
private

Definition at line 187 of file G4ElasticHadrNucleusHE.hh.

Referenced by G4ElasticHadrNucleusHE(), and SampleInvariantT().

G4double G4ElasticHadrNucleusHE::HadrEnergy
private
G4int G4ElasticHadrNucleusHE::HadronCode[NHADRONS]
private
G4int G4ElasticHadrNucleusHE::HadronType[NHADRONS]
private

Definition at line 173 of file G4ElasticHadrNucleusHE.hh.

Referenced by G4ElasticHadrNucleusHE(), and SampleInvariantT().

G4int G4ElasticHadrNucleusHE::HadronType1[NHADRONS]
private

Definition at line 174 of file G4ElasticHadrNucleusHE.hh.

Referenced by G4ElasticHadrNucleusHE(), and GetKinematics().

G4double G4ElasticHadrNucleusHE::HadrReIm
private
G4double G4ElasticHadrNucleusHE::HadrSlope
private
G4double G4ElasticHadrNucleusHE::HadrTot
private
G4double G4ElasticHadrNucleusHE::hLabMomentum
private
G4double G4ElasticHadrNucleusHE::hLabMomentum2
private
G4double G4ElasticHadrNucleusHE::hMass
private
G4int G4ElasticHadrNucleusHE::iHadrCode
private
G4int G4ElasticHadrNucleusHE::iHadron
private
G4double G4ElasticHadrNucleusHE::LowEdgeEnergy[NENERGY]
private

Definition at line 221 of file G4ElasticHadrNucleusHE.hh.

Referenced by G4ElasticHadrNucleusHE(), and HadronNucleusQ2_2().

G4double G4ElasticHadrNucleusHE::lowestEnergyLimit
private

Definition at line 178 of file G4ElasticHadrNucleusHE.hh.

Referenced by G4ElasticHadrNucleusHE().

G4double G4ElasticHadrNucleusHE::MaxTR
private

Definition at line 215 of file G4ElasticHadrNucleusHE.hh.

Referenced by G4ElasticHadrNucleusHE(), GetKinematics(), and GetQ2().

G4double G4ElasticHadrNucleusHE::MbToGeV2
private
G4double G4ElasticHadrNucleusHE::MomentumCM
private
G4NistManager* G4ElasticHadrNucleusHE::nistManager
private
G4int G4ElasticHadrNucleusHE::NumbN
private
G4double G4ElasticHadrNucleusHE::plabLowLimit
private

Definition at line 179 of file G4ElasticHadrNucleusHE.hh.

Referenced by G4ElasticHadrNucleusHE().

G4double G4ElasticHadrNucleusHE::Pnucl
private
G4double G4ElasticHadrNucleusHE::protonM
private
G4double G4ElasticHadrNucleusHE::protonM2
private
G4double G4ElasticHadrNucleusHE::R1
private
G4double G4ElasticHadrNucleusHE::R2
private
G4double G4ElasticHadrNucleusHE::SetBinom[240][240]
private

Definition at line 223 of file G4ElasticHadrNucleusHE.hh.

Referenced by Binom(), GetBinomCof(), and GetLightFq2().

G4ElasticData* G4ElasticHadrNucleusHE::SetOfElasticData[NHADRONS][93]
private
G4double G4ElasticHadrNucleusHE::Slope0
private
G4double G4ElasticHadrNucleusHE::Slope1
private
G4double G4ElasticHadrNucleusHE::Slope2
private
G4double G4ElasticHadrNucleusHE::sqMbToGeV
private

Definition at line 185 of file G4ElasticHadrNucleusHE.hh.

Referenced by G4ElasticHadrNucleusHE().

G4double G4ElasticHadrNucleusHE::TotP
private

Definition at line 207 of file G4ElasticHadrNucleusHE.hh.

Referenced by DefineHadronValues(), and G4ElasticHadrNucleusHE().


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