84 if(
nullptr == mod) {
return; }
86 G4cout <<
" G4EmConfigurator::SetExtraEmModel " << mod->
GetName()
87 <<
" for " << particleName
88 <<
" and " << processName
89 <<
" in the region <" << regionName
90 <<
"> Emin(MeV)= " << emin/
MeV
114 G4cout <<
"### G4EmConfigurator::AddModels n= " <<
n <<
G4endl;
117 for(
size_t i=0; i<
n; ++i) {
118 if(
nullptr !=
models[i]) {
141 if(
nullptr == mod) {
return; }
143 G4cout <<
" G4EmConfigurator::SetModelForRegion: " << mod->
GetName()
145 G4cout <<
" For " << particleName
146 <<
" and " << processName
147 <<
" in the region <" <<
reg->GetName()
148 <<
" Emin(MeV)= " << emin/
MeV
150 if(
nullptr != fm) {
G4cout <<
" FLmodel " << fm->
GetName(); }
156 myParticleIterator->
reset();
157 while( (*myParticleIterator)() ) {
161 (particleName ==
"all") ||
162 (particleName ==
"charged" && part->
GetPDGCharge() != 0.0)) {
170 G4cout <<
"Check process <" << processName <<
"> for "
171 << particleName <<
" in list of " << np <<
" processes"
175 for(
G4int i=0; i<np; ++i) {
176 if(processName == (*plist)[i]->GetProcessName()) {
181 if(
nullptr == proc) {
182 G4cout <<
"### G4EmConfigurator WARNING: fails to find a process <"
183 << processName <<
"> for " << particleName <<
G4endl;
194 G4cout <<
"### Added msc model order= " <<
index <<
" for "
195 << particleName <<
" and " << processName <<
G4endl;
197 }
else if(2 <= ii && 4 >= ii) {
201 G4cout <<
"### Added eloss model order= " <<
index <<
" for "
202 << particleName <<
" and " << processName <<
G4endl;
208 G4cout <<
"### Added em model order= " <<
index <<
" for "
209 << particleName <<
" and " << processName <<
G4endl;
225 G4cout <<
" G4EmConfigurator::PrepareModels for EnergyLoss n= "
232 for(
size_t i=0; i<
n; ++i) {
248 G4cout <<
"### Added eloss model order= " <<
index <<
" for "
249 << particleName <<
" and " << processName
253 }
else if(
nullptr != fm) {
271 G4cout <<
" G4EmConfigurator::PrepareModels for EM process n= "
278 for(
size_t i=0; i<
n; ++i) {
292 G4cout <<
"### Added em model order= " <<
index <<
" for "
293 << particleName <<
" and " << processName <<
G4endl;
312 G4cout <<
" G4EmConfigurator::PrepareModels for MSC process n= "
319 for(
size_t i=0; i<
n; ++i) {
363 if(r ==
"" || r ==
"world" || r ==
"World") {
364 r =
"DefaultRegionForTheWorld";
368 G4cout <<
"### G4EmConfigurator WARNING: fails to find a region <"
371 G4cout <<
"### G4EmConfigurator finds out G4Region <" << r <<
">"
386 G4cout <<
"### G4EmConfigurator WARNING: empty energy interval"
397 <<
" Emin(MeV)= " <<
e1/
MeV <<
" Emax(MeV)= " <<
e2/
MeV
static const G4double e1[44]
static const G4double e2[44]
static const G4double emax
static const G4double reg
static constexpr double MeV
G4GLOB_DLL std::ostream G4cout
const G4Region * FindRegion(const G4String &)
void SetExtraEmModel(const G4String &particleName, const G4String &processName, G4VEmModel *, const G4String ®ionName="", G4double emin=0.0, G4double emax=DBL_MAX, G4VEmFluctuationModel *fm=nullptr)
void PrepareModels(const G4ParticleDefinition *aParticle, G4VEnergyLossProcess *p)
G4EmConfigurator(G4int verboseLevel=1)
std::vector< G4String > processes
std::vector< G4double > lowEnergy
std::vector< G4String > particles
G4bool UpdateModelEnergyRange(G4VEmModel *mod, G4double emin, G4double emax)
void SetModelForRegion(G4VEmModel *model, G4VEmFluctuationModel *fm, const G4Region *reg, const G4String &particleName, const G4String &processName, G4double emin, G4double emax)
std::vector< G4VEmModel * > models
std::vector< G4String > regions
std::vector< G4VEmFluctuationModel * > flucModels
std::vector< G4double > highEnergy
G4ProcessManager * GetProcessManager() const
G4double GetPDGCharge() const
const G4String & GetParticleName() const
void reset(G4bool ifSkipIon=true)
G4PTblDicIterator * GetIterator() const
static G4ParticleTable * GetParticleTable()
G4int GetProcessListLength() const
G4ProcessVector * GetProcessList() const
static G4RegionStore * GetInstance()
G4Region * GetRegion(const G4String &name, G4bool verbose=true) const
const G4String & GetName() const
void SetHighEnergyLimit(G4double)
G4double LowEnergyLimit() const
G4double HighEnergyLimit() const
void SetLowEnergyLimit(G4double)
void SetActivationHighEnergyLimit(G4double)
const G4String & GetName() const
void AddEmModel(G4int, G4VEmModel *, const G4Region *region=nullptr)
void AddEmModel(G4int, G4VEmModel *, G4VEmFluctuationModel *fluc=nullptr, const G4Region *region=nullptr)
void SetFluctModel(G4VEmFluctuationModel *)
void AddEmModel(G4int order, G4VEmModel *, const G4Region *region=nullptr)
G4int GetProcessSubType() const
const G4String & GetProcessName() const
static constexpr double MeV
T max(const T t1, const T t2)
brief Return the largest of the two arguments
T min(const T t1, const T t2)
brief Return the smallest of the two arguments