Geant4  10.03
G4SandiaTable Class Reference

#include <G4SandiaTable.hh>

+ Collaboration diagram for G4SandiaTable:

Public Member Functions

 G4SandiaTable (G4Material *)
 
 ~G4SandiaTable ()
 
void GetSandiaCofPerAtom (G4int Z, G4double energy, std::vector< G4double > &coeff) const
 
void GetSandiaCofWater (G4double energy, std::vector< G4double > &coeff) const
 
G4double GetWaterEnergyLimit () const
 
G4double GetWaterCofForMaterial (G4int, G4int) const
 
G4int GetMatNbOfIntervals () const
 
G4double GetSandiaCofForMaterial (G4int, G4int) const
 
G4double GetSandiaMatTable (G4int, G4int) const
 
const G4doubleGetSandiaCofForMaterial (G4double energy) const
 
G4double GetSandiaMatTablePAI (G4int, G4int) const
 
const G4doubleGetSandiaCofForMaterialPAI (G4double energy) const
 
void SetVerbose (G4int ver)
 
 G4SandiaTable (__void__ &)
 
 G4SandiaTable (G4int matIndex)
 
 G4SandiaTable ()
 
void Initialize (G4Material *)
 
G4int SandiaIntervals (G4int Z[], G4int el)
 
G4int SandiaMixing (G4int Z[], const G4double *fractionW, G4int el, G4int mi)
 
G4double GetPhotoAbsorpCof (G4int i, G4int j) const
 
G4int GetMaxInterval () const
 
G4bool GetLowerI1 ()
 
void SetLowerI1 (G4bool flag)
 

Static Public Member Functions

static G4double GetZtoA (G4int Z)
 

Private Member Functions

void ComputeMatSandiaMatrix ()
 
void ComputeMatSandiaMatrixPAI ()
 
G4double GetSandiaPerAtom (G4int Z, G4int, G4int) const
 
void ComputeMatTable ()
 
void SandiaSwap (G4double **da, G4int i, G4int j)
 
void SandiaSort (G4double **da, G4int sz)
 
G4double ** GetPointerToCof ()
 
 G4SandiaTable (G4SandiaTable &)=delete
 
G4SandiaTableoperator= (const G4SandiaTable &right)=delete
 

Private Attributes

std::vector< G4doublefSandiaCofPerAtom
 
G4MaterialfMaterial
 
G4int fMatNbOfIntervals
 
G4OrderedTablefMatSandiaMatrix
 
G4OrderedTablefMatSandiaMatrixPAI
 
G4double ** fPhotoAbsorptionCof
 
G4int fMaxInterval
 
G4int fVerbose
 
G4bool fLowerI1
 

Static Private Attributes

static G4int fCumulInterval [101] = {0}
 
static const G4double funitc [5]
 
static const G4double fSandiaTable [981][5]
 
static const G4int fNumberOfElements = 100
 
static const G4int fIntervalLimit = 100
 
static const G4int fNumberOfIntervals = 980
 
static const G4int fH2OlowerInt = 23
 

Detailed Description

Definition at line 66 of file G4SandiaTable.hh.

Constructor & Destructor Documentation

G4SandiaTable::G4SandiaTable ( G4Material material)

Definition at line 68 of file G4SandiaTable.cc.

References ComputeMatSandiaMatrix(), fCumulInterval, fLowerI1, fMatNbOfIntervals, fMatSandiaMatrix, fMatSandiaMatrixPAI, fMaxInterval, fNbOfIntervals, fPhotoAbsorptionCof, fSandiaCofPerAtom, and fVerbose.

+ Here is the call graph for this function:

G4SandiaTable::~G4SandiaTable ( )

Definition at line 114 of file G4SandiaTable.cc.

References G4OrderedTable::clearAndDestroy(), fMatSandiaMatrix, fMatSandiaMatrixPAI, and fPhotoAbsorptionCof.

+ Here is the call graph for this function:

G4SandiaTable::G4SandiaTable ( __void__ &  )

Definition at line 101 of file G4SandiaTable.cc.

References fLowerI1, fMatNbOfIntervals, fMaxInterval, fSandiaCofPerAtom, and fVerbose.

G4SandiaTable::G4SandiaTable ( G4int  matIndex)

Definition at line 661 of file G4SandiaTable.cc.

References FatalException, fLowerI1, fMaterial, fMatNbOfIntervals, fMatSandiaMatrix, fMatSandiaMatrixPAI, fMaxInterval, fPhotoAbsorptionCof, fSandiaCofPerAtom, fVerbose, G4Exception(), G4Material::GetMaterialTable(), and G4Material::GetNumberOfMaterials().

+ Here is the call graph for this function:

G4SandiaTable::G4SandiaTable ( )
G4SandiaTable::G4SandiaTable ( G4SandiaTable )
privatedelete

Member Function Documentation

void G4SandiaTable::ComputeMatSandiaMatrix ( )
private

Definition at line 249 of file G4SandiaTable.cc.

