Geant4-11
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes
G4PhysicsListWorkspace Class Reference

#include <G4PhysicsListWorkspace.hh>

Public Types

using pool_type = G4TWorkspacePool< G4PhysicsListWorkspace >
 

Public Member Functions

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

Static Public Member Functions

static pool_typeGetPool ()
 

Protected Member Functions

void InitialisePhysicsList ()
 

Private Attributes

G4VMPLDatafpVMPLOffset = nullptr
 
G4VMPLManagerfpVMPLSIM = nullptr
 
G4VPCDatafpVPCOffset = nullptr
 
G4VPCManagerfpVPCSIM = nullptr
 
G4VUPLDatafpVUPLOffset = nullptr
 
G4VUPLManagerfpVUPLSIM = nullptr
 
G4bool fVerbose = false
 

Detailed Description

Definition at line 50 of file G4PhysicsListWorkspace.hh.

Member Typedef Documentation

◆ pool_type

Definition at line 54 of file G4PhysicsListWorkspace.hh.

Constructor & Destructor Documentation

◆ G4PhysicsListWorkspace()

G4PhysicsListWorkspace::G4PhysicsListWorkspace ( G4bool  verbose = false)

Definition at line 45 of file G4PhysicsListWorkspace.cc.

46 : fVerbose(verbose)
47{
48 fpVUPLSIM =
50 fpVPCSIM =
52 fpVMPLSIM =
54
55 // Copy information from master into PolyCone/Gon Sides in this thread.
57
58 // Capture its address of ParticleDefinition split-class in this thread
62}
static const G4VMPLManager & GetSubInstanceManager()
static const G4VPCManager & GetSubInstanceManager()
static const G4VUPLManager & GetSubInstanceManager()

References fpVMPLOffset, fpVMPLSIM, fpVPCOffset, fpVPCSIM, fpVUPLOffset, fpVUPLSIM, G4VUPLSplitter< T >::GetOffset(), G4VModularPhysicsList::GetSubInstanceManager(), G4VPhysicsConstructor::GetSubInstanceManager(), G4VUserPhysicsList::GetSubInstanceManager(), and InitialiseWorkspace().

◆ ~G4PhysicsListWorkspace()

G4PhysicsListWorkspace::~G4PhysicsListWorkspace ( )

Definition at line 65 of file G4PhysicsListWorkspace.cc.

66{
67}

Member Function Documentation

◆ DestroyWorkspace()

void G4PhysicsListWorkspace::DestroyWorkspace ( )

◆ GetPool()

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

◆ GetVerbose()

G4bool G4PhysicsListWorkspace::GetVerbose ( )
inline

Definition at line 67 of file G4PhysicsListWorkspace.hh.

67{ return fVerbose; }

References fVerbose.

◆ InitialisePhysicsList()

void G4PhysicsListWorkspace::InitialisePhysicsList ( )
protected

Definition at line 92 of file G4PhysicsListWorkspace.cc.

93{
94}

Referenced by InitialiseWorkspace().

◆ InitialiseWorkspace()

void G4PhysicsListWorkspace::InitialiseWorkspace ( )

Definition at line 97 of file G4PhysicsListWorkspace.cc.

98{
99 if(fVerbose)
100 G4cout << "G4PhysicsListWorkspace::InitialiseWorkspace: "
101 << "Copying particles-definition Split-Class - Start " << G4endl;
102
103 // PhysicsList related, split classes mechanism:
104 // Do *NOT* instantiate sub-instance for this thread, just copy the contents!!
107 // The following line is fundamental! If we call NewSubInstances it will not
108 // work See: https://jira-geant4.kek.jp/browse/DEV-284
110
111 // Additional initialisation if needed - beyond copying memory
113
114 if(fVerbose)
115 G4cout << "G4PhysicsListWorkspace::CreateAndUseWorkspace: "
116 << "Copying particles-definition Split-Class - Done!" << G4endl;
117}
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout
void WorkerCopySubInstanceArray()
void NewSubInstances()

References fpVMPLSIM, fpVPCSIM, fpVUPLSIM, fVerbose, G4cout, G4endl, InitialisePhysicsList(), G4VUPLSplitter< T >::NewSubInstances(), and G4VUPLSplitter< T >::WorkerCopySubInstanceArray().

Referenced by G4PhysicsListWorkspace().

◆ ReleaseWorkspace()

void G4PhysicsListWorkspace::ReleaseWorkspace ( )

Definition at line 84 of file G4PhysicsListWorkspace.cc.

85{
86 fpVUPLSIM->UseWorkArea(nullptr);
87 fpVPCSIM->UseWorkArea(nullptr);
88 fpVMPLSIM->UseWorkArea(nullptr);
89}
void UseWorkArea(T *newOffset)

References fpVMPLSIM, fpVPCSIM, fpVUPLSIM, and G4VUPLSplitter< T >::UseWorkArea().

◆ SetVerbose()

void G4PhysicsListWorkspace::SetVerbose ( G4bool  v)
inline

Definition at line 66 of file G4PhysicsListWorkspace.hh.

66{ fVerbose = v; }

References fVerbose.

◆ UseWorkspace()

void G4PhysicsListWorkspace::UseWorkspace ( )

Definition at line 70 of file G4PhysicsListWorkspace.cc.

71{
72 if(fVerbose)
73 G4cout << "G4PhysicsListWorkspace::UseWorkspace: "
74 << "Copying particles-definition Split-Class - Start " << G4endl;
75
76 // Physics List related, split classes mechanism:
77 // instantiate sub-instance for this thread
81}

References fpVMPLOffset, fpVMPLSIM, fpVPCOffset, fpVPCSIM, fpVUPLOffset, fpVUPLSIM, fVerbose, G4cout, G4endl, and G4VUPLSplitter< T >::UseWorkArea().

Field Documentation

◆ fpVMPLOffset

G4VMPLData* G4PhysicsListWorkspace::fpVMPLOffset = nullptr
private

Definition at line 84 of file G4PhysicsListWorkspace.hh.

Referenced by G4PhysicsListWorkspace(), and UseWorkspace().

◆ fpVMPLSIM

G4VMPLManager* G4PhysicsListWorkspace::fpVMPLSIM = nullptr
private

◆ fpVPCOffset

G4VPCData* G4PhysicsListWorkspace::fpVPCOffset = nullptr
private

Definition at line 83 of file G4PhysicsListWorkspace.hh.

Referenced by G4PhysicsListWorkspace(), and UseWorkspace().

◆ fpVPCSIM

G4VPCManager* G4PhysicsListWorkspace::fpVPCSIM = nullptr
private

◆ fpVUPLOffset

G4VUPLData* G4PhysicsListWorkspace::fpVUPLOffset = nullptr
private

Definition at line 82 of file G4PhysicsListWorkspace.hh.

Referenced by G4PhysicsListWorkspace(), and UseWorkspace().

◆ fpVUPLSIM

G4VUPLManager* G4PhysicsListWorkspace::fpVUPLSIM = nullptr
private

◆ fVerbose

G4bool G4PhysicsListWorkspace::fVerbose = false
private

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