ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4ElectroNuclearCrossSection Class Reference

#include <geant4/tree/geant4-10.6-release/source/processes/hadronic/cross_sections/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=nullptr, const G4Material *mat=nullptr)
 
G4double GetCrossSection (const G4DynamicParticle *, const G4Element *, const G4Material *mat=nullptr)
 
G4double ComputeCrossSection (const G4DynamicParticle *, const G4Element *, const G4Material *mat=nullptr)
 
virtual G4double GetIsoCrossSection (const G4DynamicParticle *, G4int Z, G4int A, const G4Isotope *iso=nullptr, const G4Element *elm=nullptr, const G4Material *mat=nullptr)
 
virtual const G4IsotopeSelectIsotope (const G4Element *, G4double kinEnergy, G4double logE)
 
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)
 
bool ForAllAtomsAndEnergies () const
 
void SetForAllAtomsAndEnergies (G4bool val)
 
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.

View newest version in sPHENIX GitHub at line 58 of file G4ElectroNuclearCrossSection.hh

Constructor & Destructor Documentation

G4ElectroNuclearCrossSection::G4ElectroNuclearCrossSection ( )

Definition at line 2180 of file G4ElectroNuclearCrossSection.cc.

View newest version in sPHENIX GitHub at line 2180 of file G4ElectroNuclearCrossSection.cc

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

+ Here is the call graph for this function:

G4ElectroNuclearCrossSection::~G4ElectroNuclearCrossSection ( )
virtual

Definition at line 2196 of file G4ElectroNuclearCrossSection.cc.

View newest version in sPHENIX GitHub at line 2196 of file G4ElectroNuclearCrossSection.cc

References cache, it, and lastUsedCacheEl.

Member Function Documentation

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

Reimplemented from G4VCrossSectionDataSet.

Definition at line 2245 of file G4ElectroNuclearCrossSection.cc.

View newest version in sPHENIX GitHub at line 2245 of file G4ElectroNuclearCrossSection.cc

static const char* G4ElectroNuclearCrossSection::Default_Name ( )
inlinestatic

Definition at line 65 of file G4ElectroNuclearCrossSection.hh.

View newest version in sPHENIX GitHub 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 2228 of file G4ElectroNuclearCrossSection.cc.

View newest version in sPHENIX GitHub at line 2228 of file G4ElectroNuclearCrossSection.cc

References G4Exp(), lastG, lmel, poc, Acts::Test::pos, reg, shd, and y.

Referenced by SolveTheEquation().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4ElectroNuclearCrossSection::Fun ( G4double  x)
private

Definition at line 2235 of file G4ElectroNuclearCrossSection.cc.

View newest version in sPHENIX GitHub at line 2235 of file G4ElectroNuclearCrossSection.cc

References G4Exp(), 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 2263 of file G4ElectroNuclearCrossSection.cc.

View newest version in sPHENIX GitHub at line 2263 of file G4ElectroNuclearCrossSection.cc

References alop, cache, dlnE, EMi, cacheEl_t::F, G4Log(), 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, mLL, N, 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 2433 of file G4ElectroNuclearCrossSection.cc.

View newest version in sPHENIX GitHub at line 2433 of file G4ElectroNuclearCrossSection.cc

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

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 2512 of file G4ElectroNuclearCrossSection.cc.

View newest version in sPHENIX GitHub at line 2512 of file G4ElectroNuclearCrossSection.cc

References Dy, G4Exp(), G4Log(), G4UniformRand, lastE, lastG, lastSig, mel2, Acts::IntegrationTest::R, y, and y2.

Referenced by G4ElectroVDNuclearModel::ApplyYourself().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 2381 of file G4ElectroNuclearCrossSection.cc.

View newest version in sPHENIX GitHub at line 2381 of file G4ElectroNuclearCrossSection.cc

References A, kdfinder::abs(), b, G4cout, G4endl, k, k1, LL, nE, nN, P0, P1, P2, and r.

Referenced by GetElementCrossSection().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 2556 of file G4ElectroNuclearCrossSection.cc.

View newest version in sPHENIX GitHub at line 2556 of file G4ElectroNuclearCrossSection.cc

References b, blK0, bp, c, clK0, cp, dM, G4Exp(), G4Log(), Q02, r, and x.

Referenced by G4ElectroVDNuclearModel::CalculateEMVertex().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4ElectroNuclearCrossSection::HighEnergyJ1 ( G4double  lE)
private

Definition at line 2213 of file G4ElectroNuclearCrossSection.cc.

View newest version in sPHENIX GitHub at line 2213 of file G4ElectroNuclearCrossSection.cc

References ab, cd, ele, G4Exp(), ha, lEMa, lEMa2, and reg.

Referenced by Fun(), and GetElementCrossSection().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 2218 of file G4ElectroNuclearCrossSection.cc.

View newest version in sPHENIX GitHub at line 2218 of file G4ElectroNuclearCrossSection.cc

References ab, cd1, d1, ele1, EMa, G4Exp(), le1, and poc.

