42 : fParticleName(particlename)
52 G4cout <<
"=== G4ProcessPlacer::RemoveProcess: for: " << fParticleName
55 <<
", will be removed!" <<
G4endl;
58 PrintAlongStepGPILVec();
59 PrintAlongStepDoItVec();
62 PrintPostStepGPILVec();
63 PrintPostStepDoItVec();
68 PrintAlongStepGPILVec();
69 PrintAlongStepDoItVec();
72 PrintPostStepGPILVec();
73 PrintPostStepDoItVec();
75 G4cout <<
"================================================" <<
G4endl;
79 void G4ProcessPlacer::AddProcessAs(
G4VProcess *process, SecondOrLast sol)
84 PrintAlongStepGPILVec();
85 PrintAlongStepDoItVec();
88 PrintPostStepGPILVec();
89 PrintPostStepDoItVec();
133 PrintAlongStepGPILVec();
134 PrintAlongStepDoItVec();
137 PrintPostStepGPILVec();
138 PrintPostStepDoItVec();
140 G4cout <<
"================================================" <<
G4endl;
145 G4cout <<
"=== G4ProcessPlacer::AddProcessAsSecondDoIt: for: "
146 << fParticleName <<
G4endl;
147 AddProcessAs(process,
eSecond);
152 G4cout <<
"=== G4ProcessPlacer::AddProcessAsLastDoIt: for: "
153 << fParticleName <<
G4endl;
154 AddProcessAs(process,
eLast);
163 theParticleIterator = theParticleTable->
GetIterator();
167 theParticleIterator->
reset();
168 while( (*theParticleIterator)() )
180 G4Exception(
"G4ProcessPlacer::GetProcessManager()",
"InvalidSetup",
181 FatalException,
"NULL pointer to Process Manager ! Sampler.Configure() must be after PhysicsList instantiation");
183 return processmanager;
186 void G4ProcessPlacer::PrintAlongStepGPILVec()
191 PrintProcVec(processGPILVec);
194 void G4ProcessPlacer::PrintAlongStepDoItVec()
199 PrintProcVec(processDoItVec);
203 void G4ProcessPlacer::PrintPostStepGPILVec()
208 PrintProcVec(processGPILVec);
211 void G4ProcessPlacer::PrintPostStepDoItVec()
216 PrintProcVec(processDoItVec);
224 G4Exception(
"G4ProcessPlacer::G4ProcessPlacer()",
"InvalidArgument",
230 G4Exception(
"G4ProcessPlacer::G4ProcessPlacer()",
"InvalidSetup",
233 for (
size_t i=0; i<
len; i++)
242 G4cout <<
" " <<
"no process found for position: " << i
243 <<
", in vector of length: " << len <<
G4endl;
void SetProcessOrderingToSecond(G4VProcess *aProcess, G4ProcessVectorDoItIndex idDoIt)
virtual void AddProcessAsSecondDoIt(G4VProcess *process)
const G4String & GetParticleName() const
virtual void AddProcessAsLastDoIt(G4VProcess *process)
virtual void RemoveProcess(G4VProcess *process)
G4GLOB_DLL std::ostream G4cout
void reset(G4bool ifSkipIon=true)
G4int AddProcess(G4VProcess *aProcess, G4int ordAtRestDoIt=ordInActive, G4int ordAlongSteptDoIt=ordInActive, G4int ordPostStepDoIt=ordInActive)
#define theParticleIterator
const G4String & GetProcessName() const
virtual ~G4ProcessPlacer()
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
G4ProcessPlacer(const G4String &particlename)
static G4ParticleTable * GetParticleTable()
G4ProcessManager * GetProcessManager() const
G4ProcessVector * GetAlongStepProcessVector(G4ProcessVectorTypeIndex typ=typeGPIL) const
G4VProcess * RemoveProcess(G4VProcess *aProcess)
G4PTblDicIterator * GetIterator() const
G4ProcessVector * GetProcessList() const
G4ProcessVector * GetPostStepProcessVector(G4ProcessVectorTypeIndex typ=typeGPIL) const