References DBL_MAX, Emin, eV, fCumulInterval, fIonizationPotentials, fMaterial, fMatNbOfIntervals, fMatSandiaMatrix, fNbOfIntervals, fSandiaCofPerAtom, fSandiaTable, fVerbose, G4cout, G4endl, G4lrint(), G4Material::GetElementVector(), G4Material::GetName(), G4Material::GetNumberOfElements(), GetSandiaCofForMaterial(), GetSandiaCofPerAtom(), G4Material::GetVecNbOfAtomsPerVolume(), keV, G4INCL::Math::max(), G4INCL::Math::min(), and CLHEP::prec.

Referenced by G4SandiaTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4SandiaTable::ComputeMatSandiaMatrixPAI ( )
private

Definition at line 382 of file G4SandiaTable.cc.

References fH2OlowerI1, fH2OlowerInt, fIonizationPotentials, fLowerI1, fMaterial, fMatSandiaMatrixPAI, fMaxInterval, fNbOfIntervals, fSandiaTable, funitc, fVerbose, G4cout, G4endl, G4lrint(), G4Material::GetDensity(), G4Material::GetElementVector(), G4Material::GetFractionVector(), G4Material::GetName(), G4Material::GetNumberOfElements(), GetSandiaMatTablePAI(), and keV.

Referenced by Initialize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4SandiaTable::ComputeMatTable ( )
private

Definition at line 1054 of file G4SandiaTable.cc.

References fIonizationPotentials, fMaterial, fMatNbOfIntervals, fMatSandiaMatrix, fMaxInterval, fNbOfIntervals, fPhotoAbsorptionCof, fSandiaTable, fVerbose, G4cout, G4endl, G4Material::GetElementVector(), G4Material::GetFractionVector(), G4Material::GetName(), G4Material::GetNumberOfElements(), GetSandiaCofForMaterial(), keV, and SandiaSort().

Referenced by GetPointerToCof().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4SandiaTable::GetLowerI1 ( )
inline

Definition at line 153 of file G4SandiaTable.hh.

References fLowerI1.

Referenced by G4PAIxSection::Initialize().

+ Here is the caller graph for this function:

G4int G4SandiaTable::GetMatNbOfIntervals ( ) const

Definition at line 949 of file G4SandiaTable.cc.

References fMatNbOfIntervals.

G4int G4SandiaTable::GetMaxInterval ( ) const

Definition at line 716 of file G4SandiaTable.cc.

References fMaxInterval.

Referenced by G4InitXscPAI::G4InitXscPAI(), G4PAIySection::Initialize(), and G4PAIxSection::Initialize().

+ Here is the caller graph for this function:

G4double G4SandiaTable::GetPhotoAbsorpCof ( G4int  i,
G4int  j 
) const

Definition at line 742 of file G4SandiaTable.cc.

References fPhotoAbsorptionCof, and funitc.

Referenced by G4PAIxSection::G4PAIxSection().

+ Here is the caller graph for this function:

G4double ** G4SandiaTable::GetPointerToCof ( )
private

Definition at line 723 of file G4SandiaTable.cc.

References ComputeMatTable(), and fPhotoAbsorptionCof.

+ Here is the call graph for this function:

G4double G4SandiaTable::GetSandiaCofForMaterial ( G4int  interval,
G4int  j 
) const

Definition at line 983 of file G4SandiaTable.cc.

References fMatNbOfIntervals, and fMatSandiaMatrix.

Referenced by ComputeMatSandiaMatrix(), ComputeMatTable(), G4PEEffectFluoModel::CrossSectionPerVolume(), G4VXTRenergyLoss::GetGasLinearPhotoAbs(), G4StrawTubeXTRadiator::GetMediumLinearPhotoAbs(), and G4VXTRenergyLoss::GetPlateLinearPhotoAbs().

+ Here is the caller graph for this function:

const G4double * G4SandiaTable::GetSandiaCofForMaterial ( G4double  energy) const

Definition at line 1001 of file G4SandiaTable.cc.

References fMatNbOfIntervals, and fMatSandiaMatrix.

const G4double* G4SandiaTable::GetSandiaCofForMaterialPAI ( G4double  energy) const
void G4SandiaTable::GetSandiaCofPerAtom ( G4int  Z,
G4double  energy,
std::vector< G4double > &  coeff 
) const

Definition at line 135 of file G4SandiaTable.cc.

References Emin, fCumulInterval, fNbOfIntervals, fSandiaTable, funitc, fZtoAratio, and keV.

Referenced by G4PEEffectFluoModel::ComputeCrossSectionPerAtom(), and ComputeMatSandiaMatrix().

+ Here is the caller graph for this function:

void G4SandiaTable::GetSandiaCofWater ( G4double  energy,
std::vector< G4double > &  coeff 
) const

Definition at line 176 of file G4SandiaTable.cc.

References fH2OlowerI1, fH2OlowerInt, funitc, and keV.

Referenced by G4LivermorePhotoElectricModel::CrossSectionPerVolume(), and G4LivermorePolarizedPhotoElectricModel::CrossSectionPerVolume().

+ Here is the caller graph for this function:

G4double G4SandiaTable::GetSandiaMatTable ( G4int  interval,
G4int  j 
) const

