|
Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
|
G4GeomSplitter is an utility class for splitting of R/W data for thread-safety from geometry classes. T is the private data from the object to be split. More...
#include <G4GeomSplitter.hh>
Public Member Functions | |
| G4GeomSplitter () | |
| T * | Reallocate (G4int size) |
| G4int | CreateSubInstance () |
| void | CopyMasterContents () |
| void | SlaveCopySubInstanceArray () |
| void | SlaveInitializeSubInstance () |
| void | SlaveReCopySubInstanceArray () |
| void | FreeSlave () |
| T * | GetOffset () |
| void | UseWorkArea (T *newOffset) |
| T * | FreeWorkArea () |
Static Public Attributes | |
| static G4GEOM_DLL G4ThreadLocal T * | offset |
G4GeomSplitter is an utility class for splitting of R/W data for thread-safety from geometry classes. T is the private data from the object to be split.
Definition at line 50 of file G4GeomSplitter.hh.
|
inline |
Constructor.
Definition at line 57 of file G4GeomSplitter.hh.
|
inline |
Utility to copy data from master in memory.
Definition at line 96 of file G4GeomSplitter.hh.
Referenced by G4GeomSplitter< G4LVData >::SlaveCopySubInstanceArray(), and G4GeomSplitter< G4LVData >::SlaveReCopySubInstanceArray().
|
inline |
Invoked by the master or work thread to create a new subinstance whenever a new split class instance is created.
Definition at line 76 of file G4GeomSplitter.hh.
Referenced by G4PolyconeSide::G4PolyconeSide(), and G4PolyhedraSide::G4PolyhedraSide().
|
inline |
|
inline |
|
inline |
|
inline |
Reallocates data for a given 'size'.
Definition at line 66 of file G4GeomSplitter.hh.
Referenced by G4GeomSplitter< G4LVData >::CreateSubInstance(), G4GeomSplitter< G4LVData >::SlaveCopySubInstanceArray(), and G4GeomSplitter< G4LVData >::SlaveInitializeSubInstance().
|
inline |
Invoked by each worker thread to copy all the subinstance array from the master thread.
Definition at line 106 of file G4GeomSplitter.hh.
|
inline |
Invoked by each worker thread to create the subinstance array and initialize each subinstance using a particular method defined by the subclass.
Definition at line 125 of file G4GeomSplitter.hh.
Referenced by G4GeomSplitter< G4LVData >::SlaveReCopySubInstanceArray().
|
inline |
Invoked by each worker thread at start of a run (2nd or later) to copy again all the subinstance array from the master thread. To cope with user's changes in Geometry - e.g. change of material in a volume.
Definition at line 149 of file G4GeomSplitter.hh.
|
inline |
Uses recycled work area - which was created previously.
Definition at line 181 of file G4GeomSplitter.hh.
|
static |
Definition at line 205 of file G4GeomSplitter.hh.