LDMX Software
NonFiducialFilter.h
Go to the documentation of this file.
1
11#ifndef BIASING_NONFIDUCIALFILTER_H
12#define BIASING_NONFIDUCIALFILTER_H
13
14/*~~~~~~~~~~~~~*/
15/* SimCore */
16/*~~~~~~~~~~~~~*/
18
19/*~~~~~~~~~~~~~~~*/
20/* Framework */
21/*~~~~~~~~~~~~~~~*/
22#include "Framework/Configure/Parameters.h"
23
24namespace biasing {
25
31 public:
33 NonFiducialFilter(const std::string& name,
35
37 virtual ~NonFiducialFilter() = default;
38
43 void stepping(const G4Step* step) override;
44
49 void endOfEventAction(const G4Event*) override;
50
52 std::vector<simcore::TYPE> getTypes() override {
53 return {simcore::TYPE::EVENT, simcore::TYPE::STACKING,
54 simcore::TYPE::STEPPING};
55 }
56
57 private:
59 double recoil_max_p_{1500}; // MeV
61 bool abort_fiducial_{true};
62}; // NonFiducialFilter
63} // namespace biasing
64
65#endif // BIASING_NONFIDUCIALFILTER_H
File holding UserAction prototype and supporting macro.
User action that allows a user to filter out events that are non-fiducial, i.e.
std::vector< simcore::TYPE > getTypes() override
Retrieve the type of actions this class defines.
void stepping(const G4Step *step) override
Implement the stepping action which performs the target volume biasing.
NonFiducialFilter(const std::string &name, framework::config::Parameters &parameters)
Constructor.
virtual ~NonFiducialFilter()=default
Destructor.
bool abort_fiducial_
If turned on, this aborts fiducial events.
void endOfEventAction(const G4Event *) override
Method called at the end of every event.
double recoil_max_p_
Recoil electron threshold.
Class encapsulating parameters for configuring a processor.
Definition Parameters.h:26
Interface that defines a user action.
Definition UserAction.h:46