Geant4 11.2.2
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 ()=default
 
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 ( )
default

Member Function Documentation

◆ DestroyWorkspace()

void G4SolidsWorkspace::DestroyWorkspace ( )

Definition at line 113 of file G4SolidsWorkspace.cc.

114{
115 fpPolyconeSideSIM->FreeSlave();
116 fpPolyhedraSideSIM->FreeSlave();
117}

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 87 of file G4SolidsWorkspace.cc.

88{
89}

Referenced by InitialiseWorkspace().

◆ InitialiseWorkspace()

void G4SolidsWorkspace::InitialiseWorkspace ( )

Definition at line 92 of file G4SolidsWorkspace.cc.

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

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

◆ ReleaseWorkspace()

void G4SolidsWorkspace::ReleaseWorkspace ( )

Definition at line 80 of file G4SolidsWorkspace.cc.

82{
83 fpPolyconeSideSIM->UseWorkArea(nullptr);
84 fpPolyhedraSideSIM->UseWorkArea(nullptr);
85}
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 66 of file G4SolidsWorkspace.cc.

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

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