Geant4 11.4.0
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 ()
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{;}
G4VPhysicsConstructor(const G4String &="")

◆ ~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
80 = new G4ParallelWorldProcess(namePhysics);
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: