Geant4  10.01.p02
G4ElectroNuclearCrossSection Class Reference

#include <G4ElectroNuclearCrossSection.hh>

+ Inheritance diagram for G4ElectroNuclearCrossSection:
+ Collaboration diagram for G4ElectroNuclearCrossSection:

Public Member Functions

 G4ElectroNuclearCrossSection ()
 
virtual ~G4ElectroNuclearCrossSection ()
 
virtual void CrossSectionDescription (std::ostream &) const
 
virtual G4bool IsElementApplicable (const G4DynamicParticle *, G4int Z, const G4Material *)
 
virtual G4double GetElementCrossSection (const G4DynamicParticle *, G4int Z, const G4Material *mat)
 
G4double GetEquivalentPhotonEnergy ()
 
G4double GetVirtualFactor (G4double nu, G4double Q2)
 
G4double GetEquivalentPhotonQ2 (G4double nu)
 
- Public Member Functions inherited from G4VCrossSectionDataSet
 G4VCrossSectionDataSet (const G4String &nam="")
 
virtual ~G4VCrossSectionDataSet ()
 
virtual G4bool IsIsoApplicable (const G4DynamicParticle *, G4int Z, G4int A, const G4Element *elm=0, const G4Material *mat=0)
 
G4double GetCrossSection (const G4DynamicParticle *, const G4Element *, const G4Material *mat=0)
 
G4double ComputeCrossSection (const G4DynamicParticle *, const G4Element *, const G4Material *mat=0)
 
virtual G4double GetIsoCrossSection (const G4DynamicParticle *, G4int Z, G4int A, const G4Isotope *iso=0, const G4Element *elm=0, const G4Material *mat=0)
 
virtual G4IsotopeSelectIsotope (const G4Element *, G4double kinEnergy)
 
virtual void BuildPhysicsTable (const G4ParticleDefinition &)
 
virtual void DumpPhysicsTable (const G4ParticleDefinition &)
 
virtual G4int GetVerboseLevel () const
 
virtual void SetVerboseLevel (G4int value)
 
G4double GetMinKinEnergy () const
 
void SetMinKinEnergy (G4double value)
 
G4double GetMaxKinEnergy () const
 
void SetMaxKinEnergy (G4double value)
 
const G4StringGetName () const
 

Static Public Member Functions

static const char * Default_Name ()
 

Private Member Functions

G4int GetFunctions (G4double a, G4double *x, G4double *y, G4double *z)
 
G4double ThresholdEnergy (G4int Z, G4int N)
 
G4double SolveTheEquation (G4double f)
 
G4double Fun (G4double x)
 
G4double DFun (G4double x)
 
G4double HighEnergyJ1 (G4double lE)
 
G4double HighEnergyJ2 (G4double lE, G4double E)
 
G4double HighEnergyJ3 (G4double lE, G4double E2)
 

Private Attributes

G4int currentN
 
G4int currentZ
 
G4int lastZ
 
std::vector< cacheEl_t * > cache
 
cacheEl_tlastUsedCacheEl
 
G4NistManagernistmngr
 
G4double lastE
 
G4double lastSig
 
G4double lastG
 
G4int lastL
 
const G4double mNeut
 
const G4double mProt
 

Additional Inherited Members

- Protected Member Functions inherited from G4VCrossSectionDataSet
void SetName (const G4String &)
 
- Protected Attributes inherited from G4VCrossSectionDataSet
G4int verboseLevel
 

Detailed Description

Definition at line 58 of file G4ElectroNuclearCrossSection.hh.

Constructor & Destructor Documentation

G4ElectroNuclearCrossSection::G4ElectroNuclearCrossSection ( )

Definition at line 2180 of file G4ElectroNuclearCrossSection.cc.

References cache, G4NistManager::Instance(), lastUsedCacheEl, and nistmngr.

+ Here is the call graph for this function:

G4ElectroNuclearCrossSection::~G4ElectroNuclearCrossSection ( )
virtual

Definition at line 2195 of file G4ElectroNuclearCrossSection.cc.

References cache.

Member Function Documentation

void G4ElectroNuclearCrossSection::CrossSectionDescription ( std::ostream &  outFile) const
virtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 2242 of file G4ElectroNuclearCrossSection.cc.

static const char* G4ElectroNuclearCrossSection::Default_Name ( )
inlinestatic

Definition at line 65 of file G4ElectroNuclearCrossSection.hh.

Referenced by G4ElectroVDNuclearModel::G4ElectroVDNuclearModel().

+ Here is the caller graph for this function:

G4double G4ElectroNuclearCrossSection::DFun ( G4double  x)
private

Definition at line 2225 of file G4ElectroNuclearCrossSection.cc.

References lastG, lmel, poc, pos, reg, and shd.

Referenced by SolveTheEquation().

+ Here is the caller graph for this function:

G4double G4ElectroNuclearCrossSection::Fun ( G4double  x)
private

Definition at line 2232 of file G4ElectroNuclearCrossSection.cc.

References HighEnergyJ1(), HighEnergyJ2(), HighEnergyJ3(), lastE, and lastG.

Referenced by SolveTheEquation().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4ElectroNuclearCrossSection::GetElementCrossSection ( const G4DynamicParticle aPart,
G4int  Z,
const G4Material mat 
)
virtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 2260 of file G4ElectroNuclearCrossSection.cc.

