MyStepLimiter Class Reference

#include <MyStepLimiter.hh>

List of all members.

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

Detailed Description

Definition at line 50 of file MyStepLimiter.hh.


Constructor & Destructor Documentation

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 }


Member Function Documentation

void MyStepLimiter::ConstructParticle (  )  [virtual]

Definition at line 27 of file MyStepLimiter.cc.

00028 {
00029 
00030         // G4cout << "MyStepLimiter::ConstructParticle" << G4endl;
00031 
00032 }

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 }


Member Data Documentation

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().


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

Generated on 15 Jun 2016 for g4sim by  doxygen 1.6.1