75 fLogicalVolumeOffset = fpLogicalVolumeSIM->
GetOffset();
77 fPhysicalVolumeOffset = fpPhysicalVolumeSIM->
GetOffset();
79 fReplicaOffset = fpReplicaSIM->
GetOffset();
97 G4cout <<
"G4GeometryWorkspace::UseWorkspace: Start " <<
G4endl;
106 fpLogicalVolumeSIM->
UseWorkArea(fLogicalVolumeOffset);
107 fpPhysicalVolumeSIM->
UseWorkArea(fPhysicalVolumeOffset);
119 G4cout <<
"G4GeometryWorkspace::UseWorkspace: End " <<
G4endl;
139 for (
size_t ip=0; ip<physVolStore->size(); ++ip)
149 if (g4PVReplica ==
nullptr)
169 if (paramVol ==
nullptr)
171 G4Exception(
"G4GeometryWorkspace::CreateAndUseWorkspace()",
173 "Cannot find Parameterisation for parameterised volume.");
181 G4cout <<
"G4GeometryWorkspace::InitialisePhysicalVolumes: "
182 <<
"Copying geometry - Done!" <<
G4endl;
200 if( workerSolid !=
nullptr )
211 ed <<
"ERROR - Unable to initialise geometry for worker node." <<
"\n"
212 <<
"A solid lacks the Clone() method - or Clone() failed." <<
"\n"
214 <<
" Parameters: " << *solid;
215 G4Exception(
"G4GeometryWorkspace::CloneParameterisedVolume()",
269 if( workerSolid !=
nullptr )
280 ed <<
"ERROR - Unable to initialise geometry for worker node. \n"
281 <<
"A solid lacks the Clone() method - or Clone() failed. \n"
283 <<
" Parameters: " << *solid;
284 G4Exception(
"G4GeometryWorkspace::CloneParameterisedVolume()",
296 G4cout <<
"G4GeometryWorkspace::InitialiseWorkspace():"
297 <<
" Copying geometry - Start " <<
G4endl;
316 G4cout <<
"G4GeometryWorkspace::InitialiseWorkspace: "
317 <<
"Copying geometry - Done!" <<
G4endl;
326 for (
size_t ip=0; ip<physVolStore->size(); ++ip)
332 if (g4PVReplica !=
nullptr)
337 if (paramVol !=
nullptr)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
#define G4MUTEX_INITIALIZER
G4GLOB_DLL std::ostream G4cout
void SlaveInitializeSubInstance()
void SlaveCopySubInstanceArray()
void UseWorkArea(T *newOffset)
void InitialisePhysicalVolumes()
void InitialiseWorkspace()
G4bool CloneReplicaSolid(G4PVReplica *)
G4bool CloneParameterisedSolids(G4PVParameterised *paramVol)
static pool_type * GetPool()
G4VSolid * GetSolid() const
void TerminateWorker(G4LogicalVolume *ptrMasterObject)
static const G4LVManager & GetSubInstanceManager()
void InitialiseWorker(G4LogicalVolume *ptrMasterObject, G4VSolid *pSolid, G4VSensitiveDetector *pSDetector)
G4VSolid * GetMasterSolid() const
static const G4PVRManager & GetSubInstanceManager()
void TerminateWorker(G4PVReplica *pMasterObject)
virtual G4bool IsParameterised() const
void InitialiseWorker(G4PVReplica *pMasterObject)
static G4PhysicalVolumeStore * GetInstance()
static const G4RegionManager & GetSubInstanceManager()
G4LogicalVolume * GetLogicalVolume() const
static const G4PVManager & GetSubInstanceManager()
virtual G4VSolid * Clone() const
virtual G4GeometryType GetEntityType() const =0