1#ifndef BIASING_MIDSHOWERDIMUONBKGDFILTER_H_
2#define BIASING_MIDSHOWERDIMUONBKGDFILTER_H_
47 std::vector<simcore::TYPE>
getTypes()
override {
48 return {simcore::TYPE::STACKING, simcore::TYPE::STEPPING,
49 simcore::TYPE::EVENT};
75 void stepping(
const G4Step* step)
override;
108 void save(
const G4Track* track)
const;
118 void AbortEvent(
const std::string& reason)
const;
File holding UserAction prototype and supporting macro.
The basic premis of this filter is to add up all of the energy "lost" to muons created within the cal...
bool isOutsideCalorimeterRegion(const G4Step *step) const
Checks if the passed step is outside of the CalorimeterRegion.
double total_process_energy_
Total energy gone to the process in the current event.
MidShowerDiMuonBkgdFilter(const std::string &name, framework::config::Parameters ¶meters)
Class constructor.
void AbortEvent(const std::string &reason) const
Helper to abort an event with a message.
void save(const G4Track *track) const
Helper to save the passed track.
std::vector< simcore::TYPE > getTypes() override
Get the types of actions this class can do.
double threshold_
Minimum energy [MeV] that the process products need to have to keep the event.
~MidShowerDiMuonBkgdFilter()
Class destructor.
void NewStage() override
When using the PartialEnergySorter, the first time that a new stage begins is when all particles are ...
void BeginOfEventAction(const G4Event *event) override
Reset the total energy going to the muons.
void stepping(const G4Step *step) override
We follow the simulation along each step and check if any secondaries of the input process were creat...
Class encapsulating parameters for configuring a processor.
Interface that defines a user action.