Geant4  10.02.p02
G4PenelopeBremsstrahlungFS Class Reference

#include <G4PenelopeBremsstrahlungFS.hh>

+ Collaboration diagram for G4PenelopeBremsstrahlungFS:

Public Member Functions

 G4PenelopeBremsstrahlungFS (G4int verbosity=0)
 Only master models are supposed to create instances. More...
 
 ~G4PenelopeBremsstrahlungFS ()
 
G4double GetEffectiveZSquared (const G4Material *mat) const
 Master and workers (do not touch tables) All of them are const. More...
 
size_t GetNBinsX () const
 
G4double GetMomentumIntegral (G4double *y, G4double up, G4int momOrder) const
 
const G4PhysicsTableGetScaledXSTable (const G4Material *, const G4double cut) const
 
G4double SampleGammaEnergy (G4double energy, const G4Material *, const G4double cut) const
 
void ClearTables (G4bool isMaster=true)
 Reserved for the master model: they build and handle tables. More...
 
void BuildScaledXSTable (const G4Material *material, G4double cut, G4bool isMaster)
 
void SetVerbosity (G4int ver)
 
G4int GetVerbosity ()
 

Private Member Functions

G4PenelopeBremsstrahlungFSoperator= (const G4PenelopeBremsstrahlungFS &right)
 
 G4PenelopeBremsstrahlungFS (const G4PenelopeBremsstrahlungFS &)
 
void ReadDataFile (G4int Z)
 
void InitializeEnergySampling (const G4Material *, G4double cut)
 

Private Attributes

std::map< std::pair< const
G4Material *, G4double >
, G4PhysicsTable * > * 
theReducedXSTable
 
std::map< const G4Material
*, G4double > * 
theEffectiveZSq
 
G4double theXGrid [nBinsX]
 
G4double theEGrid [nBinsE]
 
std::map< G4int, G4DataVector * > * theElementData
 
std::map< std::pair< const
G4Material *, G4double >
, G4PhysicsTable * > * 
theSamplingTable
 
std::map< std::pair< const
G4Material *, G4double >
, G4PhysicsFreeVector * > * 
thePBcut
 
G4Cache< G4PhysicsFreeVector * > fCache
 
G4int fVerbosity
 

Static Private Attributes

static const size_t nBinsE = 57
 
static const size_t nBinsX = 32
 

Detailed Description

Definition at line 61 of file G4PenelopeBremsstrahlungFS.hh.

Constructor & Destructor Documentation

G4PenelopeBremsstrahlungFS::G4PenelopeBremsstrahlungFS ( G4int  verbosity = 0)

Only master models are supposed to create instances.

Definition at line 52 of file G4PenelopeBremsstrahlungFS.cc.

References fCache, nBinsE, nBinsX, G4Cache< VALTYPE >::Put(), theEGrid, theElementData, and theXGrid.

+ Here is the call graph for this function:

G4PenelopeBremsstrahlungFS::~G4PenelopeBremsstrahlungFS ( )

Definition at line 74 of file G4PenelopeBremsstrahlungFS.cc.

References ClearTables(), and theElementData.

+ Here is the call graph for this function:

G4PenelopeBremsstrahlungFS::G4PenelopeBremsstrahlungFS ( const G4PenelopeBremsstrahlungFS )
private

Member Function Documentation

void G4PenelopeBremsstrahlungFS::BuildScaledXSTable ( const G4Material material,
G4double  cut,
G4bool  isMaster 
)

Definition at line 178 of file G4PenelopeBremsstrahlungFS.cc.

References barn, G4PhysicsVector::Energy(), eV, fact, FatalException, fVerbosity, g, G4cout, G4endl, G4Exception(), G4Material::GetElementVector(), G4Material::GetFractionVector(), GetMomentumIntegral(), G4Material::GetName(), G4Material::GetNumberOfElements(), InitializeEnergySampling(), keV, millibarn, mole, nBinsE, nBinsX, G4PhysicsTable::push_back(), G4PhysicsFreeVector::PutValue(), ReadDataFile(), theEffectiveZSq, theEGrid, theElementData, thePBcut, theReducedXSTable, and theSamplingTable.

Referenced by G4PenelopeBremsstrahlungModel::GetCrossSectionTableForCouple(), and G4PenelopeBremsstrahlungModel::Initialise().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4PenelopeBremsstrahlungFS::ClearTables ( G4bool  isMaster = true)

Reserved for the master model: they build and handle tables.

Definition at line 96 of file G4PenelopeBremsstrahlungFS.cc.

References FatalException, G4Exception(), tab(), theEffectiveZSq, thePBcut, theReducedXSTable, and theSamplingTable.

Referenced by G4PenelopeBremsstrahlungModel::ClearTables(), and ~G4PenelopeBremsstrahlungFS().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4PenelopeBremsstrahlungFS::GetEffectiveZSquared ( const G4Material mat) const

Master and workers (do not touch tables) All of them are const.

Definition at line 151 of file G4PenelopeBremsstrahlungFS.cc.

References FatalException, G4endl, G4Exception(), G4Material::GetName(), and theEffectiveZSq.