References alop, cache, dlnE, EMi, cacheEl_t::F, G4NistManager::GetAtomicMassAmu(), GetFunctions(), G4DynamicParticle::GetKineticEnergy(), cacheEl_t::H, HighEnergyJ1(), HighEnergyJ2(), HighEnergyJ3(), cacheEl_t::J1, cacheEl_t::J2, cacheEl_t::J3, lastE, lastG, lastL, lastSig, lastUsedCacheEl, lastZ, lEMa, lEMi, lmel, MeV, millibarn, mL, nE, nistmngr, cacheEl_t::TH, and ThresholdEnergy().

Referenced by G4ElectroVDNuclearModel::ApplyYourself().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4ElectroNuclearCrossSection::GetEquivalentPhotonEnergy ( )

Definition at line 2427 of file G4ElectroNuclearCrossSection.cc.

References currentN, currentZ, dlnE, cacheEl_t::F, G4cerr, G4endl, G4UniformRand, cacheEl_t::H, cacheEl_t::J1, cacheEl_t::J2, cacheEl_t::J3, lastE, lastG, lastL, lastSig, lastUsedCacheEl, lEMi, lmel, mL, nE, and SolveTheEquation().

Referenced by G4ElectroVDNuclearModel::ApplyYourself().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4ElectroNuclearCrossSection::GetEquivalentPhotonQ2 ( G4double  nu)

Definition at line 2506 of file G4ElectroNuclearCrossSection.cc.

References G4UniformRand, lastE, lastG, lastSig, and mel2.

Referenced by G4ElectroVDNuclearModel::ApplyYourself().

+ Here is the caller graph for this function:

G4int G4ElectroNuclearCrossSection::GetFunctions ( G4double  a,
G4double x,
G4double y,
G4double z 
)
private

Definition at line 2378 of file G4ElectroNuclearCrossSection.cc.

References A, G4cout, G4endl, L, nE, nN, P0, P1, and P2.

Referenced by GetElementCrossSection().

+ Here is the caller graph for this function:

G4double G4ElectroNuclearCrossSection::GetVirtualFactor ( G4double  nu,
G4double  Q2 
)

Definition at line 2550 of file G4ElectroNuclearCrossSection.cc.

References blK0, bp, clK0, cp, dM, and Q02.

Referenced by G4ElectroVDNuclearModel::CalculateEMVertex().

+ Here is the caller graph for this function:

G4double G4ElectroNuclearCrossSection::HighEnergyJ1 ( G4double  lE)
private

Definition at line 2210 of file G4ElectroNuclearCrossSection.cc.

References ab, cd, ele, ha, lEMa, lEMa2, and reg.

Referenced by Fun(), and GetElementCrossSection().

+ Here is the caller graph for this function:

G4double G4ElectroNuclearCrossSection::HighEnergyJ2 ( G4double  lE,
G4double  E 
)
private

Definition at line 2215 of file G4ElectroNuclearCrossSection.cc.

References ab, cd1, d1, ele1, EMa, le1, and poc.

Referenced by Fun(), and GetElementCrossSection().

+ Here is the caller graph for this function:

G4double G4ElectroNuclearCrossSection::HighEnergyJ3 ( G4double  lE,
G4double  E2 
)
private

Definition at line 2220 of file G4ElectroNuclearCrossSection.cc.

References cd2, d2, ele2, EMa2, ha, hab, and leh.

Referenced by Fun(), and GetElementCrossSection().

+ Here is the caller graph for this function:

G4bool G4ElectroNuclearCrossSection::IsElementApplicable ( const G4DynamicParticle ,
G4int  Z,
const G4Material  
)
virtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 2254 of file G4ElectroNuclearCrossSection.cc.

G4double G4ElectroNuclearCrossSection::SolveTheEquation ( G4double  f)
private

Definition at line 2480 of file G4ElectroNuclearCrossSection.cc.

References currentN, currentZ, DFun(), EMa, eps, Fun(), G4cerr, G4endl, imax, lastG, lEMa, lmel, and phte.

Referenced by GetEquivalentPhotonEnergy().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4ElectroNuclearCrossSection::ThresholdEnergy ( G4int  Z,
G4int  N 
)
private

Definition at line 2349 of file G4ElectroNuclearCrossSection.cc.

References G4NucleiProperties::GetNuclearMass(), infEn, G4NucleiProperties::IsInStableTable(), mNeut, and mProt.

Referenced by GetElementCrossSection().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

std::vector<cacheEl_t*> G4ElectroNuclearCrossSection::cache
private
G4int G4ElectroNuclearCrossSection::currentN
private

Definition at line 94 of file G4ElectroNuclearCrossSection.hh.

Referenced by GetEquivalentPhotonEnergy(), and SolveTheEquation().

G4int G4ElectroNuclearCrossSection::currentZ
private

Definition at line 95 of file G4ElectroNuclearCrossSection.hh.

Referenced by GetEquivalentPhotonEnergy(), and SolveTheEquation().

G4double G4ElectroNuclearCrossSection::lastE
private
G4double G4ElectroNuclearCrossSection::lastG
private
G4int G4ElectroNuclearCrossSection::lastL
private
G4double G4ElectroNuclearCrossSection::lastSig
private
cacheEl_t* G4ElectroNuclearCrossSection::lastUsedCacheEl
private
G4int G4ElectroNuclearCrossSection::lastZ
private

Definition at line 98 of file G4ElectroNuclearCrossSection.hh.

Referenced by GetElementCrossSection().

const G4double G4ElectroNuclearCrossSection::mNeut
private

Definition at line 109 of file G4ElectroNuclearCrossSection.hh.

Referenced by ThresholdEnergy().

const G4double G4ElectroNuclearCrossSection::mProt
private

Definition at line 110 of file G4ElectroNuclearCrossSection.hh.

Referenced by ThresholdEnergy().

G4NistManager* G4ElectroNuclearCrossSection::nistmngr
private

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