1#ifndef BIASING_MIDSHOWERDIMUONBKGDFILTER_H_
2#define BIASING_MIDSHOWERDIMUONBKGDFILTER_H_
7#include "SimCore/UserAction.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;
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.
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.