87 G4cout <<
" G4EmConfigurator::SetExtraEmModel " << mod->
GetName()
88 <<
" for " << particleName
89 <<
" and " << processName
90 <<
" in the region <" << regionName
91 <<
"> Emin(MeV)= " << emin/
MeV
92 <<
" Emax(MeV)= " << emax/
MeV
115 G4cout <<
"### G4EmConfigurator::AddModels n= " << n <<
G4endl;
118 for(
size_t i=0; i<
n; ++i) {
144 G4cout <<
" G4EmConfigurator::SetModelForRegion: " << mod->
GetName()
146 G4cout <<
" For " << particleName
147 <<
" and " << processName
148 <<
" in the region <" << reg->
GetName()
149 <<
" Emin(MeV)= " << emin/
MeV
150 <<
" Emax(MeV)= " << emax/
MeV;
157 myParticleIterator->
reset();
158 while( (*myParticleIterator)() ) {
162 (particleName ==
"all") ||
163 (particleName ==
"charged" && part->
GetPDGCharge() != 0.0)) {
171 G4cout <<
"Check process <" << processName <<
"> for "
172 << particleName <<
" in list of " << np <<
" processes"
176 for(
G4int i=0; i<np; ++i) {
177 if(processName == (*plist)[i]->GetProcessName()) {
183 G4cout <<
"### G4EmConfigurator WARNING: fails to find a process <"
184 << processName <<
"> for " << particleName <<
G4endl;
195 G4cout <<
"### Added msc model order= " <<
index <<
" for "
196 << particleName <<
" and " << processName <<
G4endl;
198 }
else if(2 <= ii && 4 >= ii) {
202 G4cout <<
"### Added eloss model order= " <<
index <<
" for "
203 << particleName <<
" and " << processName <<
G4endl;
209 G4cout <<
"### Added em model order= " <<
index <<
" for "
210 << particleName <<
" and " << processName <<
G4endl;
226 G4cout <<
" G4EmConfigurator::PrepareModels for EnergyLoss n= "
233 for(
size_t i=0; i<
n; ++i) {
249 G4cout <<
"### Added eloss model order= " <<
index <<
" for "
250 << particleName <<
" and " << processName <<
G4endl;
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
T max(const T t1, const T t2)
brief Return the largest of the two arguments
std::vector< G4String > regions
std::vector< G4String > processes
static G4ParticleTable * GetParticleTable()
static constexpr double MeV
void SetHighEnergyLimit(G4double)
const G4String & GetName() const
G4int GetProcessListLength() const
const G4String & GetName() const
const G4String & GetParticleName() const
void SetActivationHighEnergyLimit(G4double)
G4double GetPDGCharge() const
static const G4double emax
void SetExtraEmModel(const G4String &particleName, const G4String &processName, G4VEmModel *, const G4String ®ionName="", G4double emin=0.0, G4double emax=DBL_MAX, G4VEmFluctuationModel *fm=nullptr)
G4ProcessVector * GetProcessList() const
G4PTblDicIterator * GetIterator() const
void reset(G4bool ifSkipIon=true)
G4Region * GetRegion(const G4String &name, G4bool verbose=true) const
G4double LowEnergyLimit() const
std::vector< G4double > lowEnergy
std::vector< G4String > particles
std::vector< G4double > highEnergy
void AddEmModel(G4int, G4VEmModel *, G4VEmFluctuationModel *fluc=0, const G4Region *region=nullptr)
static constexpr double MeV
const G4String & GetProcessName() const
void SetFluctModel(G4VEmFluctuationModel *)
static G4RegionStore * GetInstance()
const G4String & GetName() const
G4ProcessManager * GetProcessManager() const
void SetLowEnergyLimit(G4double)
void PrepareModels(const G4ParticleDefinition *aParticle, G4VEnergyLossProcess *p)
G4GLOB_DLL std::ostream G4cout
void AddEmModel(G4int, G4VEmModel *, const G4Region *region=nullptr)
void AddEmModel(G4int order, G4VEmModel *, const G4Region *region=nullptr)
static const G4double reg
G4double HighEnergyLimit() const
G4Region * FindRegion(const G4String &)
std::vector< G4VEmFluctuationModel * > flucModels
std::vector< G4VEmModel * > models
G4EmConfigurator(G4int verboseLevel=1)
void SetModelForRegion(G4VEmModel *model, G4VEmFluctuationModel *fm, G4Region *reg, const G4String &particleName, const G4String &processName, G4double emin, G4double emax)
T min(const T t1, const T t2)
brief Return the smallest of the two arguments
G4bool UpdateModelEnergyRange(G4VEmModel *mod, G4double emin, G4double emax)
G4int GetProcessSubType() const