Referenced by G4PenelopeBremsstrahlungModel::BuildXSTable(), and G4PenelopeBremsstrahlungModel::GetPositronXSCorrection().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4PenelopeBremsstrahlungFS::GetMomentumIntegral ( G4double y,
G4double  up,
G4int  momOrder 
) const

Definition at line 442 of file G4PenelopeBremsstrahlungFS.cc.

References a, eps, FatalException, G4endl, G4Exception(), G4INCL::Math::max(), and G4INCL::Math::min().

Referenced by BuildScaledXSTable(), G4PenelopeBremsstrahlungModel::BuildXSTable(), and InitializeEnergySampling().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

size_t G4PenelopeBremsstrahlungFS::GetNBinsX ( ) const
inline

Definition at line 73 of file G4PenelopeBremsstrahlungFS.hh.

References nBinsX.

Referenced by G4PenelopeBremsstrahlungModel::BuildXSTable().

+ Here is the caller graph for this function:

const G4PhysicsTable * G4PenelopeBremsstrahlungFS::GetScaledXSTable ( const G4Material mat,
const G4double  cut 
) const

Definition at line 518 of file G4PenelopeBremsstrahlungFS.cc.

References FatalException, G4Exception(), and theReducedXSTable.

Referenced by G4PenelopeBremsstrahlungModel::BuildXSTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4PenelopeBremsstrahlungFS::GetVerbosity ( )
inline

Definition at line 87 of file G4PenelopeBremsstrahlungFS.hh.

References fVerbosity.

void G4PenelopeBremsstrahlungFS::InitializeEnergySampling ( const G4Material material,
G4double  cut 
)
private

Definition at line 535 of file G4PenelopeBremsstrahlungFS.cc.

References A(), B(), FatalException, fVerbosity, G4cout, G4endl, G4Exception(), G4Exp(), GetMomentumIntegral(), G4Material::GetName(), G4INCL::Math::max(), nBinsE, nBinsX, G4PhysicsTable::push_back(), G4PhysicsFreeVector::PutValue(), theEGrid, thePBcut, theReducedXSTable, theSamplingTable, and theXGrid.

Referenced by BuildScaledXSTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4PenelopeBremsstrahlungFS& G4PenelopeBremsstrahlungFS::operator= ( const G4PenelopeBremsstrahlungFS right)
private
void G4PenelopeBremsstrahlungFS::ReadDataFile ( G4int  Z)
private

Definition at line 373 of file G4PenelopeBremsstrahlungFS.cc.

References eV, FatalException, G4endl, G4Exception(), millibarn, nBinsE, nBinsX, theEGrid, and theElementData.

Referenced by BuildScaledXSTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4PenelopeBremsstrahlungFS::SampleGammaEnergy ( G4double  energy,
const G4Material mat,
const G4double  cut 
) const

Definition at line 611 of file G4PenelopeBremsstrahlungFS.cc.

References A(), B(), G4INCL::KinematicsUtils::energy(), FatalException, fCache, fVerbosity, G4cout, G4endl, G4Exception(), G4Exp(), G4UniformRand, G4Cache< VALTYPE >::Get(), G4Material::GetName(), JustWarning, keV, G4INCL::Math::max(), nBinsE, nBinsX, G4Cache< VALTYPE >::Put(), G4PhysicsFreeVector::PutValue(), theEGrid, thePBcut, theReducedXSTable, theSamplingTable, and theXGrid.

Referenced by G4PenelopeBremsstrahlungModel::SampleSecondaries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4PenelopeBremsstrahlungFS::SetVerbosity ( G4int  ver)
inline

Definition at line 86 of file G4PenelopeBremsstrahlungFS.hh.

References fVerbosity.

Member Data Documentation

G4Cache<G4PhysicsFreeVector*> G4PenelopeBremsstrahlungFS::fCache
private

Definition at line 133 of file G4PenelopeBremsstrahlungFS.hh.

Referenced by G4PenelopeBremsstrahlungFS(), and SampleGammaEnergy().

G4int G4PenelopeBremsstrahlungFS::fVerbosity
private
const size_t G4PenelopeBremsstrahlungFS::nBinsE = 57
staticprivate
const size_t G4PenelopeBremsstrahlungFS::nBinsX = 32
staticprivate
std::map<const G4Material*,G4double>* G4PenelopeBremsstrahlungFS::theEffectiveZSq
private
G4double G4PenelopeBremsstrahlungFS::theEGrid[nBinsE]
private
std::map<G4int,G4DataVector*>* G4PenelopeBremsstrahlungFS::theElementData
private
std::map< std::pair<const G4Material*,G4double> , G4PhysicsFreeVector* >* G4PenelopeBremsstrahlungFS::thePBcut
private
std::map< std::pair<const G4Material*,G4double> , G4PhysicsTable*>* G4PenelopeBremsstrahlungFS::theReducedXSTable
private
std::map< std::pair<const G4Material*,G4double> , G4PhysicsTable*>* G4PenelopeBremsstrahlungFS::theSamplingTable
private
G4double G4PenelopeBremsstrahlungFS::theXGrid[nBinsX]
private

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