Geant4 10.7.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4SolidsWorkspace Class Reference

#include <G4SolidsWorkspace.hh>

Public Types

using pool_type = G4TWorkspacePool< G4SolidsWorkspace >
 

Public Member Functions

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

Static Public Member Functions

static pool_typeGetPool ()
 

Protected Member Functions

void InitialiseSolids ()
 

Detailed Description

Definition at line 54 of file G4SolidsWorkspace.hh.

Member Typedef Documentation

◆ pool_type

Constructor & Destructor Documentation

◆ G4SolidsWorkspace()

G4SolidsWorkspace::G4SolidsWorkspace ( G4bool  verbose = false)

Definition at line 48 of file G4SolidsWorkspace.cc.

49 : fVerbose(verbose)
50{
51 fpPolyconeSideSIM=
53 fpPolyhedraSideSIM=
55
56 // Copy information from master into PolyCone/Gon Sides in this thread.
58
59 // Capture its address of PolyCone/Gon Sides in this thread
60 fPolyconeSideOffset = fpPolyconeSideSIM->GetOffset();
61 fPolyhedraSideOffset = fpPolyhedraSideSIM->GetOffset();
62}
static const G4PlSideManager & GetSubInstanceManager()
static const G4PhSideManager & GetSubInstanceManager()

◆ ~G4SolidsWorkspace()

G4SolidsWorkspace::~G4SolidsWorkspace ( )

Definition at line 64 of file G4SolidsWorkspace.cc.

65{
66}

Member Function Documentation

◆ DestroyWorkspace()

void G4SolidsWorkspace::DestroyWorkspace ( )

Definition at line 116 of file G4SolidsWorkspace.cc.

117{
118 fpPolyconeSideSIM->FreeSlave();
119 fpPolyhedraSideSIM->FreeSlave();
120}

Referenced by G4WorkerThread::UpdateGeometryAndPhysicsVectorFromMaster().

◆ GetPool()

◆ GetVerbose()

G4bool G4SolidsWorkspace::GetVerbose ( )
inline

Definition at line 71 of file G4SolidsWorkspace.hh.

71{ return fVerbose; }

◆ InitialiseSolids()

void G4SolidsWorkspace::InitialiseSolids ( )
protected

Definition at line 90 of file G4SolidsWorkspace.cc.

91{
92}

Referenced by InitialiseWorkspace().

◆ InitialiseWorkspace()

void G4SolidsWorkspace::InitialiseWorkspace ( )

Definition at line 95 of file G4SolidsWorkspace.cc.

96{
97 if( fVerbose )
98 G4cout << "G4SolidsWorkspace::InitialiseWorkspace: "
99 << "Copying geometry - Start " << G4endl;
100
101 // Geometry related, split classes mechanism:
102 // Do *NOT* instantiate sub-instance for this thread, just copy the contents!!
103 //
104 fpPolyconeSideSIM->SlaveInitializeSubInstance();
105 fpPolyhedraSideSIM->SlaveInitializeSubInstance();
106
107 // Additional initialization if needed - beyond copying memory
108 //
110
111 if( fVerbose )
112 G4cout << "G4SolidsWorkspace::CreateAndUseWorkspace: "
113 << "Copying geometry - Done!" << G4endl;
114}
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout
void SlaveInitializeSubInstance()

Referenced by G4SolidsWorkspace(), and G4WorkerThread::UpdateGeometryAndPhysicsVectorFromMaster().

◆ ReleaseWorkspace()

void G4SolidsWorkspace::ReleaseWorkspace ( )

Definition at line 83 of file G4SolidsWorkspace.cc.

85{
86 fpPolyconeSideSIM->UseWorkArea(nullptr);
87 fpPolyhedraSideSIM->UseWorkArea(nullptr);
88}
void UseWorkArea(T *newOffset)

◆ SetVerbose()

void G4SolidsWorkspace::SetVerbose ( G4bool  v)
inline

Definition at line 70 of file G4SolidsWorkspace.hh.

70{ fVerbose=v; }

◆ UseWorkspace()

void G4SolidsWorkspace::UseWorkspace ( )

Definition at line 69 of file G4SolidsWorkspace.cc.

70{
71 if( fVerbose )
72 G4cout << "G4SolidsWorkspace::UseWorkspace: Copying geometry - Start "
73 << G4endl;
74
75 // Geometry related, split classes mechanism: instantiate sub-instance
76 // for this thread
77 //
78 fpPolyconeSideSIM->UseWorkArea(fPolyconeSideOffset);
79 fpPolyhedraSideSIM->UseWorkArea(fPolyhedraSideOffset);
80}

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