9#include <simulation/kernel/StackingAction.h>
10#include <simulation/kernel/UserInfo.h>
12#include <G4ParticleDefinition.hh>
13#include <G4ParticleTypes.hh>
15#include <G4VProcess.hh>
21using namespace Simulation;
24StackingAction::StackingAction(): m_photonFraction(1.0)
43 if (aTrack->GetDefinition() != G4OpticalPhoton::OpticalPhotonDefinition())
47 if (!aTrack->GetCreatorProcess())
return fUrgent;
50 if (aTrack->GetCreatorProcess()->GetProcessName() !=
"Cerenkov")
return fUrgent;
54 if (!info)
return fUrgent;
57 if (info->getStatus() != 0)
return fUrgent;
virtual void NewStage()
Function that is called at each event when "urgent" stack is empty.
double m_photonFraction
The fraction of Cerenkov photons which will be kept and propagated.
virtual G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track *aTrack)
Function that classifies new tracks.
~StackingAction()
The StackingAction destructor.
virtual void PrepareNewEvent()
Function called at begining of event.
UserInfo class which is used to attach additional information to Geant4 particles and tracks.
static Payload getInfo(Carrier &obj)
Static function to just return UserInformation attached to the obj of type Carrier.
Abstract base class for different kinds of events.