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// C++ StdLib //
16//----------------//
17#include <algorithm>
18
19/*~~~~~~~~~~~~~*/
20/* SimCore */
21/*~~~~~~~~~~~~~*/
22#include "SimCore/UserAction.h"
23
24/*~~~~~~~~~~~~~~~*/
25/* Framework */
26/*~~~~~~~~~~~~~~~*/
27#include "Framework/Configure/Parameters.h"
29
30namespace biasing {
31
37 public:
39 NonFiducialFilter(const std::string& name,
41
43 virtual ~NonFiducialFilter() = default;
44
49 void stepping(const G4Step* step) override;
50
55 void EndOfEventAction(const G4Event*) override;
56
58 std::vector<simcore::TYPE> getTypes() override {
59 return {simcore::TYPE::EVENT, simcore::TYPE::STACKING,
60 simcore::TYPE::STEPPING};
61 }
62
63 private:
65 double recoil_max_p_{1500}; // MeV
67 bool abort_fiducial_{true};
69 enableLogging("NonFiducialFilter")
70
71}; // NonFiducialFilter
72} // namespace biasing
73
74#endif // BIASING_NONFIDUCIALFILTER_H
Base classes for all user event processing components to extend.
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.
void EndOfEventAction(const G4Event *) override
Method called at the end of every event.
virtual ~NonFiducialFilter()=default
Destructor.
bool abort_fiducial_
If turned on, this aborts fiducial events.
double recoil_max_p_
Recoil electron threshold.
Class encapsulating parameters for configuring a processor.
Definition Parameters.h:27
Interface that defines a user action.
Definition UserAction.h:42