Geant4  10.01.p01
G4PixeCrossSectionHandler Class Reference

#include <G4PixeCrossSectionHandler.hh>

+ Collaboration diagram for G4PixeCrossSectionHandler:

Public Member Functions

 G4PixeCrossSectionHandler ()
 
 G4PixeCrossSectionHandler (G4IInterpolator *interpolation, const G4String &modelK="ecpssr", const G4String &modelL="ecpssr", const G4String &modelM="ecpssr", G4double minE=1 *CLHEP::keV, G4double maxE=0.1 *CLHEP::GeV, G4int nBins=200, G4double unitE=CLHEP::MeV, G4double unitData=CLHEP::barn, G4int minZ=6, G4int maxZ=92)
 
virtual ~G4PixeCrossSectionHandler ()
 
void Initialise (G4IInterpolator *interpolation, const G4String &modelK="ecpssr", const G4String &modelL="ecpssr", const G4String &modelM="ecpssr", G4double minE=1 *CLHEP::keV, G4double maxE=0.1 *CLHEP::GeV, G4int nBins=200, G4double unitE=CLHEP::MeV, G4double unitData=CLHEP::barn, G4int minZ=6, G4int maxZ=92)
 
G4int SelectRandomAtom (const G4Material *material, G4double e) const
 
G4int SelectRandomShell (G4int Z, G4double e) const
 
G4double FindValue (G4int Z, G4double e) const
 
G4double FindValue (G4int Z, G4double e, G4int shellIndex) const
 
G4double ValueForMaterial (const G4Material *material, G4double e) const
 
void LoadShellData (const G4String &dataFile)
 
G4double MicroscopicCrossSection (const G4ParticleDefinition *particleDef, G4double kineticEnergy, G4double Z, G4double deltaCut) const
 
void PrintData () const
 
void Clear ()
 

Private Member Functions

 G4PixeCrossSectionHandler (const G4PixeCrossSectionHandler &)
 
G4PixeCrossSectionHandleroperator= (const G4PixeCrossSectionHandler &right)
 
G4int NumberOfComponents (G4int Z) const
 
void ActiveElements ()
 
void BuildForMaterials ()
 
std::vector< G4IDataSet * > * BuildCrossSectionsForMaterials (const G4DataVector &energyVector)
 
G4IInterpolatorCreateInterpolation ()
 
const G4IInterpolatorGetInterpolation () const
 

Private Attributes

G4IInterpolatorinterpolation
 
G4double eMin
 
G4double eMax
 
G4int nBins
 
G4double unit1
 
G4double unit2
 
G4int zMin
 
G4int zMax
 
G4DataVector activeZ
 
std::map< G4int, G4IDataSet
*, std::less< G4int > > 
dataMap
 
std::vector< G4IDataSet * > * crossSections
 
std::vector< G4StringcrossModel
 

Detailed Description

Definition at line 60 of file G4PixeCrossSectionHandler.hh.

Constructor & Destructor Documentation

G4PixeCrossSectionHandler::G4PixeCrossSectionHandler ( )

Definition at line 61 of file G4PixeCrossSectionHandler.cc.

References ActiveElements(), barn, crossSections, GeV, Initialise(), interpolation, keV, and MeV.

+ Here is the call graph for this function:

G4PixeCrossSectionHandler::G4PixeCrossSectionHandler ( G4IInterpolator interpolation,
const G4String modelK = "ecpssr",
const G4String modelL = "ecpssr",
const G4String modelM = "ecpssr",
G4double  minE = 1*CLHEP::keV,
G4double  maxE = 0.1*CLHEP::GeV,
G4int  nBins = 200,
G4double  unitE = CLHEP::MeV,
G4double  unitData = CLHEP::barn,
G4int  minZ = 6,
G4int  maxZ = 92 
)

Definition at line 71 of file G4PixeCrossSectionHandler.cc.

References ActiveElements(), crossModel, and crossSections.

+ Here is the call graph for this function:

G4PixeCrossSectionHandler::~G4PixeCrossSectionHandler ( )
virtual

Definition at line 98 of file G4PixeCrossSectionHandler.cc.

References crossSections, dataMap, interpolation, n, and pos.

