Geant4  10.03
G4EmModelManager Class Reference

#include <G4EmModelManager.hh>

+ Collaboration diagram for G4EmModelManager:

Public Member Functions

 G4EmModelManager ()
 
 ~G4EmModelManager ()
 
void Clear ()
 
const G4DataVectorInitialise (const G4ParticleDefinition *part, const G4ParticleDefinition *secPart, G4double minSubRange, G4int verb)
 
void FillDEDXVector (G4PhysicsVector *, const G4MaterialCutsCouple *, G4EmTableType t=fRestricted)
 
void FillLambdaVector (G4PhysicsVector *, const G4MaterialCutsCouple *, G4bool startFromNull=true, G4EmTableType t=fRestricted)
 
void AddEmModel (G4int, G4VEmModel *, G4VEmFluctuationModel *, const G4Region *)
 
void UpdateEmModel (const G4String &model_name, G4double emin, G4double emax)
 
G4VEmModelGetModel (G4int idx, G4bool ver=false)
 
G4VEmModelGetRegionModel (G4int idx, size_t index_couple)
 
G4int NumberOfRegionModels (size_t index_couple) const
 
void DumpModelList (G4int verb)
 
G4VEmModelSelectModel (G4double &energy, size_t &index)
 
const G4DataVectorCuts () const
 
const G4DataVectorSubCutoff () const
 
void SetFluoFlag (G4bool val)
 
G4int NumberOfModels () const
 

Private Member Functions

G4double ComputeDEDX (G4VEmModel *model, const G4MaterialCutsCouple *, G4double kinEnergy, G4double cutEnergy, G4double minEnergy)
 
 G4EmModelManager (G4EmModelManager &)=delete
 
G4EmModelManageroperator= (const G4EmModelManager &right)=delete
 

Private Attributes

const G4DataVectortheCuts
 
G4DataVectortheCutsNew
 
G4DataVectortheSubCuts
 
std::vector< G4VEmModel * > models
 
std::vector
< G4VEmFluctuationModel * > 
flucModels
 
std::vector< const G4Region * > regions
 
std::vector< G4intorderOfModels
 
std::vector< G4intisUsed
 
G4int nEmModels
 
G4int nRegions
 
std::vector< G4intidxOfRegionModels
 
std::vector< G4RegionModels * > setOfRegionModels
 
G4double maxSubCutInRange
 
const G4ParticleDefinitionparticle
 
G4int verboseLevel
 
G4bool severalModels
 
G4bool fluoFlag
 
G4RegionModelscurrRegionModel
 
G4VEmModelcurrModel
 

Detailed Description

Definition at line 143 of file G4EmModelManager.hh.

Constructor & Destructor Documentation

G4EmModelManager::G4EmModelManager ( )
G4EmModelManager::~G4EmModelManager ( )

Definition at line 146 of file G4EmModelManager.cc.

References Clear(), theCutsNew, theSubCuts, and verboseLevel.

+ Here is the call graph for this function:

G4EmModelManager::G4EmModelManager ( G4EmModelManager )
privatedelete

Member Function Documentation

void G4EmModelManager::AddEmModel ( G4int  num,
G4VEmModel p,
G4VEmFluctuationModel fm,
const G4Region r 
)

Definition at line 172 of file G4EmModelManager.cc.

References G4VEmModel::DefineForRegion(), flucModels, G4cout, G4endl, isUsed, models, nEmModels, orderOfModels, and regions.

Referenced by G4VMultipleScattering::AddEmModel(), G4VEmProcess::AddEmModel(), G4VEnergyLossProcess::AddEmModel(), and G4AdjointBremsstrahlungModel::G4AdjointBremsstrahlungModel().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4EmModelManager::Clear ( )

Definition at line 156 of file G4EmModelManager.cc.

References G4cout, G4endl, n, setOfRegionModels, and verboseLevel.

Referenced by Initialise(), and ~G4EmModelManager().

+ Here is the caller graph for this function:

G4double G4EmModelManager::ComputeDEDX ( G4VEmModel model,
const G4MaterialCutsCouple couple,
G4double  kinEnergy,
G4double  cutEnergy,
G4double  minEnergy 
)
inlineprivate

Definition at line 288 of file G4EmModelManager.hh.

References G4VEmModel::ComputeDEDX(), and particle.

Referenced by FillDEDXVector().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const G4DataVector * G4EmModelManager::Cuts ( ) const
inline

Definition at line 259 of file G4EmModelManager.hh.

