G4StackChecker Class Reference

#include <G4StackChecker.hh>

Inheritance diagram for G4StackChecker:

G4UserStackingAction

Public Member Functions

 G4StackChecker ()
virtual ~G4StackChecker ()
virtual G4ClassificationOfNewTrack ClassifyNewTrack (const G4Track *track)
virtual void NewStage ()
virtual void PrepareNewEvent ()

Detailed Description

Definition at line 44 of file G4StackChecker.hh.


Constructor & Destructor Documentation

G4StackChecker::G4StackChecker (  ) 

Definition at line 36 of file G4StackChecker.cc.

00036                               :
00037    nullDirection(G4ThreeVector(0.0,0.0,0.0))
00038 {}

G4StackChecker::~G4StackChecker (  )  [virtual]

Definition at line 40 of file G4StackChecker.cc.

00041 {}


Member Function Documentation

G4ClassificationOfNewTrack G4StackChecker::ClassifyNewTrack ( const G4Track track  )  [virtual]

Reimplemented from G4UserStackingAction.

Definition at line 44 of file G4StackChecker.cc.

References fKill, fUrgent, G4cout, G4endl, G4Track::GetCreatorProcess(), G4Track::GetDefinition(), G4EventManager::GetEventManager(), G4Track::GetGlobalTime(), G4Track::GetKineticEnergy(), G4Track::GetMomentumDirection(), G4Track::GetParentID(), G4ParticleDefinition::GetParticleName(), G4Track::GetPosition(), G4VProcess::GetProcessName(), and G4Track::GetTrackID().

00045 {
00046   G4ClassificationOfNewTrack result = fUrgent;
00047   G4double e = track->GetKineticEnergy();
00048   if ( (!(e < 0.0) && !(e > 0.0) && !(e == 0.0)) ||
00049        track->GetMomentumDirection() == nullDirection)
00050     {
00051        result = fKill;
00052        G4String nam = track->GetDefinition()->GetParticleName();
00053        G4cout << "### G4StackChecker: event# "
00054               << (G4EventManager::GetEventManager())->GetConstCurrentEvent()->GetEventID()
00055               << " unacceptable " << nam << " is killed in the stack" << G4endl;
00056        G4cout << "### " << nam << " have been produced by the process " 
00057               <<  track->GetCreatorProcess()->GetProcessName() 
00058               << " trackID= " << track->GetTrackID()
00059               << " parentID= " << track->GetParentID()
00060               << G4endl;
00061        G4cout << "### E= " << track->GetKineticEnergy()
00062               << " position= " << track->GetPosition()
00063               << " direction= " << track->GetMomentumDirection()
00064               << " time= " << track->GetGlobalTime()
00065               << G4endl;
00066     }
00067   return result;
00068 }

virtual void G4StackChecker::NewStage (  )  [inline, virtual]

Reimplemented from G4UserStackingAction.

Definition at line 55 of file G4StackChecker.hh.

00055 {};

virtual void G4StackChecker::PrepareNewEvent (  )  [inline, virtual]

Reimplemented from G4UserStackingAction.

Definition at line 56 of file G4StackChecker.hh.

00056 {};


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:53:25 2013 for Geant4 by  doxygen 1.4.7