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

#include <G4ParticlesWorkspace.hh>

Public Types

typedef G4TWorkspacePool
< G4ParticlesWorkspace
pool_type
 

Public Member Functions

 G4ParticlesWorkspace (G4bool verbose=false)
 
 ~G4ParticlesWorkspace ()
 
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 InitialiseParticles ()
 

Detailed Description

Definition at line 54 of file G4ParticlesWorkspace.hh.

Member Typedef Documentation

Constructor & Destructor Documentation

G4ParticlesWorkspace::G4ParticlesWorkspace ( G4bool  verbose = false)

Definition at line 36 of file G4ParticlesWorkspace.cc.

37  : fVerbose(verbose)
38 {
39  fpPDefSIM =
41 
42  // Copy information from master into PolyCone/Gon Sides in this thread.
44 
45  // Capture its address of ParticleDefinition split-class in this thread
46  fpPDefOffset = fpPDefSIM->GetOffset();
47 }
G4PDefData * GetOffset()
static const G4PDefManager & GetSubInstanceManager()

Here is the call graph for this function:

G4ParticlesWorkspace::~G4ParticlesWorkspace ( )

Definition at line 49 of file G4ParticlesWorkspace.cc.

50 {
51 }

Member Function Documentation

void G4ParticlesWorkspace::DestroyWorkspace ( )

Definition at line 96 of file G4ParticlesWorkspace.cc.

97 {
98  fpPDefSIM->FreeSlave();
99 }

Here is the call graph for this function:

G4ParticlesWorkspace::pool_type * G4ParticlesWorkspace::GetPool ( )
static

Definition at line 34 of file G4ParticlesWorkspace.cc.

34 { return &thePool; }

Here is the caller graph for this function:

G4bool G4ParticlesWorkspace::GetVerbose ( )
inline

Definition at line 70 of file G4ParticlesWorkspace.hh.

70 { return fVerbose; }
void G4ParticlesWorkspace::InitialiseParticles ( )
protected

Definition at line 72 of file G4ParticlesWorkspace.cc.

73 {
74 }

Here is the caller graph for this function:

void G4ParticlesWorkspace::InitialiseWorkspace ( )

Definition at line 77 of file G4ParticlesWorkspace.cc.

78 {
79  if( fVerbose )
80  G4cout << "G4ParticlesWorkspace::InitialiseWorkspace: "
81  << "Copying particles-definition Split-Class - Start " << G4endl;
82 
83  // Particles related, split classes mechanism:
84  // Do *NOT* instantiate sub-instance for this thread,
85  // just copy the contents !!
86  fpPDefSIM->NewSubInstances();
87 
88  // Additional initialization if needed - beyond copying memory
90 
91  if( fVerbose )
92  G4cout << "G4ParticlesWorkspace::CreateAndUseWorkspace: "
93  << "Copying particles-definition Split-Class - Done!" << G4endl;
94 }
void NewSubInstances()
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61

Here is the call graph for this function:

Here is the caller graph for this function:

void G4ParticlesWorkspace::ReleaseWorkspace ( )

Definition at line 67 of file G4ParticlesWorkspace.cc.

68 {
69  fpPDefSIM->UseWorkArea(0);
70 }
void UseWorkArea(G4PDefData *newOffset)

Here is the call graph for this function:

void G4ParticlesWorkspace::SetVerbose ( G4bool  v)
inline

Definition at line 69 of file G4ParticlesWorkspace.hh.

69 { fVerbose=v; }
void G4ParticlesWorkspace::UseWorkspace ( )

Definition at line 54 of file G4ParticlesWorkspace.cc.

55 {
56  if( fVerbose )
57  G4cout << "G4ParticlesWorkspace::UseWorkspace: "
58  << "Copying particles-definition Split-Class - Start " << G4endl;
59 
60  // Implementation copied from G4WorkerThread::BuildGeometryAndPhysicsVector()
61 
62  // Geometry related, split classes mechanism: instantiate
63  // sub-instance for this thread
64  fpPDefSIM->UseWorkArea(fpPDefOffset);
65 }
void UseWorkArea(G4PDefData *newOffset)
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61

Here is the call graph for this function:


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