References theCuts.

void G4EmModelManager::FillDEDXVector ( G4PhysicsVector aVector,
const G4MaterialCutsCouple couple,
G4EmTableType  t = fRestricted 
)

Definition at line 644 of file G4EmModelManager.cc.

References ComputeDEDX(), DBL_MAX, G4PhysicsVector::Energy(), fSubRestricted, fTotal, G4cout, G4endl, G4MaterialCutsCouple::GetIndex(), G4MaterialCutsCouple::GetMaterial(), G4Material::GetName(), G4ParticleDefinition::GetParticleName(), G4PhysicsVector::GetVectorLength(), idxOfRegionModels, G4InuclParticleNames::k0, G4RegionModels::LowEdgeEnergy(), MeV, mm, G4RegionModels::ModelIndex(), models, nEmModels, nRegions, G4RegionModels::NumberOfModels(), particle, G4PhysicsVector::PutValue(), reg, setOfRegionModels, theSubCuts, and verboseLevel.

Referenced by G4VEnergyLossProcess::BuildDEDXTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4EmModelManager::FillLambdaVector ( G4PhysicsVector aVector,
const G4MaterialCutsCouple couple,
G4bool  startFromNull = true,
G4EmTableType  t = fRestricted 
)
G4VEmModel * G4EmModelManager::GetModel ( G4int  idx,
G4bool  ver = false 
)

Definition at line 210 of file G4EmModelManager.cc.

References G4cout, G4endl, G4ParticleDefinition::GetParticleName(), models, nEmModels, particle, and verboseLevel.

Referenced by G4VMultipleScattering::GetModelByIndex(), G4VEmProcess::GetModelByIndex(), G4VEnergyLossProcess::GetModelByIndex(), G4VMultipleScattering::PreparePhysicsTable(), G4VEmProcess::PreparePhysicsTable(), G4VEnergyLossProcess::PreparePhysicsTable(), and G4VMultipleScattering::StorePhysicsTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4VEmModel * G4EmModelManager::GetRegionModel ( G4int  idx,
size_t  index_couple 
)

Definition at line 226 of file G4EmModelManager.cc.

References idxOfRegionModels, G4RegionModels::ModelIndex(), models, and setOfRegionModels.

Referenced by G4VEmProcess::GetRegionModel().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const G4DataVector * G4EmModelManager::Initialise ( const G4ParticleDefinition part,
const G4ParticleDefinition secPart,
G4double  minSubRange,
G4int  verb 
)

Definition at line 244 of file G4EmModelManager.cc.

References Clear(), G4ProductionCutsTable::ConvertRangeToEnergy(), currModel, currRegionModel, DBL_MAX, G4Electron::Electron(), eV, FatalException, flucModels, G4cout, G4endl, G4Exception(), G4Gamma::Gamma(), G4ProductionCutsTable::GetEnergyCutsVector(), G4RegionStore::GetInstance(), G4MaterialCutsCouple::GetMaterial(), G4ProductionCutsTable::GetMaterialCutsCouple(), G4Region::GetName(), G4Material::GetName(), G4VEmModel::GetName(), G4ParticleDefinition::GetParticleName(), G4ProductionCuts::GetProductionCut(), G4MaterialCutsCouple::GetProductionCuts(), G4ProductionCutsTable::GetProductionCutsTable(), G4RegionStore::GetRegion(), G4ProductionCutsTable::GetTableSize(), G4VEmModel::HighEnergyActivationLimit(), G4VEmModel::HighEnergyLimit(), idxOfRegionModels, G4VEmModel::Initialise(), isUsed, G4VEmModel::LowEnergyActivationLimit(), G4VEmModel::LowEnergyLimit(), G4INCL::Math::max(), maxSubCutInRange, MeV, G4INCL::Math::min(), G4VEmModel::MinEnergyCut(), G4RegionModels::ModelIndex(), models, n, nEmModels, G4InuclParticleNames::nn, nRegions, G4RegionModels::NumberOfModels(), orderOfModels, particle, G4Positron::Positron(), reg, regions, setOfRegionModels, severalModels, theCuts, theCutsNew, theSubCuts, and verboseLevel.

Referenced by G4AdjointBremsstrahlungModel::AdjointCrossSection(), G4AdjointBremsstrahlungModel::DiffCrossSectionPerVolumePrimToSecond(), G4VMultipleScattering::PreparePhysicsTable(), G4VEmProcess::PreparePhysicsTable(), and G4VEnergyLossProcess::PreparePhysicsTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4EmModelManager::NumberOfRegionModels ( size_t  index_couple) const

