BOSS 6.6.4.p01
BESIII Offline Software System
Loading...
Searching...
No Matches
StepLimiter Class Reference

#include <StepLimiter.hh>

+ Inheritance diagram for StepLimiter:

Public Member Functions

 StepLimiter (G4int ver=0, const G4String &name="StepLimiter")
 
virtual ~StepLimiter ()
 
virtual void ConstructParticle ()
 
virtual void ConstructProcess ()
 

Detailed Description

Definition at line 26 of file StepLimiter.hh.

Constructor & Destructor Documentation

◆ StepLimiter()

StepLimiter::StepLimiter ( G4int  ver = 0,
const G4String &  name = "StepLimiter" 
)

Definition at line 46 of file StepLimiter.cc.

47 : G4VPhysicsConstructor(name), verbose(ver)
48{
49 G4LossTableManager::Instance();
50}

◆ ~StepLimiter()

StepLimiter::~StepLimiter ( )
virtual

Definition at line 52 of file StepLimiter.cc.

53{}

Member Function Documentation

◆ ConstructParticle()

void StepLimiter::ConstructParticle ( )
virtual

Definition at line 57 of file StepLimiter.cc.

58{
59 // gamma
60 G4Gamma::Gamma();
61
62 // leptons
63 G4Electron::Electron();
64 G4Positron::Positron();
65 G4MuonPlus::MuonPlus();
66 G4MuonMinus::MuonMinus();
67
68 // mesons
69 G4PionPlus::PionPlusDefinition();
70 G4PionMinus::PionMinusDefinition();
71 G4KaonPlus::KaonPlusDefinition();
72 G4KaonMinus::KaonMinusDefinition();
73
74 // barions
75 G4Proton::Proton();
76 G4AntiProton::AntiProton();
77
78 // ions
79 G4Deuteron::Deuteron();
80 G4Triton::Triton();
81 G4He3::He3();
82 G4Alpha::Alpha();
83 G4GenericIon::GenericIonDefinition();
84}

◆ ConstructProcess()

void StepLimiter::ConstructProcess ( )
virtual

Definition at line 88 of file StepLimiter.cc.

89{
90
91 theParticleIterator->reset();
92 while( (*theParticleIterator)() ){
93 G4ParticleDefinition* particle = theParticleIterator->value();
94 G4ProcessManager* pmanager = particle->GetProcessManager();
95 G4String particleName = particle->GetParticleName();
96
97 if (particleName == "gamma") {
98 pmanager ->AddDiscreteProcess(new G4StepLimiter());
99 } else if (particleName == "e-") {
100 pmanager ->AddDiscreteProcess(new G4StepLimiter());
101 } else if (particleName == "e+") {
102 pmanager ->AddDiscreteProcess(new G4StepLimiter());
103 } else if (particleName == "mu+" ||
104 particleName == "mu-" ) {
105 pmanager ->AddDiscreteProcess(new G4StepLimiter());
106 } else if (particleName == "alpha" ||
107 particleName == "He3") {
108 pmanager ->AddDiscreteProcess(new G4StepLimiter());
109 } else if (particleName == "GenericIon") {
110 pmanager ->AddDiscreteProcess(new G4StepLimiter());
111 } else if (particleName == "pi+" ||
112 particleName == "pi-" ||
113 particleName == "kaon+" ||
114 particleName == "kaon-" ||
115 particleName == "proton" ||
116 particleName == "anti_proton" ) {
117 pmanager ->AddDiscreteProcess(new G4StepLimiter());
118 }
119
120 }
121
122}

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