Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4ParallelWorldPhysics Class Reference

#include <G4ParallelWorldPhysics.hh>

+ Inheritance diagram for G4ParallelWorldPhysics:

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 ()
 
virtual void ConstructParticle ()=0
 
virtual void ConstructProcess ()=0
 
void SetPhysicsName (const G4String &="")
 
const G4StringGetPhysicsName () const
 
void SetPhysicsType (G4int)
 
G4int GetPhysicsType () const
 
G4int GetInstanceID () const
 
virtual void TerminateWorker ()
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VPhysicsConstructor
static const G4VPCManagerGetSubInstanceManager ()
 
- Protected Types inherited from G4VPhysicsConstructor
using PhysicsBuilder_V = G4VPCData::PhysicsBuilders_V
 
- Protected Member Functions inherited from G4VPhysicsConstructor
G4bool RegisterProcess (G4VProcess *process, G4ParticleDefinition *particle)
 
G4ParticleTable::G4PTblDicIteratorGetParticleIterator () const
 
PhysicsBuilder_V GetBuilders () const
 
void AddBuilder (G4PhysicsBuilderInterface *bld)
 
- Protected Attributes inherited from G4VPhysicsConstructor
G4int verboseLevel = 0
 
G4String namePhysics = ""
 
G4int typePhysics = 0
 
G4ParticleTabletheParticleTable = nullptr
 
G4int g4vpcInstanceID = 0
 
- Static Protected Attributes inherited from G4VPhysicsConstructor
static G4RUN_DLL G4VPCManager subInstanceManager
 

Detailed Description

Definition at line 39 of file G4ParallelWorldPhysics.hh.

Constructor & Destructor Documentation

◆ G4ParallelWorldPhysics()

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

Definition at line 56 of file G4ParallelWorldPhysics.cc.

57 : G4VPhysicsConstructor(name), fLayeredMass(layeredMass)
58{;}

◆ ~G4ParallelWorldPhysics()

G4ParallelWorldPhysics::~G4ParallelWorldPhysics ( )
virtual

Definition at line 62 of file G4ParallelWorldPhysics.cc.

63{;}

Member Function Documentation

◆ ConstructParticle()

void G4ParallelWorldPhysics::ConstructParticle ( )
virtual

Implements G4VPhysicsConstructor.

Definition at line 67 of file G4ParallelWorldPhysics.cc.

68{;}

◆ ConstructProcess()

void G4ParallelWorldPhysics::ConstructProcess ( )
virtual

Implements G4VPhysicsConstructor.

Definition at line 72 of file G4ParallelWorldPhysics.cc.

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

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