#include <MyStepLimiter.hh>
Public Member Functions | |
MyStepLimiter (G4int ver=1) | |
MyStepLimiter (const G4String &name, G4int ver=1) | |
virtual | ~MyStepLimiter () |
virtual void | ConstructParticle () |
virtual void | ConstructProcess () |
Private Attributes | |
G4StepLimiter * | fStepLimiter |
G4int | verbose |
G4bool | wasActivated |
Definition at line 50 of file MyStepLimiter.hh.
MyStepLimiter::MyStepLimiter | ( | G4int | ver = 1 |
) |
Definition at line 10 of file MyStepLimiter.cc.
References fStepLimiter.
00011 : G4VPhysicsConstructor("MyStepLimiter"), verbose(ver), wasActivated(false) 00012 { 00013 fStepLimiter = 0; 00014 }
MyStepLimiter::MyStepLimiter | ( | const G4String & | name, | |
G4int | ver = 1 | |||
) |
Definition at line 16 of file MyStepLimiter.cc.
References fStepLimiter.
00017 : G4VPhysicsConstructor(name), verbose(ver), wasActivated(false) 00018 { 00019 fStepLimiter = 0; 00020 }
MyStepLimiter::~MyStepLimiter | ( | ) | [virtual] |
Definition at line 22 of file MyStepLimiter.cc.
References fStepLimiter.
00023 { 00024 delete fStepLimiter; 00025 }
void MyStepLimiter::ConstructParticle | ( | ) | [virtual] |
Definition at line 27 of file MyStepLimiter.cc.
void MyStepLimiter::ConstructProcess | ( | ) | [virtual] |
Definition at line 34 of file MyStepLimiter.cc.
References fStepLimiter, and wasActivated.
00035 { 00036 if(wasActivated) { return; } 00037 wasActivated = true; 00038 00039 G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper(); 00040 G4ParticleTable::G4PTblDicIterator* theParticleIterator 00041 = G4ParticleTable::GetParticleTable()->GetIterator(); 00042 // add limit process 00043 theParticleIterator->reset(); 00044 00045 fStepLimiter = new G4StepLimiter(); 00046 00047 while ((*theParticleIterator)()){ 00048 G4ParticleDefinition *particle = theParticleIterator->value(); 00049 G4ProcessManager *pmanager = particle->GetProcessManager(); 00050 G4String particleName = particle->GetParticleName(); 00051 // if (particleName == "e-" || 00052 // particleName == "e+" || 00053 // particleName == "mu-" || 00054 // particleName == "mu+" || 00055 // particleName == "proton" 00056 // ) { 00057 if (particleName != "gamma" 00058 && particleName != "geantino" 00059 && particleName != "chargedgeantino" 00060 && particleName != "nu_e" 00061 && particleName != "nu_mu" 00062 && particleName != "nu_tau" 00063 && particleName != "anti_nu_e" 00064 && particleName != "anti_nu_mu" 00065 && particleName != "anti_nu_tau" 00066 ) { 00067 pmanager->AddDiscreteProcess(fStepLimiter); 00068 } 00069 } 00070 }
G4StepLimiter* MyStepLimiter::fStepLimiter [private] |
Definition at line 68 of file MyStepLimiter.hh.
Referenced by ConstructProcess(), MyStepLimiter(), and ~MyStepLimiter().
G4int MyStepLimiter::verbose [private] |
Definition at line 69 of file MyStepLimiter.hh.
G4bool MyStepLimiter::wasActivated [private] |
Definition at line 70 of file MyStepLimiter.hh.
Referenced by ConstructProcess().