Import Geant4 11.4.0.beta source tree
This commit is contained in:
@@ -53,27 +53,54 @@
|
||||
#include "G4LogicalVolume.hh"
|
||||
#include "G4Region.hh"
|
||||
|
||||
/**
|
||||
* @brief G4GeometryWorkspace is a class managing the per-thread state of the
|
||||
* geometry, spanning those which have a per-thread state and their dependents.
|
||||
* In particular, it owns the arrays that implement 'split' classes and owns
|
||||
* classes/objects which are owned by the split classes.
|
||||
*/
|
||||
|
||||
class G4GeometryWorkspace
|
||||
{
|
||||
public:
|
||||
|
||||
using pool_type = G4TWorkspacePool<G4GeometryWorkspace>;
|
||||
|
||||
/**
|
||||
* Constructor and default Destructor.
|
||||
*/
|
||||
G4GeometryWorkspace();
|
||||
~G4GeometryWorkspace() = default;
|
||||
|
||||
/**
|
||||
* Methods for the handling of the workspace.
|
||||
* To take/release ownership and destroy.
|
||||
*/
|
||||
void UseWorkspace(); // Take ownership
|
||||
void ReleaseWorkspace(); // Release ownership
|
||||
void DestroyWorkspace(); // Release ownership and destroy
|
||||
|
||||
/**
|
||||
* Initialisation of the workspace.
|
||||
* To be called at start of each run (especially 2nd and further runs).
|
||||
*/
|
||||
void InitialiseWorkspace();
|
||||
// To be called at start of each run (especially 2nd and further runs)
|
||||
|
||||
/**
|
||||
* Static accessor returning the global geometry pool.
|
||||
*/
|
||||
static pool_type* GetPool();
|
||||
|
||||
protected: // Implementation methods
|
||||
|
||||
/**
|
||||
* Initialises the workspace for all physical volumes in the store.
|
||||
*/
|
||||
void InitialisePhysicalVolumes();
|
||||
|
||||
/**
|
||||
* Creates a clone of the solid for the given replica in this thread.
|
||||
*/
|
||||
G4bool CloneReplicaSolid( G4PVReplica* );
|
||||
|
||||
private: // Helper pointers - can be per instance or shared
|
||||
|
||||
Reference in New Issue
Block a user