Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
G4ParallelWorldPhysics Class Reference

#include <G4ParallelWorldPhysics.hh>

Inheritance diagram for G4ParallelWorldPhysics:
G4VPhysicsConstructor

Public Member Functions

 G4ParallelWorldPhysics (const G4String &name="ParallelWP", G4bool layerdMass=false)
 
virtual ~G4ParallelWorldPhysics ()
 
virtual void ConstructParticle ()
 
virtual void ConstructProcess ()
 
- Public Member Functions inherited from G4VPhysicsConstructor
 G4VPhysicsConstructor (const G4String &="")
 
 G4VPhysicsConstructor (const G4String &name, G4int physics_type)
 
virtual ~G4VPhysicsConstructor ()
 
void SetPhysicsName (const G4String &="")
 
const G4StringGetPhysicsName () const
 
void SetPhysicsType (G4int)
 
G4int GetPhysicsType () const
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 
G4int GetInstanceID () const
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VPhysicsConstructor
static const G4VPCManagerGetSubInstanceManager ()
 
- Protected Member Functions inherited from G4VPhysicsConstructor
G4bool RegisterProcess (G4VProcess *process, G4ParticleDefinition *particle)
 
- Protected Attributes inherited from G4VPhysicsConstructor
G4int verboseLevel
 
G4String namePhysics
 
G4int typePhysics
 
G4ParticleTabletheParticleTable
 
G4int g4vpcInstanceID
 
- Static Protected Attributes inherited from G4VPhysicsConstructor
static G4RUN_DLL G4VPCManager subInstanceManager
 

Detailed Description

Definition at line 40 of file G4ParallelWorldPhysics.hh.

Constructor & Destructor Documentation

G4ParallelWorldPhysics::G4ParallelWorldPhysics ( const G4String name = "ParallelWP",
G4bool  layerdMass = false 
)

Definition at line 57 of file G4ParallelWorldPhysics.cc.

58  : G4VPhysicsConstructor(name), fLayeredMass(layeredMass)
59 {;}
G4VPhysicsConstructor(const G4String &="")
G4ParallelWorldPhysics::~G4ParallelWorldPhysics ( )
virtual

Definition at line 63 of file G4ParallelWorldPhysics.cc.

64 {;}

Member Function Documentation

void G4ParallelWorldPhysics::ConstructParticle ( void  )
virtual

Implements G4VPhysicsConstructor.

Definition at line 68 of file G4ParallelWorldPhysics.cc.

69 {;}
void G4ParallelWorldPhysics::ConstructProcess ( void  )
virtual

Implements G4VPhysicsConstructor.

Definition at line 73 of file G4ParallelWorldPhysics.cc.

References G4ProcessManager::AddProcess(), aParticleIterator, G4TransportationManager::GetParallelWorld(), G4ParticleDefinition::GetProcessManager(), G4TransportationManager::GetTransportationManager(), idxAlongStep, idxAtRest, idxPostStep, G4ParallelWorldProcess::IsAtRestRequired(), G4VPhysicsConstructor::namePhysics, G4ParallelWorldProcess::SetLayeredMaterialFlag(), G4ParallelWorldProcess::SetParallelWorld(), and G4ProcessManager::SetProcessOrdering().

Referenced by HadrontherapyPhysicsList::ConstructProcess().

74 {
75  // Make sure the parallel world registered
78 
79  // Add parallel world process
80  G4ParallelWorldProcess* theParallelWorldProcess
82  theParallelWorldProcess->SetParallelWorld(namePhysics);
83  theParallelWorldProcess->SetLayeredMaterialFlag(fLayeredMass);
84 
85  aParticleIterator->reset();
86  while( (*aParticleIterator)() ){
87  G4ParticleDefinition* particle = aParticleIterator->value();
88  G4ProcessManager* pmanager = particle->GetProcessManager();
89  pmanager->AddProcess(theParallelWorldProcess);
90  if(theParallelWorldProcess->IsAtRestRequired(particle))
91  {pmanager->SetProcessOrdering(theParallelWorldProcess, idxAtRest, 9999);}
92  pmanager->SetProcessOrdering(theParallelWorldProcess, idxAlongStep, 1);
93  pmanager->SetProcessOrdering(theParallelWorldProcess, idxPostStep, 9999);
94  }
95 }
G4bool IsAtRestRequired(G4ParticleDefinition *)
G4ProcessManager * GetProcessManager() const
void SetParallelWorld(G4String parallelWorldName)
#define aParticleIterator
G4int AddProcess(G4VProcess *aProcess, G4int ordAtRestDoIt=ordInActive, G4int ordAlongSteptDoIt=ordInActive, G4int ordPostStepDoIt=ordInActive)
void SetLayeredMaterialFlag(G4bool flg=true)
void SetProcessOrdering(G4VProcess *aProcess, G4ProcessVectorDoItIndex idDoIt, G4int ordDoIt=ordDefault)
static G4TransportationManager * GetTransportationManager()
G4VPhysicalVolume * GetParallelWorld(const G4String &worldName)

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