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

#include <geant4/tree/geant4-10.6-release/source/processes/electromagnetic/utils/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 (std::ostream &out, 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 141 of file G4EmModelManager.hh.

View newest version in sPHENIX GitHub at line 141 of file G4EmModelManager.hh

Constructor & Destructor Documentation

G4EmModelManager::G4EmModelManager ( )

Definition at line 97 of file G4EmModelManager.cc.

View newest version in sPHENIX GitHub at line 97 of file G4EmModelManager.cc

References currModel, currRegionModel, flucModels, fluoFlag, isUsed, maxSubCutInRange, mm, models, orderOfModels, regions, severalModels, theCuts, theCutsNew, and theSubCuts.

G4EmModelManager::~G4EmModelManager ( )

Definition at line 120 of file G4EmModelManager.cc.

View newest version in sPHENIX GitHub at line 120 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 146 of file G4EmModelManager.cc.

View newest version in sPHENIX GitHub at line 146 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 130 of file G4EmModelManager.cc.

View newest version in sPHENIX GitHub at line 130 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 286 of file G4EmModelManager.hh.

View newest version in sPHENIX GitHub at line 286 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 257 of file G4EmModelManager.hh.

View newest version in sPHENIX GitHub at line 257 of file G4EmModelManager.hh

References theCuts.

void G4EmModelManager::DumpModelList ( std::ostream &  out,
G4int  verb 
)
void G4EmModelManager::FillDEDXVector ( G4PhysicsVector aVector,
const G4MaterialCutsCouple couple,
G4EmTableType  t = fRestricted 
)

Definition at line 615 of file G4EmModelManager.cc.

View newest version in sPHENIX GitHub at line 615 of file G4EmModelManager.cc

References ComputeDEDX(), DBL_MAX, e, CEMC_TOWER::emin, G4PhysicsVector::Energy(), fSubRestricted, fTotal, G4cout, G4endl, G4MaterialCutsCouple::GetIndex(), G4MaterialCutsCouple::GetMaterial(), G4Material::GetName(), G4ParticleDefinition::GetParticleName(), G4PhysicsVector::GetVectorLength(), idxOfRegionModels, k, 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 
)

Definition at line 694 of file G4EmModelManager.cc.

View newest version in sPHENIX GitHub at line 694 of file G4EmModelManager.cc

References Acts::VectorHelpers::cross(), G4VEmModel::CrossSection(), DBL_MAX, e, G4PhysicsVector::Energy(), fIsCrossSectionPrim, fSubRestricted, G4cout, G4endl, G4MaterialCutsCouple::GetIndex(), G4MaterialCutsCouple::GetMaterial(), G4PhysicsVector::GetMaxEnergy(), G4Material::GetName(), G4ParticleDefinition::GetParticleName(), G4PhysicsVector::GetVectorLength(), idxOfRegionModels, k, G4InuclParticleNames::k0, G4RegionModels::LowEdgeEnergy(), max, MeV, mm, G4RegionModels::ModelIndex(), models, nEmModels, nRegions, G4RegionModels::NumberOfModels(), particle, G4PhysicsVector::PutValue(), reg, setOfRegionModels, theSubCuts, and verboseLevel.

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4VEmModel * G4EmModelManager::GetModel ( G4int  idx,
G4bool  ver = false 
)

Definition at line 184 of file G4EmModelManager.cc.

View newest version in sPHENIX GitHub at line 184 of file G4EmModelManager.cc

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

Referenced by G4VMultipleScattering::GetModelByIndex(), G4VEmProcess::GetModelByIndex(), G4VEnergyLossProcess::GetModelByIndex(), 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 200 of file G4EmModelManager.cc.

View newest version in sPHENIX GitHub at line 200 of file G4EmModelManager.cc

References incremental_prev_tag::idx, 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 218 of file G4EmModelManager.cc.

View newest version in sPHENIX GitHub at line 218 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(), incremental_prev_tag::idx, idxOfRegionModels, G4VEmModel::Initialise(), isUsed, k, G4VEmModel::LowEnergyActivationLimit(), G4VEmModel::LowEnergyLimit(), material(), max, maxSubCutInRange, MeV, min, G4VEmModel::MinEnergyCut(), G4RegionModels::ModelIndex(), models, n, nEmModels, G4InuclParticleNames::nn, nRegions, G4RegionModels::NumberOfModels(), orderOfModels, particle, G4Positron::Positron(), r, reg, regions, setOfRegionModels, severalModels, theCuts, theCutsNew, theSubCuts, verboseLevel, and Acts::Test::world.

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4EmModelManager::NumberOfModels ( ) const
inline

Definition at line 278 of file G4EmModelManager.hh.

View newest version in sPHENIX GitHub at line 278 of file G4EmModelManager.hh

References nEmModels.

Referenced by G4VEmProcess::BuildPhysicsTable(), G4VEnergyLossProcess::BuildPhysicsTable(), G4VEmProcess::GetNumberOfModels(), G4VMultipleScattering::NumberOfModels(), G4VEnergyLossProcess::NumberOfModels(), G4VEmProcess::PreparePhysicsTable(), G4VMultipleScattering::PreparePhysicsTable(), G4VEnergyLossProcess::PreparePhysicsTable(), and G4VMultipleScattering::StorePhysicsTable().

