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

#include <G4PhysicsListWorkspace.hh>

Public Types

typedef G4TWorkspacePool
< G4PhysicsListWorkspace
pool_type
 

Public Member Functions

 G4PhysicsListWorkspace (G4bool verbose=false)
 
 ~G4PhysicsListWorkspace ()
 
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 InitialisePhysicsList ()
 

Detailed Description

Definition at line 56 of file G4PhysicsListWorkspace.hh.

Member Typedef Documentation

Constructor & Destructor Documentation

G4PhysicsListWorkspace::G4PhysicsListWorkspace ( G4bool  verbose = false)

Definition at line 36 of file G4PhysicsListWorkspace.cc.

37  : fVerbose(verbose)
38 {
39 
40  fpVUPLSIM =
42  fpVPCSIM =
44  fpVMPLSIM =
46 
47  // Copy information from master into PolyCone/Gon Sides in this thread.
49 
50  // Capture its address of ParticleDefinition split-class in this thread
51  fpVUPLOffset = fpVUPLSIM->GetOffset();
52  fpVPCOffset = fpVPCSIM->GetOffset();
53  fpVMPLOffset = fpVMPLSIM->GetOffset();
54 }
static const G4VMPLManager & GetSubInstanceManager()
static const G4VPCManager & GetSubInstanceManager()
static const G4VUPLManager & GetSubInstanceManager()

Here is the call graph for this function:

G4PhysicsListWorkspace::~G4PhysicsListWorkspace ( )

Definition at line 56 of file G4PhysicsListWorkspace.cc.

57 {
58 }

Member Function Documentation

void G4PhysicsListWorkspace::DestroyWorkspace ( )

Definition at line 110 of file G4PhysicsListWorkspace.cc.

111 {
112  fpVUPLSIM->FreeWorker();
113  fpVPCSIM->FreeWorker();
114  fpVMPLSIM->FreeWorker();
115 }

Here is the call graph for this function:

G4PhysicsListWorkspace::pool_type * G4PhysicsListWorkspace::GetPool ( )
static

Definition at line 34 of file G4PhysicsListWorkspace.cc.

34 { return &thePool; }

Here is the caller graph for this function:

G4bool G4PhysicsListWorkspace::GetVerbose ( )
inline

Definition at line 71 of file G4PhysicsListWorkspace.hh.

71 { return fVerbose; }
void G4PhysicsListWorkspace::InitialisePhysicsList ( )
protected

Definition at line 84 of file G4PhysicsListWorkspace.cc.

85 {
86 }

Here is the caller graph for this function:

void G4PhysicsListWorkspace::InitialiseWorkspace ( )

Definition at line 89 of file G4PhysicsListWorkspace.cc.

90 {
91  if( fVerbose )
92  G4cout << "G4PhysicsListWorkspace::InitialiseWorkspace: "
93  << "Copying particles-definition Split-Class - Start " << G4endl;
94 
95  // PhysicsList related, split classes mechanism:
96  // Do *NOT* instantiate sub-instance for this thread,
97  // just copy the contents !!
98  fpVUPLSIM->NewSubInstances();
99  fpVPCSIM->NewSubInstances();
100  fpVMPLSIM->WorkerCopySubInstanceArray();
101 
102  // Additional initialization if needed - beyond copying memory
104 
105  if( fVerbose )
106  G4cout << "G4PhysicsListWorkspace::CreateAndUseWorkspace: "
107  << "Copying particles-definition Split-Class - Done!" << G4endl;
108 }
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
void WorkerCopySubInstanceArray()

Here is the call graph for this function:

Here is the caller graph for this function:

void G4PhysicsListWorkspace::ReleaseWorkspace ( )

Definition at line 77 of file G4PhysicsListWorkspace.cc.

78 {
79  fpVUPLSIM->UseWorkArea(0);
80  fpVPCSIM->UseWorkArea(0);
81  fpVMPLSIM->UseWorkArea(0);
82 }
void UseWorkArea(T *newOffset)

Here is the call graph for this function:

void G4PhysicsListWorkspace::SetVerbose ( G4bool  v)
inline

Definition at line 70 of file G4PhysicsListWorkspace.hh.

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

Definition at line 61 of file G4PhysicsListWorkspace.cc.

62 {
63  if( fVerbose )
64  G4cout << "G4PhysicsListWorkspace::UseWorkspace: "
65  << "Copying particles-definition Split-Class - Start " << G4endl;
66 
67  // Implementation copied from
68  // G4WorkerThread::BuildGeometryAndPhysicsVector()
69 
70  // Physics List related, split classes mechanism:
71  // instantiate sub-instance for this thread
72  fpVUPLSIM->UseWorkArea(fpVUPLOffset);
73  fpVPCSIM->UseWorkArea(fpVPCOffset);
74  fpVMPLSIM->UseWorkArea(fpVMPLOffset);
75 }
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
void UseWorkArea(T *newOffset)

Here is the call graph for this function:


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