G4PixeCrossSectionHandler::G4PixeCrossSectionHandler ( const G4PixeCrossSectionHandler )
private

Member Function Documentation

void G4PixeCrossSectionHandler::ActiveElements ( )
private

Definition at line 576 of file G4PixeCrossSectionHandler.cc.

References activeZ, G4DataVector::contains(), FatalException, G4Exception(), G4Material::GetElementVector(), G4Material::GetMaterialTable(), G4Material::GetNumberOfElements(), G4Material::GetNumberOfMaterials(), G4Element::GetZ(), zMax, and zMin.

Referenced by Clear(), and G4PixeCrossSectionHandler().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::vector< G4IDataSet * > * G4PixeCrossSectionHandler::BuildCrossSectionsForMaterials ( const G4DataVector energyVector)
private

Definition at line 633 of file G4PixeCrossSectionHandler.cc.

References G4IDataSet::AddComponent(), G4IInterpolator::Clone(), CreateInterpolation(), density, FatalException, FindValue(), G4Exception(), G4Material::GetAtomicNumDensityVector(), G4Material::GetElementVector(), G4Material::GetMaterialTable(), G4Material::GetNumberOfElements(), G4Material::GetNumberOfMaterials(), zMax, and zMin.

Referenced by BuildForMaterials().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4PixeCrossSectionHandler::BuildForMaterials ( )
private

Definition at line 406 of file G4PixeCrossSectionHandler.cc.

References BuildCrossSectionsForMaterials(), crossSections, eMax, eMin, FatalException, G4Exception(), and nBins.

Referenced by LoadShellData().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4PixeCrossSectionHandler::Clear ( )

Definition at line 210 of file G4PixeCrossSectionHandler.cc.

References ActiveElements(), activeZ, dataMap, and pos.

+ Here is the call graph for this function:

G4IInterpolator * G4PixeCrossSectionHandler::CreateInterpolation ( )
private

Definition at line 605 of file G4PixeCrossSectionHandler.cc.

Referenced by BuildCrossSectionsForMaterials(), and Initialise().

+ Here is the caller graph for this function:

G4double G4PixeCrossSectionHandler::FindValue ( G4int  Z,
G4double  e 
) const

Definition at line 236 of file G4PixeCrossSectionHandler.cc.

References dataMap, G4IDataSet::FindValue(), G4cout, G4endl, and pos.

Referenced by BuildCrossSectionsForMaterials(), SelectRandomShell(), and ValueForMaterial().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4PixeCrossSectionHandler::FindValue ( G4int  Z,
G4double  e,
G4int  shellIndex 
) const

Definition at line 259 of file G4PixeCrossSectionHandler.cc.

References dataMap, G4IDataSet::FindValue(), G4cout, G4endl, G4IDataSet::GetComponent(), nComponents, G4IDataSet::NumberOfComponents(), and pos.

+ Here is the call graph for this function:

const G4IInterpolator* G4PixeCrossSectionHandler::GetInterpolation ( ) const
inlineprivate

Definition at line 131 of file G4PixeCrossSectionHandler.hh.

References interpolation.

void G4PixeCrossSectionHandler::Initialise ( G4IInterpolator interpolation,
const G4String modelK = "ecpssr",
const G4String modelL = "ecpssr",
const G4String modelM = "ecpssr",
G4double  minE = 1*CLHEP::keV,
G4double  maxE = 0.1*CLHEP::GeV,
G4int  nBins = 200,
G4double  unitE = CLHEP::MeV,
G4double  unitData = CLHEP::barn,
G4int  minZ = 6,
G4int  maxZ = 92 
)

Definition at line 126 of file G4PixeCrossSectionHandler.cc.

References CreateInterpolation(), crossModel, eMax, eMin, interpolation, nBins, unit1, unit2, zMax, and zMin.

Referenced by G4PixeCrossSectionHandler().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4PixeCrossSectionHandler::LoadShellData ( const G4String dataFile)

Definition at line 180 of file G4PixeCrossSectionHandler.cc.

References activeZ, BuildForMaterials(), G4IInterpolator::Clone(), crossModel, crossSections, dataMap, interpolation, and G4IDataSet::LoadData().

