#include <G4GeometryWorkspace.hh>
Definition at line 58 of file G4GeometryWorkspace.hh.
◆ pool_type
◆ G4GeometryWorkspace()
G4GeometryWorkspace::G4GeometryWorkspace |
( |
| ) |
|
Definition at line 60 of file G4GeometryWorkspace.cc.
61{
62 fpLogicalVolumeSIM=
64 fpPhysicalVolumeSIM=
66 fpReplicaSIM=
68 fpRegionSIM=
70
71
72
74
75 fLogicalVolumeOffset = fpLogicalVolumeSIM->
GetOffset();
76
77 fPhysicalVolumeOffset = fpPhysicalVolumeSIM->
GetOffset();
78
79 fReplicaOffset = fpReplicaSIM->
GetOffset();
80
82}
void InitialiseWorkspace()
static const G4LVManager & GetSubInstanceManager()
static const G4PVRManager & GetSubInstanceManager()
static const G4RegionManager & GetSubInstanceManager()
static const G4PVManager & GetSubInstanceManager()
◆ ~G4GeometryWorkspace()
G4GeometryWorkspace::~G4GeometryWorkspace |
( |
| ) |
|
◆ CloneParameterisedSolids()
Definition at line 231 of file G4GeometryWorkspace.cc.
233{
234
235
236
237
238
239
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
268 aLock.unlock();
269 if( workerSolid != nullptr )
270 {
272 }
273 else
274 {
275
276
277
278
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()",
286 }
287 return true;
288}
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
G4VSolid * GetSolid() const
void InitialiseWorker(G4LogicalVolume *ptrMasterObject, G4VSolid *pSolid, G4VSensitiveDetector *pSDetector)
G4LogicalVolume * GetLogicalVolume() const
virtual G4VSolid * Clone() const
virtual G4GeometryType GetEntityType() const =0
Referenced by InitialisePhysicalVolumes().
◆ CloneReplicaSolid()
Definition at line 189 of file G4GeometryWorkspace.cc.
190{
191
192
195
198 aLock.unlock();
199
200 if( workerSolid != nullptr )
201 {
203 }
204 else
205 {
206
207
208
209
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()",
217 return false;
218 }
219 return true;
220}
Referenced by InitialisePhysicalVolumes().
◆ DestroyWorkspace()
void G4GeometryWorkspace::DestroyWorkspace |
( |
| ) |
|
Definition at line 323 of file G4GeometryWorkspace.cc.
324{
326 for (size_t ip=0; ip<physVolStore->size(); ++ip)
327 {
332 if (g4PVReplica != nullptr)
333 {
337 if (paramVol != nullptr)
338 {
339
341
342 }
343 else
344 {
346 }
347 }
348 else
349 {
351 }
352 }
357}
void TerminateWorker(G4LogicalVolume *ptrMasterObject)
void TerminateWorker(G4PVReplica *pMasterObject)
static G4PhysicalVolumeStore * GetInstance()
Referenced by G4WorkerThread::UpdateGeometryAndPhysicsVectorFromMaster().
◆ GetPool()
◆ GetVerbose()
G4bool G4GeometryWorkspace::GetVerbose |
( |
| ) |
|
|
inline |
◆ InitialisePhysicalVolumes()
void G4GeometryWorkspace::InitialisePhysicalVolumes |
( |
| ) |
|
|
protected |
Definition at line 136 of file G4GeometryWorkspace.cc.
137{
139 for (size_t ip=0; ip<physVolStore->size(); ++ip)
140 {
143
144
145
149 if (g4PVReplica == nullptr)
150 {
151
153 }
154 else
155 {
158 {
160
161
162
163
165 }
166 else
167 {
169 if (paramVol == nullptr)
170 {
171 G4Exception(
"G4GeometryWorkspace::CreateAndUseWorkspace()",
173 "Cannot find Parameterisation for parameterised volume.");
174 }
176 }
177 }
178 }
179 if( fVerbose )
180 {
181 G4cout <<
"G4GeometryWorkspace::InitialisePhysicalVolumes: "
182 <<
"Copying geometry - Done!" <<
G4endl;
183 }
184}
G4GLOB_DLL std::ostream G4cout
G4bool CloneReplicaSolid(G4PVReplica *)
G4bool CloneParameterisedSolids(G4PVParameterised *paramVol)
G4VSolid * GetMasterSolid() const
virtual G4bool IsParameterised() const
void InitialiseWorker(G4PVReplica *pMasterObject)
Referenced by InitialiseWorkspace().
◆ InitialiseWorkspace()
void G4GeometryWorkspace::InitialiseWorkspace |
( |
| ) |
|
◆ ReleaseWorkspace()
void G4GeometryWorkspace::ReleaseWorkspace |
( |
| ) |
|
◆ SetVerbose()
void G4GeometryWorkspace::SetVerbose |
( |
G4bool |
v | ) |
|
|
inline |
◆ UseWorkspace()
void G4GeometryWorkspace::UseWorkspace |
( |
| ) |
|
Definition at line 93 of file G4GeometryWorkspace.cc.
94{
95 if( fVerbose )
96 {
97 G4cout <<
"G4GeometryWorkspace::UseWorkspace: Start " <<
G4endl;
98 }
99
100
101
102
103
104
105
106 fpLogicalVolumeSIM->
UseWorkArea(fLogicalVolumeOffset);
107 fpPhysicalVolumeSIM->
UseWorkArea(fPhysicalVolumeOffset);
108
111
112
113
114
115
116
117 if( fVerbose )
118 {
119 G4cout <<
"G4GeometryWorkspace::UseWorkspace: End " <<
G4endl;
120 }
121}
The documentation for this class was generated from the following files: