Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
OpNoviceSteppingAction Class Reference

#include <OpNoviceSteppingAction.hh>

Inheritance diagram for OpNoviceSteppingAction:
G4UserSteppingAction

Public Member Functions

 OpNoviceSteppingAction ()
 
virtual ~OpNoviceSteppingAction ()
 
virtual void UserSteppingAction (const G4Step *)
 
- Public Member Functions inherited from G4UserSteppingAction
 G4UserSteppingAction ()
 
virtual ~G4UserSteppingAction ()
 
void SetSteppingManagerPointer (G4SteppingManager *pValue)
 

Additional Inherited Members

- Protected Attributes inherited from G4UserSteppingAction
G4SteppingManagerfpSteppingManager
 

Detailed Description

Stepping action class

Definition at line 40 of file OpNoviceSteppingAction.hh.

Constructor & Destructor Documentation

OpNoviceSteppingAction::OpNoviceSteppingAction ( )

Definition at line 43 of file OpNoviceSteppingAction.cc.

45 {
46  fScintillationCounter = 0;
47  fCerenkovCounter = 0;
48  fEventNumber = -1;
49 }
OpNoviceSteppingAction::~OpNoviceSteppingAction ( )
virtual

Definition at line 53 of file OpNoviceSteppingAction.cc.

54 { ; }

Member Function Documentation

void OpNoviceSteppingAction::UserSteppingAction ( const G4Step step)
virtual

Reimplemented from G4UserSteppingAction.

Definition at line 58 of file OpNoviceSteppingAction.cc.

References G4cout, G4endl, G4Track::GetDynamicParticle(), G4RunManager::GetRunManager(), G4Step::GetSecondaryInCurrentStep(), G4Step::GetTrack(), and G4OpticalPhoton::OpticalPhotonDefinition().

59 {
60  G4int eventNumber = G4RunManager::GetRunManager()->
61  GetCurrentEvent()->GetEventID();
62 
63  if (eventNumber != fEventNumber) {
64  G4cout << " Number of Scintillation Photons in previous event: "
65  << fScintillationCounter << G4endl;
66  G4cout << " Number of Cerenkov Photons in previous event: "
67  << fCerenkovCounter << G4endl;
68  fEventNumber = eventNumber;
69  fScintillationCounter = 0;
70  fCerenkovCounter = 0;
71  }
72 
73  G4Track* track = step->GetTrack();
74 
75  G4String ParticleName = track->GetDynamicParticle()->
76  GetParticleDefinition()->GetParticleName();
77 
78  if (ParticleName == "opticalphoton") return;
79 
80  const std::vector<const G4Track*>* secondaries =
82 
83  if (secondaries->size()>0) {
84  for(unsigned int i=0; i<secondaries->size(); ++i) {
85  if (secondaries->at(i)->GetParentID()>0) {
86  if(secondaries->at(i)->GetDynamicParticle()->GetParticleDefinition()
88  if (secondaries->at(i)->GetCreatorProcess()->GetProcessName()
89  == "Scintillation")fScintillationCounter++;
90  if (secondaries->at(i)->GetCreatorProcess()->GetProcessName()
91  == "Cerenkov")fCerenkovCounter++;
92  }
93  }
94  }
95  }
96 }
const G4DynamicParticle * GetDynamicParticle() const
int G4int
Definition: G4Types.hh:78
G4GLOB_DLL std::ostream G4cout
const std::vector< const G4Track * > * GetSecondaryInCurrentStep() const
Definition: G4Step.cc:193
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:74
#define G4endl
Definition: G4ios.hh:61
static G4OpticalPhoton * OpticalPhotonDefinition()
G4Track * GetTrack() const

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