Referenced by G4hImpactIonisation::PostStepDoIt().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4PixeCrossSectionHandler::MicroscopicCrossSection ( const G4ParticleDefinition particleDef,
G4double  kineticEnergy,
G4double  Z,
G4double  deltaCut 
) const

Definition at line 695 of file G4PixeCrossSectionHandler.cc.

References G4INCL::KinematicsUtils::energy(), G4ParticleDefinition::GetPDGMass(), and G4ParticleDefinition::GetPDGSpin().

+ Here is the call graph for this function:

G4int G4PixeCrossSectionHandler::NumberOfComponents ( G4int  Z) const
private

Definition at line 611 of file G4PixeCrossSectionHandler.cc.

References dataMap, G4cout, G4endl, n, G4IDataSet::NumberOfComponents(), and pos.

+ Here is the call graph for this function:

G4PixeCrossSectionHandler& G4PixeCrossSectionHandler::operator= ( const G4PixeCrossSectionHandler right)
private
void G4PixeCrossSectionHandler::PrintData ( void  ) const

Definition at line 159 of file G4PixeCrossSectionHandler.cc.

References dataMap, G4cout, G4endl, pos, G4IDataSet::PrintData(), and z.

+ Here is the call graph for this function:

G4int G4PixeCrossSectionHandler::SelectRandomAtom ( const G4Material material,
G4double  e 
) const

Definition at line 448 of file G4PixeCrossSectionHandler.cc.

References G4IDataSet::FindValue(), G4UniformRand, G4IDataSet::GetComponent(), G4Material::GetElementVector(), G4Material::GetIndex(), G4Material::GetNumberOfElements(), and G4Material::GetZ().

Referenced by G4hImpactIonisation::PostStepDoIt().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4PixeCrossSectionHandler::SelectRandomShell ( G4int  Z,
G4double  e 
) const

Definition at line 538 of file G4PixeCrossSectionHandler.cc.

References dataMap, G4IDataSet::FindValue(), FindValue(), G4UniformRand, G4IDataSet::GetComponent(), G4IDataSet::NumberOfComponents(), and pos.

Referenced by G4hImpactIonisation::PostStepDoIt().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4PixeCrossSectionHandler::ValueForMaterial ( const G4Material material,
G4double  e 
) const

Definition at line 299 of file G4PixeCrossSectionHandler.cc.

References FindValue(), G4Material::GetElementVector(), G4Material::GetNumberOfElements(), and G4Material::GetVecNbOfAtomsPerVolume().

+ Here is the call graph for this function:

Member Data Documentation

G4DataVector G4PixeCrossSectionHandler::activeZ
private

Definition at line 145 of file G4PixeCrossSectionHandler.hh.

Referenced by ActiveElements(), Clear(), and LoadShellData().

std::vector<G4String> G4PixeCrossSectionHandler::crossModel
private
std::vector<G4IDataSet*>* G4PixeCrossSectionHandler::crossSections
private
std::map<G4int,G4IDataSet*,std::less<G4int> > G4PixeCrossSectionHandler::dataMap
private
G4double G4PixeCrossSectionHandler::eMax
private

Definition at line 136 of file G4PixeCrossSectionHandler.hh.

Referenced by BuildForMaterials(), and Initialise().

G4double G4PixeCrossSectionHandler::eMin
private

Definition at line 135 of file G4PixeCrossSectionHandler.hh.

Referenced by BuildForMaterials(), and Initialise().

G4IInterpolator* G4PixeCrossSectionHandler::interpolation
private
G4int G4PixeCrossSectionHandler::nBins
private

Definition at line 137 of file G4PixeCrossSectionHandler.hh.

Referenced by BuildForMaterials(), and Initialise().

G4double G4PixeCrossSectionHandler::unit1
private

Definition at line 139 of file G4PixeCrossSectionHandler.hh.

Referenced by Initialise().

G4double G4PixeCrossSectionHandler::unit2
private

Definition at line 140 of file G4PixeCrossSectionHandler.hh.

Referenced by Initialise().

G4int G4PixeCrossSectionHandler::zMax
private
G4int G4PixeCrossSectionHandler::zMin
private

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