+ Here is the caller graph for this function:

G4int G4EmModelManager::NumberOfRegionModels ( size_t  index_couple) const

Definition at line 209 of file G4EmModelManager.cc.

View newest version in sPHENIX GitHub at line 209 of file G4EmModelManager.cc

References incremental_prev_tag::idx, 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 243 of file G4EmModelManager.hh.

View newest version in sPHENIX GitHub at line 243 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 271 of file G4EmModelManager.hh.

View newest version in sPHENIX GitHub at line 271 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 264 of file G4EmModelManager.hh.

View newest version in sPHENIX GitHub at line 264 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 165 of file G4EmModelManager.cc.

View newest version in sPHENIX GitHub at line 165 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 237 of file G4EmModelManager.hh.

View newest version in sPHENIX GitHub at line 237 of file G4EmModelManager.hh

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

G4RegionModels* G4EmModelManager::currRegionModel
private

Definition at line 236 of file G4EmModelManager.hh.

View newest version in sPHENIX GitHub at line 236 of file G4EmModelManager.hh

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

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

Definition at line 216 of file G4EmModelManager.hh.

View newest version in sPHENIX GitHub at line 216 of file G4EmModelManager.hh

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

G4bool G4EmModelManager::fluoFlag
private

Definition at line 233 of file G4EmModelManager.hh.

View newest version in sPHENIX GitHub at line 233 of file G4EmModelManager.hh

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

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

Definition at line 224 of file G4EmModelManager.hh.

View newest version in sPHENIX GitHub at line 224 of file G4EmModelManager.hh

Referenced by FillDEDXVector(), FillLambdaVector(), GetRegionModel(), Initialise(), NumberOfRegionModels(), and SelectModel().

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

Definition at line 219 of file G4EmModelManager.hh.

View newest version in sPHENIX GitHub at line 219 of file G4EmModelManager.hh

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

G4double G4EmModelManager::maxSubCutInRange
private

Definition at line 227 of file G4EmModelManager.hh.

View newest version in sPHENIX GitHub at line 227 of file G4EmModelManager.hh

Referenced by G4EmModelManager(), and Initialise().

std::vector<G4VEmModel*> G4EmModelManager::models
private
G4int G4EmModelManager::nEmModels
private

Definition at line 221 of file G4EmModelManager.hh.

View newest version in sPHENIX GitHub at line 221 of file G4EmModelManager.hh

Referenced by AddEmModel(), DumpModelList(), FillDEDXVector(), FillLambdaVector(), GetModel(), Initialise(), NumberOfModels(), and UpdateEmModel().

G4int G4EmModelManager::nRegions
private

Definition at line 222 of file G4EmModelManager.hh.

View newest version in sPHENIX GitHub at line 222 of file G4EmModelManager.hh

Referenced by DumpModelList(), FillDEDXVector(), FillLambdaVector(), Initialise(), and SelectModel().

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

Definition at line 218 of file G4EmModelManager.hh.

View newest version in sPHENIX GitHub at line 218 of file G4EmModelManager.hh

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

const G4ParticleDefinition* G4EmModelManager::particle
private

Definition at line 229 of file G4EmModelManager.hh.

View newest version in sPHENIX GitHub at line 229 of file G4EmModelManager.hh

Referenced by ComputeDEDX(), FillDEDXVector(), FillLambdaVector(), GetModel(), and Initialise().

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

Definition at line 217 of file G4EmModelManager.hh.

View newest version in sPHENIX GitHub at line 217 of file G4EmModelManager.hh

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

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

Definition at line 225 of file G4EmModelManager.hh.

View newest version in sPHENIX GitHub at line 225 of file G4EmModelManager.hh

Referenced by Clear(), DumpModelList(), FillDEDXVector(), FillLambdaVector(), GetRegionModel(), Initialise(), NumberOfRegionModels(), and SelectModel().

G4bool G4EmModelManager::severalModels
private

Definition at line 232 of file G4EmModelManager.hh.

View newest version in sPHENIX GitHub at line 232 of file G4EmModelManager.hh

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

const G4DataVector* G4EmModelManager::theCuts
private

Definition at line 211 of file G4EmModelManager.hh.

View newest version in sPHENIX GitHub at line 211 of file G4EmModelManager.hh

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

G4DataVector* G4EmModelManager::theCutsNew
private

Definition at line 212 of file G4EmModelManager.hh.

View newest version in sPHENIX GitHub at line 212 of file G4EmModelManager.hh

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

G4DataVector* G4EmModelManager::theSubCuts
private

Definition at line 213 of file G4EmModelManager.hh.

View newest version in sPHENIX GitHub at line 213 of file G4EmModelManager.hh

Referenced by FillDEDXVector(), FillLambdaVector(), G4EmModelManager(), Initialise(), SubCutoff(), and ~G4EmModelManager().

G4int G4EmModelManager::verboseLevel
private

Definition at line 231 of file G4EmModelManager.hh.

View newest version in sPHENIX GitHub at line 231 of file G4EmModelManager.hh

Referenced by Clear(), FillDEDXVector(), FillLambdaVector(), GetModel(), Initialise(), and ~G4EmModelManager().


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