Import Geant4 10.4.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2017-06-30 10:49:55 +02:00
parent 3a5407696b
commit 1a1316fea4
2180 changed files with 237880 additions and 59109 deletions
@@ -31,22 +31,20 @@
#define G4SOLIDSWORKSPACEPOOL_HH
class G4SolidsWorkspace;
// #include "G4SolidsWorkspace.hh"
//Note: Investigate potential to make it a template - on the workspace type
class G4SolidsWorkspacePool
{
public:
static G4SolidsWorkspacePool* GetInstance();
// For use with simple MT mode - each thread gets a workspace and uses it until end
G4SolidsWorkspace* CreateWorkspace();
// For use with simple MT mode - each thread gets a workspace
// and uses it until end
void CreateAndUseWorkspace(); // Create it (as above) and use it
// For use with 'dynamic' model of threading - workspaces can be recycled
G4SolidsWorkspace* FindOrCreateWorkspace();
// For use with 'dynamic' model of threading - workspaces can be recycled
// Reuse an existing workspace - or create a new one if needed.
// This will never fail, except if system is out of resources
@@ -60,8 +58,6 @@ class G4SolidsWorkspacePool
// To be called once at the end of the job
protected:
void ReleaseAndDestroyWorkspace(G4SolidsWorkspace*);
// Destroy workspace - after releasing it
// void RegisterWarehouse( G4GeometryWarehouse *) ;
// The (optional) warehouse keeps a list of free workspaces
@@ -73,7 +69,7 @@ class G4SolidsWorkspacePool
private:
static G4SolidsWorkspacePool* thePool;
static G4ThreadLocal G4SolidsWorkspace* fMyWorkspace;
static G4ThreadLocal G4SolidsWorkspace* fMyWorkspace;
// The thread's workspace - if assigned.
};