Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4SolidsWorkspace Class Reference

#include <G4SolidsWorkspace.hh>

Public Member Functions

 G4SolidsWorkspace (G4bool verbose=false)
 
 ~G4SolidsWorkspace ()
 
void UseWorkspace ()
 
void ReleaseWorkspace ()
 
void DestroyWorkspace ()
 
void InitialiseWorkspace ()
 
void SetVerbose (G4bool v)
 
G4bool GetVerbose ()
 

Protected Member Functions

void InitialiseSolids ()
 

Detailed Description

Definition at line 57 of file G4SolidsWorkspace.hh.

Constructor & Destructor Documentation

G4SolidsWorkspace::G4SolidsWorkspace ( G4bool  verbose = false)

Definition at line 36 of file G4SolidsWorkspace.cc.

37  : fVerbose(verbose)
38 {
39  // G4PlSideManager *fPolyconeSideSIM; // (G4PlSideManager::GetSubInstanceManager())
40 
41  fpPolyconeSideSIM=
43  fpPolyhedraSideSIM=
45 
46  // Copy information from master into PolyCone/Gon Sides in this thread.
48 
49  // Capture its address of PolyCone/Gon Sides in this thread
50  fPolyconeSideOffset= fpPolyconeSideSIM->GetOffset();
51  fPolyhedraSideOffset= fpPolyhedraSideSIM->GetOffset();
52 }
static const G4PhSideManager & GetSubInstanceManager()
static const G4PlSideManager & GetSubInstanceManager()

Here is the call graph for this function:

G4SolidsWorkspace::~G4SolidsWorkspace ( )

Definition at line 54 of file G4SolidsWorkspace.cc.

55 {
56 }

Member Function Documentation

void G4SolidsWorkspace::DestroyWorkspace ( )

Definition at line 108 of file G4SolidsWorkspace.cc.

109 {
110  fpPolyconeSideSIM->FreeSlave();
111  fpPolyhedraSideSIM->FreeSlave();
112 }

Here is the call graph for this function:

Here is the caller graph for this function:

G4bool G4SolidsWorkspace::GetVerbose ( )
inline

Definition at line 71 of file G4SolidsWorkspace.hh.

71 { return fVerbose; }
void G4SolidsWorkspace::InitialiseSolids ( )
protected

Definition at line 82 of file G4SolidsWorkspace.cc.

83 {
84 }

Here is the caller graph for this function:

void G4SolidsWorkspace::InitialiseWorkspace ( )

Definition at line 87 of file G4SolidsWorkspace.cc.

88 {
89  if( fVerbose )
90  G4cout << "G4SolidsWorkspace::InitialiseWorkspace: "
91  << "Copying geometry - Start " << G4endl;
92 
93  //Geometry related, split classes mechanism:
94  // Do *NOT* instantiate sub-instance for this thread,
95  // just copy the contents !!
96 
97  fpPolyconeSideSIM->SlaveInitializeSubInstance();
98  fpPolyhedraSideSIM->SlaveInitializeSubInstance();
99 
100  // Additional initialization if needed - beyond copying memory
102 
103  if( fVerbose )
104  G4cout << "G4SolidsWorkspace::CreateAndUseWorkspace: "
105  << "Copying geometry - Done!" << G4endl;
106 }
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
void SlaveInitializeSubInstance()

Here is the call graph for this function:

Here is the caller graph for this function:

void G4SolidsWorkspace::ReleaseWorkspace ( )

Definition at line 75 of file G4SolidsWorkspace.cc.

77 {
78  fpPolyconeSideSIM->UseWorkArea(0);
79  fpPolyhedraSideSIM->UseWorkArea(0);
80 }
void UseWorkArea(T *newOffset)

Here is the call graph for this function:

Here is the caller graph for this function:

void G4SolidsWorkspace::SetVerbose ( G4bool  v)
inline

Definition at line 70 of file G4SolidsWorkspace.hh.

70 { fVerbose=v; }
void G4SolidsWorkspace::UseWorkspace ( )

Definition at line 62 of file G4SolidsWorkspace.cc.

63 {
64  if( fVerbose )
65  G4cout << "G4SolidsWorkspace::UseWorkspace: Copying geometry - Start " << G4endl;
66 
67  // Implementation copied from G4WorkerThread::BuildGeometryAndPhysicsVector()
68 
69  //Geometry related, split classes mechanism: instantiate sub-instance for this thread
70  fpPolyconeSideSIM->UseWorkArea(fPolyconeSideOffset);
71  fpPolyhedraSideSIM->UseWorkArea(fPolyhedraSideOffset);
72 }
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
void UseWorkArea(T *newOffset)

Here is the call graph for this function:

Here is the caller graph for this function:


The documentation for this class was generated from the following files: