LDMX Software
MidShowerDiMuonBkgdFilter.h
1#ifndef BIASING_MIDSHOWERDIMUONBKGDFILTER_H_
2#define BIASING_MIDSHOWERDIMUONBKGDFILTER_H_
3
4/*~~~~~~~~~~~~*/
5/* SimCore */
6/*~~~~~~~~~~~~*/
8
10class G4VProcess;
11
12namespace biasing {
13
28 public:
34 MidShowerDiMuonBkgdFilter(const std::string& name,
36
41
47 std::vector<simcore::TYPE> getTypes() override {
48 return {simcore::TYPE::STACKING, simcore::TYPE::STEPPING,
49 simcore::TYPE::EVENT};
50 }
51
57 void beginOfEventAction(const G4Event* event) override;
58
75 void stepping(const G4Step* step) override;
76
89 void newStage() override;
90
91 private:
98 bool isOutsideCalorimeterRegion(const G4Step* step) const;
99
108 void save(const G4Track* track) const;
109
110 private:
121
128
129}; // MidShowerDiMuonBkgdFilter
130} // namespace biasing
131
132#endif // BIASING_MIDSHOWERDIMUONBKGDFILTER_H__
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 &parameters)
Class constructor.
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.
void newStage() override
When using the PartialEnergySorter, the first time that a new stage begins is when all particles are ...
void stepping(const G4Step *step) override
We follow the simulation along each step and check if any secondaries of the input process were creat...
void beginOfEventAction(const G4Event *event) override
Reset the total energy going to the muons.
Class encapsulating parameters for configuring a processor.
Definition Parameters.h:29
Interface that defines a user action.
Definition UserAction.h:47