Geant4  10.02.p03
G4StepLimiterPhysics Class Reference

#include <G4StepLimiterPhysics.hh>

Inheritance diagram for G4StepLimiterPhysics:
Collaboration diagram for G4StepLimiterPhysics:

Public Member Functions

 G4StepLimiterPhysics (const G4String &name="stepLimiter")
 
virtual ~G4StepLimiterPhysics ()
 
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
 

Private Member Functions

G4StepLimiterPhysicsoperator= (const G4StepLimiterPhysics &right)
 
 G4StepLimiterPhysics (const G4StepLimiterPhysics &)
 

Private Attributes

G4StepLimiterfStepLimiter
 
G4UserSpecialCutsfUserSpecialCuts
 

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)
 
G4ParticleTable::G4PTblDicIteratorGetParticleIterator () const
 
- 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 43 of file G4StepLimiterPhysics.hh.

Constructor & Destructor Documentation

◆ G4StepLimiterPhysics() [1/2]

G4StepLimiterPhysics::G4StepLimiterPhysics ( const G4String name = "stepLimiter")

Definition at line 57 of file G4StepLimiterPhysics.cc.

59 {}
G4UserSpecialCuts * fUserSpecialCuts
G4VPhysicsConstructor(const G4String &="")
G4StepLimiter * fStepLimiter

◆ ~G4StepLimiterPhysics()

G4StepLimiterPhysics::~G4StepLimiterPhysics ( )
virtual

Definition at line 63 of file G4StepLimiterPhysics.cc.

64 {
65  delete fStepLimiter;
66  delete fUserSpecialCuts;
67 }
G4UserSpecialCuts * fUserSpecialCuts
G4StepLimiter * fStepLimiter

◆ G4StepLimiterPhysics() [2/2]

G4StepLimiterPhysics::G4StepLimiterPhysics ( const G4StepLimiterPhysics )
private

Member Function Documentation

◆ ConstructParticle()

void G4StepLimiterPhysics::ConstructParticle ( void  )
virtual

Implements G4VPhysicsConstructor.

Definition at line 71 of file G4StepLimiterPhysics.cc.

72 {}

◆ ConstructProcess()

void G4StepLimiterPhysics::ConstructProcess ( void  )
virtual

Implements G4VPhysicsConstructor.

Definition at line 76 of file G4StepLimiterPhysics.cc.

77 {
78  auto myParticleIterator=GetParticleIterator();
79  myParticleIterator->reset();
80 
83  while ((*myParticleIterator)()) {
84  G4ParticleDefinition* particle = myParticleIterator->value();
85  G4ProcessManager* pmanager = particle->GetProcessManager();
86  G4double charge = particle->GetPDGCharge();
87 
88  if(!particle->IsShortLived()) {
89  if (charge != 0.0) {
90  // All charged particles should have a step limiter
91  // to make sure that the steps do not get too long.
94  } else {
95  // Energy cuts for all other neutral particles
97  }
98  }
99  }
100 }
G4int AddDiscreteProcess(G4VProcess *aProcess, G4int ord=ordDefault)
G4ProcessManager * GetProcessManager() const
G4UserSpecialCuts * fUserSpecialCuts
G4StepLimiter * fStepLimiter
G4ParticleTable::G4PTblDicIterator * GetParticleIterator() const
double G4double
Definition: G4Types.hh:76
G4double GetPDGCharge() const
Here is the call graph for this function:

◆ operator=()

G4StepLimiterPhysics& G4StepLimiterPhysics::operator= ( const G4StepLimiterPhysics right)
private

Member Data Documentation

◆ fStepLimiter

G4StepLimiter* G4StepLimiterPhysics::fStepLimiter
private

Definition at line 66 of file G4StepLimiterPhysics.hh.

◆ fUserSpecialCuts

G4UserSpecialCuts* G4StepLimiterPhysics::fUserSpecialCuts
private

Definition at line 67 of file G4StepLimiterPhysics.hh.


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