#include <G4PhysicsListHelper.hh>
Definition at line 50 of file G4PhysicsListHelper.hh.
◆ G4OrdParamTable
◆ G4PhysicsListHelper()
G4PhysicsListHelper::G4PhysicsListHelper |
( |
| ) |
|
|
private |
Definition at line 52 of file G4PhysicsListHelper.cc.
void ReadOrdingParameterTable()
G4bool useCoupledTransportation
G4ParticleTable::G4PTblDicIterator * aParticleIterator
G4OrdParamTable * theTable
static G4ParticleTable * GetParticleTable()
void DumpOrdingParameterTable(G4int subType=-1) const
G4String ordParamFileName
G4VProcess * theTransportationProcess
G4ParticleTable * theParticleTable
G4PTblDicIterator * GetIterator() const
◆ ~G4PhysicsListHelper()
G4PhysicsListHelper::~G4PhysicsListHelper |
( |
| ) |
|
|
privatevirtual |
◆ AddTransportation()
void G4PhysicsListHelper::AddTransportation |
( |
| ) |
|
Definition at line 207 of file G4PhysicsListHelper.cc.
209 G4int verboseLevelTransport = 0;
213 G4cout <<
"G4PhysicsListHelper::AddTransportation() "<<
G4endl;
225 G4cout <<
" G4PhysicsListHelper::AddTransportation()" 226 <<
"--- G4CoupledTransportation is used " 241 if ( pmanager == 0) {
245 G4cout <<
"G4PhysicsListHelper::AddTransportation " 246 <<
" : No Process Manager for " 250 G4Exception(
"G4PhysicsListHelper::AddTransportation",
252 "No process manager");
void SetProcessOrderingToFirst(G4VProcess *aProcess, G4ProcessVectorDoItIndex idDoIt)
G4bool useCoupledTransportation
const G4String & GetParticleType() const
G4ProcessManager * GetProcessManager() const
static G4RunManagerKernel * GetRunManagerKernel()
const G4String & GetParticleName() const
G4GLOB_DLL std::ostream G4cout
G4int GetNumberOfParallelWorld() const
void reset(G4bool ifSkipIon=true)
static G4ScoringManager * GetScoringManagerIfExist()
G4int AddProcess(G4VProcess *aProcess, G4int ordAtRestDoIt=ordInActive, G4int ordAlongSteptDoIt=ordInActive, G4int ordPostStepDoIt=ordInActive)
G4ParticleTable::G4PTblDicIterator * aParticleIterator
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
G4VProcess * theTransportationProcess
◆ CheckParticleList()
void G4PhysicsListHelper::CheckParticleList |
( |
| ) |
const |
Definition at line 99 of file G4PhysicsListHelper.cc.
102 bool isPositron =
false;
103 bool isGamma =
false;
104 bool isProton =
false;
105 bool isGenericIon =
false;
106 bool isAnyIon =
false;
107 bool isAnyChargedBaryon =
false;
108 bool isEmProc =
false;
118 for (
int idx=0; idx<list->
size(); idx++){
124 if ( name ==
"e-") isElectron =
true;
125 else if ( name ==
"e+") isPositron =
true;
126 else if ( name ==
"gamma") isGamma =
true;
127 else if ( name ==
"GenericIon") isGenericIon =
true;
128 else if ( name ==
"proton") isProton =
true;
131 if ( particle->
GetPDGCharge() != 0.0 ) isAnyChargedBaryon =
true;
135 if (!isEmProc)
return;
140 bool isEmBasic = isElectron || isPositron || isGamma;
141 bool isMissingEmBasic = !isElectron || !isPositron || !isGamma;
142 if (isEmBasic && isMissingEmBasic) {
144 if (!isElectron) missingName +=
"e- ";
145 if (!isPositron) missingName +=
"e+ ";
146 if (!isGamma) missingName +=
"gamma ";
150 G4cout <<
"G4PhysicsListHelper::CheckParticleList: " 151 << missingName <<
" do not exist " <<
G4endl;
152 G4cout <<
" These particle are necessary for basic EM processes" 156 G4Exception(
"G4PhysicsListHelper::CheckParticleList",
158 "Missing EM basic particle");
164 if (!isProton && isAnyChargedBaryon) {
169 G4cout <<
"G4PhysicsListHelper::CheckParticleList: " 170 << missingName <<
" does not exist "<<
G4endl;
171 G4cout <<
" Proton is necessary for EM baryon processes" <<
G4endl;
174 missingName +=
" should be created ";
175 G4Exception(
"G4PhysicsListHelper::CheckParticleList",
183 if (!isGenericIon && isAnyIon) {
188 G4cout <<
"G4PhysicsListHelper::CheckParticleList: " 189 << missingName <<
" does not exist "<<
G4endl;
190 G4cout <<
" GenericIon should be created if any ion is necessary" <<
G4endl;
193 G4Exception(
"G4PhysicsListHelper::CheckParticleList",
195 "Missing GenericIon");
G4bool isElectron(G4int ityp)
G4ProcessVector * GetProcessList() const
const G4String & GetParticleType() const
G4ProcessManager * GetProcessManager() const
const G4String & GetParticleName() const
G4GLOB_DLL std::ostream G4cout
void reset(G4bool ifSkipIon=true)
G4ParticleTable::G4PTblDicIterator * aParticleIterator
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
G4double GetPDGCharge() const
◆ DumpOrdingParameterTable()
void G4PhysicsListHelper::DumpOrdingParameterTable |
( |
G4int |
subType = -1 | ) |
const |
Definition at line 345 of file G4PhysicsListHelper.cc.
350 G4cout <<
"G4PhysicsListHelper::DumpOrdingParameterTable " 357 G4cout <<
"G4PhysicsListHelper::DumpOrdingParameterTable : " 360 <<
" ProcessType" <<
" SubType" 361 <<
" AtRest" <<
" AlongStep" <<
" PostStep" 362 <<
" Duplicable" <<
G4endl;
369 << std::setw(15) << tmp->
ordering[0]
370 << std::setw(15) << tmp->
ordering[1]
371 << std::setw(15) << tmp->
ordering[2];
G4GLOB_DLL std::ostream G4cout
G4OrdParamTable * theTable
G4String ordParamFileName
◆ GetOrdingParameter()
Definition at line 382 of file G4PhysicsListHelper.cc.
389 G4cout <<
"G4PhysicsListHelper::GetOrderingParameter : "
G4GLOB_DLL std::ostream G4cout
G4OrdParamTable * theTable
G4String ordParamFileName
◆ GetPhysicsListHelper()
◆ GetVerboseLevel()
G4int G4PhysicsListHelper::GetVerboseLevel |
( |
| ) |
const |
|
inline |
◆ ReadInDefaultOrderingParameter()
void G4PhysicsListHelper::ReadInDefaultOrderingParameter |
( |
| ) |
|
|
private |
◆ ReadOrdingParameterTable()
void G4PhysicsListHelper::ReadOrdingParameterTable |
( |
| ) |
|
|
private |
Definition at line 268 of file G4PhysicsListHelper.cc.
270 G4bool readInFile =
false;
273 if( getenv(
"G4ORDPARAMTABLE") ){
277 G4cout <<
"G4PhysicsListHelper::ReadOrdingParameterTable :" 288 G4cout <<
"G4PhysicsListHelper::ReadOrdingParameterTable " 292 G4Exception(
"G4PhysicsListHelper::ReadOrdingParameterTable",
294 "Fail to open ordering paramter table ");
330 G4cout <<
"G4PhysicsListHelper::ReadOrdingParameterTable " 334 G4Exception(
"G4PhysicsListHelper::ReadOrdingParameterTable",
336 "The ordering parameter table is empty ");
G4GLOB_DLL std::ostream G4cout
std::vector< G4PhysicsListOrderingParameter > G4OrdParamTable
void ReadInDefaultOrderingParameter()
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
G4OrdParamTable * theTable
G4String ordParamFileName
◆ RegisterProcess()
Definition at line 413 of file G4PhysicsListHelper.cc.
419 G4cout <<
"G4PhysicsListHelper::RegisterProcess :" 424 G4Exception(
"G4PhysicsListHelper::RegisterPorcess",
426 "No Ordering Parameter Table");
436 G4cout <<
"G4PhysicsListHelper::RegisterProcess :" 437 << pName <<
" Process Type = " << pType
438 <<
" SubType = "<< pSubType
445 if ((pType <1)||(pSubType<1)) {
448 G4cout <<
"G4PhysicsListHelper::RegisterProcess :" 450 <<
" has illegal Process Type = " << pType
451 <<
" SubType = "<< pSubType <<
G4endl;
454 G4Exception(
"G4PhysicsListHelper::RegisterPorcess",
456 "No Matching process Type/SubType");
462 G4bool duplicable =
false;
477 G4cout <<
"G4PhysicsListHelper::RegisterProcess :" 479 <<
" with type/subtype =" 480 << pType <<
"/" << pSubType
481 <<
" is not reigstered in OrdingParameterTable " 485 G4Exception(
"G4PhysicsListHelper::RegisterPorcess",
487 "No Matching process Type/SubType");
493 if ( pManager == 0) {
497 G4cout <<
"G4PhysicsListHelper::RegisterProcess " 498 <<
" : No Process Manager for " 502 G4Exception(
"G4PhysicsListHelper::RegisterProcess ",
504 "No process manager");
510 G4bool duplicated =
false;
512 for (
G4int idx=0; idx<pList->
size(); idx++) {
519 G4cout <<
"G4PhysicsListHelper::RegisterProcess :" 521 <<
" with type/subtype =" 522 << pType <<
"/" << pSubType
523 <<
" is has same subType as " 530 G4Exception(
"G4PhysicsListHelper::RegisterPorcess",
532 "Duplication of processes");
535 if (duplicated)
return false;
540 if (code <0)
return false;
543 for(
G4int idx=0; idx<3; idx++){
547 }
else if (ord[idx]==0) {
549 }
else if (ord[idx]<9999) {
557 G4cout <<
"G4PhysicsListHelper::RegisterProcess :" 559 <<
" with type/subtype =" 560 << pType <<
"/" << pSubType
561 <<
" is sucessfully registered with ordering parameters " 562 << ord[0] <<
":" << ord[1] <<
":" << ord[2]
G4ProcessVector * GetProcessList() const
void SetProcessOrderingToFirst(G4VProcess *aProcess, G4ProcessVectorDoItIndex idDoIt)
G4ProcessManager * GetProcessManager() const
G4int GetProcessSubType() const
const G4String & GetProcessName() const
const G4String & GetParticleName() const
G4GLOB_DLL std::ostream G4cout
G4int AddProcess(G4VProcess *aProcess, G4int ordAtRestDoIt=ordInActive, G4int ordAlongSteptDoIt=ordInActive, G4int ordPostStepDoIt=ordInActive)
void SetProcessOrdering(G4VProcess *aProcess, G4ProcessVectorDoItIndex idDoIt, G4int ordDoIt=ordDefault)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
G4OrdParamTable * theTable
void SetProcessOrderingToLast(G4VProcess *aProcess, G4ProcessVectorDoItIndex idDoIt)
G4String ordParamFileName
G4ProcessType GetProcessType() const
◆ SetVerboseLevel()
void G4PhysicsListHelper::SetVerboseLevel |
( |
G4int |
value | ) |
|
|
inline |
◆ UseCoupledTransportation()
void G4PhysicsListHelper::UseCoupledTransportation |
( |
G4bool |
vl = true | ) |
|
|
inline |
◆ aParticleIterator
◆ ordParamFileName
G4String G4PhysicsListHelper::ordParamFileName |
|
private |
◆ pPLHelper
◆ sizeOfTable
G4int G4PhysicsListHelper::sizeOfTable |
|
private |
◆ theParticleTable
◆ theTable
◆ theTransportationProcess
G4VProcess* G4PhysicsListHelper::theTransportationProcess |
|
private |
◆ useCoupledTransportation
G4bool G4PhysicsListHelper::useCoupledTransportation |
|
private |
◆ verboseLevel
G4int G4PhysicsListHelper::verboseLevel |
|
private |
The documentation for this class was generated from the following files: