94 G4cout <<
"G4GeometryWorkspace::UseWorkspace: Start " <<
G4endl;
116 G4cout <<
"G4GeometryWorkspace::UseWorkspace: End " <<
G4endl;
136 for (
size_t ip=0; ip<physVolStore->size(); ip++)
168 G4Exception(
"G4GeometryWorkspace::CreateAndUseWorkspace()",
170 "Cannot find Parameterisation for parameterised volume.");
178 G4cout <<
"G4GeometryWorkspace::InitialisePhysicalVolumes: "
179 <<
"Copying geometry - Done!" <<
G4endl;
208 ed <<
"ERROR - Unable to initialise geometry for worker node." <<
"\n"
209 <<
"A solid lacks the Clone() method - or Clone() failed." <<
"\n"
211 <<
" Parameters: " << *solid;
212 G4Exception(
"G4GeometryWorkspace::CloneParameterisedVolume()",
235 unsigned int numDifferent= 0;
240 for(
unsigned int i=0; i< numCopies; i++)
243 if( solidChk != solid)
251 ed <<
"ERROR - Parameterisation using several instances of Solids \n"
252 <<
"potentially to support different types of solids. \n"
253 <<
"Geant4-MT currently does not support this type of \n"
254 <<
"parameterisation, sorry !";
255 G4Exception(
"G4GeometryWorkspace::CloneParameterisedVolume()",
277 ed <<
"ERROR - Unable to initialise geometry for worker node. \n"
278 <<
"A solid lacks the Clone() method - or Clone() failed. \n"
280 <<
" Parameters: " << *solid;
281 G4Exception(
"G4GeometryWorkspace::CloneParameterisedVolume()",
293 G4cout <<
"G4GeometryWorkspace::InitialiseWorkspace():"
294 <<
" Copying geometry - Start " <<
G4endl;
313 G4cout <<
"G4GeometryWorkspace::InitialiseWorkspace: "
314 <<
"Copying geometry - Done!" <<
G4endl;
323 for (
size_t ip=0; ip<physVolStore->size(); ip++)
G4LVManager * fpLogicalVolumeSIM
void TerminateWorker(G4PVReplica *pMasterObject)
std::ostringstream G4ExceptionDescription
G4VSolid * GetMasterSolid() const
virtual G4VSolid * ComputeSolid(const G4int, G4VPhysicalVolume *)
static const G4LVManager & GetSubInstanceManager()
G4PVData * fPhysicalVolumeOffset
G4ReplicaData * fReplicaOffset
G4RegionData * fRegionOffset
virtual G4GeometryType GetEntityType() const =0
void InitialiseWorker(G4LogicalVolume *ptrMasterObject, G4VSolid *pSolid, G4VSensitiveDetector *pSDetector)
#define G4MUTEX_INITIALIZER
static const G4PVRManager & GetSubInstanceManager()
static G4PhysicalVolumeStore * GetInstance()
virtual G4bool IsParameterised() const
G4LVData * fLogicalVolumeOffset
G4VPVParameterisation * GetParameterisation() const
G4GLOB_DLL std::ostream G4cout
static const G4PVManager & GetSubInstanceManager()
void InitialiseWorker(G4PVReplica *pMasterObject)
void SlaveCopySubInstanceArray()
G4bool CloneReplicaSolid(G4PVReplica *)
G4PVManager * fpPhysicalVolumeSIM
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
void TerminateWorker(G4LogicalVolume *ptrMasterObject)
G4LogicalVolume * GetLogicalVolume() const
G4PVRManager * fpReplicaSIM
virtual G4int GetMultiplicity() const
G4bool CloneParameterisedSolids(G4PVParameterised *paramVol)
void InitialiseWorkspace()
virtual G4VSolid * Clone() const
void UseWorkArea(T *newOffset)
G4RegionManager * fpRegionSIM
static const G4RegionManager & GetSubInstanceManager()
void InitialisePhysicalVolumes()
void SlaveInitializeSubInstance()
G4VSolid * GetSolid() const