Definition at line 1016 of file G4SandiaTable.cc.

References fMatNbOfIntervals, fMatSandiaMatrix, and funitc.

Referenced by G4InitXscPAI::G4InitXscPAI().

+ Here is the caller graph for this function:

G4double G4SandiaTable::GetSandiaMatTablePAI ( G4int  interval,
G4int  j 
) const

Definition at line 1034 of file G4SandiaTable.cc.

References fMatSandiaMatrixPAI, and fMaxInterval.

Referenced by ComputeMatSandiaMatrixPAI(), G4PAIySection::Initialize(), and G4PAIxSection::Initialize().

+ Here is the caller graph for this function:

G4double G4SandiaTable::GetSandiaPerAtom ( G4int  Z,
G4int  interval,
G4int  j 
) const
private

Definition at line 957 of file G4SandiaTable.cc.

References fCumulInterval, fNbOfIntervals, fSandiaTable, funitc, fZtoAratio, and keV.

G4double G4SandiaTable::GetWaterCofForMaterial ( G4int  i,
G4int  j 
) const

Definition at line 207 of file G4SandiaTable.cc.

References fH2OlowerI1, and funitc.

G4double G4SandiaTable::GetWaterEnergyLimit ( ) const

Definition at line 200 of file G4SandiaTable.cc.

References fH2OlowerI1, fH2OlowerInt, and keV.

G4double G4SandiaTable::GetZtoA ( G4int  Z)
static

Definition at line 214 of file G4SandiaTable.cc.

References fZtoAratio.

Referenced by G4ParticleHPNames::GetName().

+ Here is the caller graph for this function:

void G4SandiaTable::Initialize ( G4Material mat)

Definition at line 708 of file G4SandiaTable.cc.

References ComputeMatSandiaMatrixPAI(), and fMaterial.

+ Here is the call graph for this function:

G4SandiaTable& G4SandiaTable::operator= ( const G4SandiaTable right)
privatedelete
G4int G4SandiaTable::SandiaIntervals ( G4int  Z[],
G4int  el 
)

Definition at line 769 of file G4SandiaTable.cc.

References fIonizationPotentials, fMaxInterval, fNbOfIntervals, fPhotoAbsorptionCof, fSandiaTable, fVerbose, G4cout, G4endl, keV, and SandiaSort().

Referenced by G4PAIxSection::G4PAIxSection().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4SandiaTable::SandiaMixing ( G4int  Z[],
const G4double fractionW,
G4int  el,
G4int  mi 
)

Definition at line 865 of file G4SandiaTable.cc.

References fIonizationPotentials, fNbOfIntervals, fPhotoAbsorptionCof, fSandiaTable, fVerbose, G4cout, G4endl, and keV.

Referenced by G4PAIxSection::G4PAIxSection().

+ Here is the caller graph for this function:

void G4SandiaTable::SandiaSort ( G4double **  da,
G4int  sz 
)
private

Definition at line 753 of file G4SandiaTable.cc.

References SandiaSwap().

Referenced by ComputeMatTable(), and SandiaIntervals().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4SandiaTable::SandiaSwap ( G4double **  da,
G4int  i,
G4int  j 
)
private

Definition at line 731 of file G4SandiaTable.cc.

Referenced by SandiaSort().

+ Here is the caller graph for this function:

void G4SandiaTable::SetLowerI1 ( G4bool  flag)
inline

Definition at line 154 of file G4SandiaTable.hh.

References fLowerI1.

void G4SandiaTable::SetVerbose ( G4int  ver)
inline

Definition at line 95 of file G4SandiaTable.hh.

References fVerbose.

Member Data Documentation

G4int G4SandiaTable::fCumulInterval = {0}
staticprivate
const G4int G4SandiaTable::fH2OlowerInt = 23
staticprivate
const G4int G4SandiaTable::fIntervalLimit = 100
staticprivate

Definition at line 172 of file G4SandiaTable.hh.

G4bool G4SandiaTable::fLowerI1
private

Definition at line 181 of file G4SandiaTable.hh.

Referenced by ComputeMatSandiaMatrixPAI(), G4SandiaTable(), GetLowerI1(), and SetLowerI1().

G4Material* G4SandiaTable::fMaterial
private
G4int G4SandiaTable::fMatNbOfIntervals
private
G4OrderedTable* G4SandiaTable::fMatSandiaMatrix
private
G4OrderedTable* G4SandiaTable::fMatSandiaMatrixPAI
private
G4int G4SandiaTable::fMaxInterval
private
const G4int G4SandiaTable::fNumberOfElements = 100
staticprivate

Definition at line 171 of file G4SandiaTable.hh.

const G4int G4SandiaTable::fNumberOfIntervals = 980
staticprivate

Definition at line 173 of file G4SandiaTable.hh.

G4double** G4SandiaTable::fPhotoAbsorptionCof
private
std::vector<G4double> G4SandiaTable::fSandiaCofPerAtom
private

Definition at line 122 of file G4SandiaTable.hh.

Referenced by ComputeMatSandiaMatrix(), and G4SandiaTable().

const G4double G4SandiaTable::fSandiaTable
staticprivate

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