Definition at line 235 of file G4EmModelManager.cc.

References idxOfRegionModels, G4RegionModels::NumberOfModels(), and setOfRegionModels.

Referenced by G4VEmProcess::GetNumberOfRegionModels().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4EmModelManager& G4EmModelManager::operator= ( const G4EmModelManager right)
privatedelete
G4VEmModel * G4EmModelManager::SelectModel ( G4double energy,
size_t &  index 
)
inline

Definition at line 245 of file G4EmModelManager.hh.

References currModel, currRegionModel, idxOfRegionModels, models, nRegions, G4RegionModels::SelectIndex(), setOfRegionModels, and severalModels.

Referenced by G4VMultipleScattering::SelectModel(), G4VEmProcess::SelectModel(), G4VEnergyLossProcess::SelectModel(), G4VEmProcess::SelectModelForMaterial(), and G4VEnergyLossProcess::SelectModelForMaterial().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4EmModelManager::SetFluoFlag ( G4bool  val)
inline

Definition at line 273 of file G4EmModelManager.hh.

References fluoFlag.

Referenced by G4VEmProcess::PreparePhysicsTable().

+ Here is the caller graph for this function:

const G4DataVector * G4EmModelManager::SubCutoff ( ) const
inline

Definition at line 266 of file G4EmModelManager.hh.

References theSubCuts.

Referenced by G4VEnergyLossProcess::PreparePhysicsTable().

+ Here is the caller graph for this function:

void G4EmModelManager::UpdateEmModel ( const G4String model_name,
G4double  emin,
G4double  emax 
)

Definition at line 191 of file G4EmModelManager.cc.

References G4cout, G4endl, models, and nEmModels.

Referenced by G4VEmProcess::UpdateEmModel(), and G4VEnergyLossProcess::UpdateEmModel().

+ Here is the caller graph for this function:

Member Data Documentation

G4VEmModel* G4EmModelManager::currModel
private

Definition at line 239 of file G4EmModelManager.hh.

Referenced by G4EmModelManager(), Initialise(), and SelectModel().

G4RegionModels* G4EmModelManager::currRegionModel
private

Definition at line 238 of file G4EmModelManager.hh.

Referenced by G4EmModelManager(), Initialise(), and SelectModel().

std::vector<G4VEmFluctuationModel*> G4EmModelManager::flucModels
private

Definition at line 218 of file G4EmModelManager.hh.

Referenced by AddEmModel(), G4EmModelManager(), and Initialise().

G4bool G4EmModelManager::fluoFlag
private

Definition at line 235 of file G4EmModelManager.hh.

Referenced by DumpModelList(), G4EmModelManager(), and SetFluoFlag().

std::vector<G4int> G4EmModelManager::idxOfRegionModels
private
std::vector<G4int> G4EmModelManager::isUsed
private

Definition at line 221 of file G4EmModelManager.hh.

Referenced by AddEmModel(), G4EmModelManager(), and Initialise().

G4double G4EmModelManager::maxSubCutInRange
private

Definition at line 229 of file G4EmModelManager.hh.

Referenced by G4EmModelManager(), and Initialise().

G4int G4EmModelManager::nEmModels
private
G4int G4EmModelManager::nRegions
private
std::vector<G4int> G4EmModelManager::orderOfModels
private

Definition at line 220 of file G4EmModelManager.hh.

Referenced by AddEmModel(), G4EmModelManager(), and Initialise().

const G4ParticleDefinition* G4EmModelManager::particle
private
std::vector<const G4Region*> G4EmModelManager::regions
private

Definition at line 219 of file G4EmModelManager.hh.

Referenced by AddEmModel(), G4EmModelManager(), and Initialise().

std::vector<G4RegionModels*> G4EmModelManager::setOfRegionModels
private
G4bool G4EmModelManager::severalModels
private

Definition at line 234 of file G4EmModelManager.hh.

Referenced by G4EmModelManager(), Initialise(), and SelectModel().

const G4DataVector* G4EmModelManager::theCuts
private

Definition at line 213 of file G4EmModelManager.hh.

Referenced by Cuts(), G4EmModelManager(), and Initialise().

G4DataVector* G4EmModelManager::theCutsNew
private
G4DataVector* G4EmModelManager::theSubCuts
private
G4int G4EmModelManager::verboseLevel
private

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