Referenced by Fun(), and GetElementCrossSection().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 2223 of file G4ElectroNuclearCrossSection.cc.

View newest version in sPHENIX GitHub at line 2223 of file G4ElectroNuclearCrossSection.cc

References cd2, d2, ele2, EMa2, G4Exp(), ha, hab, and leh.

Referenced by Fun(), and GetElementCrossSection().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Reimplemented from G4VCrossSectionDataSet.

Definition at line 2257 of file G4ElectroNuclearCrossSection.cc.

View newest version in sPHENIX GitHub at line 2257 of file G4ElectroNuclearCrossSection.cc

G4double G4ElectroNuclearCrossSection::SolveTheEquation ( G4double  f)
private

Definition at line 2486 of file G4ElectroNuclearCrossSection.cc.

View newest version in sPHENIX GitHub at line 2486 of file G4ElectroNuclearCrossSection.cc

References kdfinder::abs(), currentN, currentZ, d, DFun(), EMa, eps, Fun(), G4cerr, G4endl, G4Exp(), imax, lastG, lEMa, lmel, phte, and x.

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 2352 of file G4ElectroNuclearCrossSection.cc.

View newest version in sPHENIX GitHub at line 2352 of file G4ElectroNuclearCrossSection.cc

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

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

Definition at line 99 of file G4ElectroNuclearCrossSection.hh.

View newest version in sPHENIX GitHub at line 99 of file G4ElectroNuclearCrossSection.hh

Referenced by G4ElectroNuclearCrossSection(), GetElementCrossSection(), and ~G4ElectroNuclearCrossSection().

G4int G4ElectroNuclearCrossSection::currentN
private

Definition at line 94 of file G4ElectroNuclearCrossSection.hh.

View newest version in sPHENIX GitHub at line 94 of file G4ElectroNuclearCrossSection.hh

Referenced by GetEquivalentPhotonEnergy(), and SolveTheEquation().

G4int G4ElectroNuclearCrossSection::currentZ
private

Definition at line 95 of file G4ElectroNuclearCrossSection.hh.

View newest version in sPHENIX GitHub at line 95 of file G4ElectroNuclearCrossSection.hh

Referenced by GetEquivalentPhotonEnergy(), and SolveTheEquation().

G4double G4ElectroNuclearCrossSection::lastE
private

Definition at line 104 of file G4ElectroNuclearCrossSection.hh.

View newest version in sPHENIX GitHub at line 104 of file G4ElectroNuclearCrossSection.hh

Referenced by Fun(), GetElementCrossSection(), GetEquivalentPhotonEnergy(), and GetEquivalentPhotonQ2().

G4double G4ElectroNuclearCrossSection::lastG
private

Definition at line 106 of file G4ElectroNuclearCrossSection.hh.

View newest version in sPHENIX GitHub at line 106 of file G4ElectroNuclearCrossSection.hh

Referenced by DFun(), Fun(), GetElementCrossSection(), GetEquivalentPhotonEnergy(), GetEquivalentPhotonQ2(), and SolveTheEquation().

G4int G4ElectroNuclearCrossSection::lastL
private

Definition at line 107 of file G4ElectroNuclearCrossSection.hh.

View newest version in sPHENIX GitHub at line 107 of file G4ElectroNuclearCrossSection.hh

Referenced by GetElementCrossSection(), and GetEquivalentPhotonEnergy().

G4double G4ElectroNuclearCrossSection::lastSig
private

Definition at line 105 of file G4ElectroNuclearCrossSection.hh.

View newest version in sPHENIX GitHub at line 105 of file G4ElectroNuclearCrossSection.hh

Referenced by GetElementCrossSection(), GetEquivalentPhotonEnergy(), and GetEquivalentPhotonQ2().

cacheEl_t* G4ElectroNuclearCrossSection::lastUsedCacheEl
private
G4int G4ElectroNuclearCrossSection::lastZ
private

Definition at line 98 of file G4ElectroNuclearCrossSection.hh.

View newest version in sPHENIX GitHub at line 98 of file G4ElectroNuclearCrossSection.hh

Referenced by GetElementCrossSection().

const G4double G4ElectroNuclearCrossSection::mNeut
private

Definition at line 109 of file G4ElectroNuclearCrossSection.hh.

View newest version in sPHENIX GitHub at line 109 of file G4ElectroNuclearCrossSection.hh

Referenced by ThresholdEnergy().

const G4double G4ElectroNuclearCrossSection::mProt
private

Definition at line 110 of file G4ElectroNuclearCrossSection.hh.

View newest version in sPHENIX GitHub at line 110 of file G4ElectroNuclearCrossSection.hh

Referenced by ThresholdEnergy().

G4NistManager* G4ElectroNuclearCrossSection::nistmngr
private

Definition at line 101 of file G4ElectroNuclearCrossSection.hh.

View newest version in sPHENIX GitHub at line 101 of file G4ElectroNuclearCrossSection.hh

Referenced by G4ElectroNuclearCrossSection(), and GetElementCrossSection().


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