Geant4
10.03
|
#include <G4EmModelManager.hh>
Public Member Functions | |
G4EmModelManager () | |
~G4EmModelManager () | |
void | Clear () |
const G4DataVector * | Initialise (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) |
G4VEmModel * | GetModel (G4int idx, G4bool ver=false) |
G4VEmModel * | GetRegionModel (G4int idx, size_t index_couple) |
G4int | NumberOfRegionModels (size_t index_couple) const |
void | DumpModelList (G4int verb) |
G4VEmModel * | SelectModel (G4double &energy, size_t &index) |
const G4DataVector * | Cuts () const |
const G4DataVector * | SubCutoff () 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 | |
G4EmModelManager & | operator= (const G4EmModelManager &right)=delete |
Private Attributes | |
const G4DataVector * | theCuts |
G4DataVector * | theCutsNew |
G4DataVector * | theSubCuts |
std::vector< G4VEmModel * > | models |
std::vector < G4VEmFluctuationModel * > | flucModels |
std::vector< const G4Region * > | regions |
std::vector< G4int > | orderOfModels |
std::vector< G4int > | isUsed |
G4int | nEmModels |
G4int | nRegions |
std::vector< G4int > | idxOfRegionModels |
std::vector< G4RegionModels * > | setOfRegionModels |
G4double | maxSubCutInRange |
const G4ParticleDefinition * | particle |
G4int | verboseLevel |
G4bool | severalModels |
G4bool | fluoFlag |
G4RegionModels * | currRegionModel |
G4VEmModel * | currModel |
Definition at line 143 of file G4EmModelManager.hh.
G4EmModelManager::G4EmModelManager | ( | ) |
Definition at line 123 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 146 of file G4EmModelManager.cc.
References Clear(), theCutsNew, theSubCuts, and verboseLevel.
|
privatedelete |
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().
void G4EmModelManager::Clear | ( | ) |
Definition at line 156 of file G4EmModelManager.cc.
References G4cout, G4endl, n, setOfRegionModels, and verboseLevel.
Referenced by Initialise(), and ~G4EmModelManager().
|
inlineprivate |
Definition at line 288 of file G4EmModelManager.hh.
References G4VEmModel::ComputeDEDX(), and particle.
Referenced by FillDEDXVector().
|
inline |
Definition at line 259 of file G4EmModelManager.hh.
References theCuts.
void G4EmModelManager::DumpModelList | ( | G4int | verb | ) |
Definition at line 801 of file G4EmModelManager.cc.
References G4InuclParticleNames::an, G4VEmModel::DeexcitationFlag(), emax, G4PhysicsVector::Energy(), fluoFlag, G4BestUnit, G4cout, G4endl, G4VEmModel::GetAngularDistribution(), G4VEmModel::GetCrossSectionTable(), G4VEmAngularDistribution::GetName(), G4Region::GetName(), G4VEmModel::GetName(), G4PhysicsVector::GetVectorLength(), G4VEmModel::HighEnergyActivationLimit(), G4RegionModels::LowEdgeEnergy(), G4VEmModel::LowEnergyActivationLimit(), G4INCL::Math::max(), G4INCL::Math::min(), G4RegionModels::ModelIndex(), models, n, nEmModels, G4InuclParticleNames::nn, nRegions, G4RegionModels::NumberOfModels(), reg, G4RegionModels::Region(), setOfRegionModels, and theCutsNew.
Referenced by G4VMultipleScattering::BuildPhysicsTable(), G4VMultipleScattering::PrintInfoDefinition(), G4VEnergyLossProcess::PrintInfoDefinition(), and G4VEmProcess::PrintInfoProcess().
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().
void G4EmModelManager::FillLambdaVector | ( | G4PhysicsVector * | aVector, |
const G4MaterialCutsCouple * | couple, | ||
G4bool | startFromNull = true , |
||
G4EmTableType | t = fRestricted |
||
) |
Definition at line 723 of file G4EmModelManager.cc.
References G4VEmModel::CrossSection(), DBL_MAX, G4PhysicsVector::Energy(), fIsCrossSectionPrim, fSubRestricted, G4cout, G4endl, G4MaterialCutsCouple::GetIndex(), G4MaterialCutsCouple::GetMaterial(), G4PhysicsVector::GetMaxEnergy(), 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::BuildLambdaTable(), and G4VEmProcess::BuildLambdaTable().
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().
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().
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().
|
inline |
Definition at line 280 of file G4EmModelManager.hh.
References nEmModels.
Referenced by G4VMultipleScattering::BuildPhysicsTable(), G4VEmProcess::BuildPhysicsTable(), G4VEnergyLossProcess::BuildPhysicsTable(), G4VEmProcess::GetNumberOfModels(), G4VMultipleScattering::NumberOfModels(), G4VEnergyLossProcess::NumberOfModels(), G4VMultipleScattering::PreparePhysicsTable(), G4VEmProcess::PreparePhysicsTable(), G4VEnergyLossProcess::PreparePhysicsTable(), and G4VMultipleScattering::StorePhysicsTable().
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().
|
privatedelete |
|
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().
|
inline |
Definition at line 273 of file G4EmModelManager.hh.
References fluoFlag.
Referenced by G4VEmProcess::PreparePhysicsTable().
|
inline |
Definition at line 266 of file G4EmModelManager.hh.
References theSubCuts.
Referenced by G4VEnergyLossProcess::PreparePhysicsTable().
Definition at line 191 of file G4EmModelManager.cc.
References G4cout, G4endl, models, and nEmModels.
Referenced by G4VEmProcess::UpdateEmModel(), and G4VEnergyLossProcess::UpdateEmModel().
|
private |
Definition at line 239 of file G4EmModelManager.hh.
Referenced by G4EmModelManager(), Initialise(), and SelectModel().
|
private |
Definition at line 238 of file G4EmModelManager.hh.
Referenced by G4EmModelManager(), Initialise(), and SelectModel().
|
private |
Definition at line 218 of file G4EmModelManager.hh.
Referenced by AddEmModel(), G4EmModelManager(), and Initialise().
|
private |
Definition at line 235 of file G4EmModelManager.hh.
Referenced by DumpModelList(), G4EmModelManager(), and SetFluoFlag().
|
private |
Definition at line 226 of file G4EmModelManager.hh.
Referenced by FillDEDXVector(), FillLambdaVector(), GetRegionModel(), Initialise(), NumberOfRegionModels(), and SelectModel().
|
private |
Definition at line 221 of file G4EmModelManager.hh.
Referenced by AddEmModel(), G4EmModelManager(), and Initialise().
|
private |
Definition at line 229 of file G4EmModelManager.hh.
Referenced by G4EmModelManager(), and Initialise().
|
private |
Definition at line 217 of file G4EmModelManager.hh.
Referenced by AddEmModel(), DumpModelList(), FillDEDXVector(), FillLambdaVector(), G4EmModelManager(), GetModel(), GetRegionModel(), Initialise(), SelectModel(), and UpdateEmModel().
|
private |
Definition at line 223 of file G4EmModelManager.hh.
Referenced by AddEmModel(), DumpModelList(), FillDEDXVector(), FillLambdaVector(), GetModel(), Initialise(), NumberOfModels(), and UpdateEmModel().
|
private |
Definition at line 224 of file G4EmModelManager.hh.
Referenced by DumpModelList(), FillDEDXVector(), FillLambdaVector(), Initialise(), and SelectModel().
|
private |
Definition at line 220 of file G4EmModelManager.hh.
Referenced by AddEmModel(), G4EmModelManager(), and Initialise().
|
private |
Definition at line 231 of file G4EmModelManager.hh.
Referenced by ComputeDEDX(), FillDEDXVector(), FillLambdaVector(), GetModel(), and Initialise().
|
private |
Definition at line 219 of file G4EmModelManager.hh.
Referenced by AddEmModel(), G4EmModelManager(), and Initialise().
|
private |
Definition at line 227 of file G4EmModelManager.hh.
Referenced by Clear(), DumpModelList(), FillDEDXVector(), FillLambdaVector(), GetRegionModel(), Initialise(), NumberOfRegionModels(), and SelectModel().
|
private |
Definition at line 234 of file G4EmModelManager.hh.
Referenced by G4EmModelManager(), Initialise(), and SelectModel().
|
private |
Definition at line 213 of file G4EmModelManager.hh.
Referenced by Cuts(), G4EmModelManager(), and Initialise().
|
private |
Definition at line 214 of file G4EmModelManager.hh.
Referenced by DumpModelList(), G4EmModelManager(), Initialise(), and ~G4EmModelManager().
|
private |
Definition at line 215 of file G4EmModelManager.hh.
Referenced by FillDEDXVector(), FillLambdaVector(), G4EmModelManager(), Initialise(), SubCutoff(), and ~G4EmModelManager().
|
private |
Definition at line 233 of file G4EmModelManager.hh.
Referenced by Clear(), FillDEDXVector(), FillLambdaVector(), GetModel(), Initialise(), and ~G4EmModelManager().