38#define G4MT_physicsVector \
39 ((G4VMPLsubInstanceManager.offset[g4vmplInstanceID]).physicsVector)
97 ._fIsPhysicsTableBuilt;
119 (*itr)->ConstructParticle();
145 (*itr)->ConstructProcess();
156 G4Exception(
"G4VModularPhysicsList::RegisterPhysics",
"Run0201",
158 "Geant4 kernel is not PreInit state : Method ignored.");
173 G4cout <<
"G4VModularPhysicsList::RegisterPhysics: " << pName
174 <<
" with type : " << pType <<
" is added" <<
G4endl;
184 if(pType == (*itr)->GetPhysicsType())
192 G4cout <<
"G4VModularPhysicsList::RegisterPhysics: "
193 <<
"a physics with given type already exists " <<
G4endl;
194 G4cout <<
" Type = " << pType <<
" : "
195 <<
" existing physics is " << (*itr)->GetPhysicsName() <<
G4endl;
196 G4cout <<
" New " << pName <<
" can not be registered " <<
G4endl;
199 G4String comment =
"Duplicate type for ";
201 G4Exception(
"G4VModularPhysicsList::RegisterPhysics",
"Run0202",
218 "Geant4 kernel is not PreInit state : Method ignored.");
234 G4cout <<
"G4VModularPhysicsList::ReplacePhysics: " << pName
235 <<
" with type : " << pType <<
" is added" <<
G4endl;
245 if(pType == (*itr)->GetPhysicsType())
258 G4cout <<
"G4VModularPhysicsList::ReplacePhysics: "
259 << (*itr)->GetPhysicsName() <<
" with type : " << pType
260 <<
" is replaced with " << pName <<
G4endl;
280 "Geant4 kernel is not PreInit state : Method ignored.");
287 if(pType == (*itr)->GetPhysicsType())
289 G4String pName = (*itr)->GetPhysicsName();
293 G4cout <<
"G4VModularPhysicsList::RemovePhysics: " << pName
294 <<
" is removed" <<
G4endl;
315 "Geant4 kernel is not PreInit state : Method ignored.");
322 if(fPhysics == (*itr))
324 G4String pName = (*itr)->GetPhysicsName();
328 G4cout <<
"G4VModularPhysicsList::RemovePhysics: " << pName
329 <<
" is removed" <<
G4endl;
350 "Geant4 kernel is not PreInit state : Method ignored.");
357 G4String pName = (*itr)->GetPhysicsName();
363 G4cout <<
"G4VModularPhysicsList::RemovePhysics: " << pName
364 <<
" is removed" <<
G4endl;
396 if(
name == (*itr)->GetPhysicsName())
412 if(pType == (*itr)->GetPhysicsType())
439 [](G4PhysConstVector::value_type el) { el->TerminateWorker(); });
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
#define G4MUTEX_INITIALIZER
#define G4MT_physicsVector
G4GLOB_DLL std::ostream G4cout
const G4ApplicationState & GetCurrentState() const
static G4StateManager * GetStateManager()
std::vector< G4VPhysicsConstructor * > G4PhysConstVectorData
G4PhysConstVectorData * physicsVector
virtual ~G4VModularPhysicsList()
virtual void TerminateWorker() override
virtual void ConstructParticle() override
void SetVerboseLevel(G4int value)
G4VModularPhysicsList & operator=(const G4VModularPhysicsList &)
G4int GetInstanceID() const
virtual void ConstructProcess() override
void RegisterPhysics(G4VPhysicsConstructor *)
static G4RUN_DLL G4VMPLManager G4VMPLsubInstanceManager
void RemovePhysics(G4VPhysicsConstructor *)
const G4VPhysicsConstructor * GetPhysicsWithType(G4int physics_type) const
void ReplacePhysics(G4VPhysicsConstructor *)
const G4VPhysicsConstructor * GetPhysics(G4int index) const
const G4String & GetPhysicsName() const
G4int GetPhysicsType() const
G4RUN_DLL G4ThreadLocalStatic T * offset
G4int CreateSubInstance()
virtual void TerminateWorker()
G4bool fDisableCheckParticleList
G4bool fIsRestoredCutValues
G4String directoryPhysicsTable
G4bool fRetrievePhysicsTable
G4bool isSetDefaultCutValue
G4bool fIsCheckedForRetrievePhysicsTable
static G4RUN_DLL G4VUPLManager subInstanceManager
static const G4VUPLManager & GetSubInstanceManager()
const char * name(G4int ptype)
G4Mutex constructProcessMutex