LDMX Software
TargetENProcessFilter.h
Go to the documentation of this file.
1
8#ifndef BIASING_TARGETENPROCESSFILTER_H
9#define BIASING_TARGETENPROCESSFILTER_H
10
11/*~~~~~~~~~~~~~*/
12/* SimCore */
13/*~~~~~~~~~~~~~*/
14#include "SimCore/UserAction.h"
15
16// Forward Declarations
17class G4Step;
18class G4Event;
19
20namespace biasing {
21
23 public:
27 TargetENProcessFilter(const std::string& name,
29
32
37 void stepping(const G4Step* step) override;
38
42 void EndOfEventAction(const G4Event*) override;
43
45 std::vector<simcore::TYPE> getTypes() override {
46 return {simcore::TYPE::EVENT, simcore::TYPE::STEPPING};
47 }
48
49 private:
59 std::string volumeName_{"target_PV"};
60
62 bool reactionOccurred_{false};
63
66
68 std::string process_{"electronNuclear"};
69
70}; // TargetENProcessFilter
71
72} // namespace biasing
73
74#endif // BIASING_TARGETPROCESSFILTER_H
void EndOfEventAction(const G4Event *) override
End of event action.
bool reactionOccurred_
Flag indicating if the reaction of intereset occurred.
std::string volumeName_
The volume name of the LDMX target.
void stepping(const G4Step *step) override
Implementmthe stepping action which performs the target volume biasing.
double recoilEnergyThreshold_
Energy that the recoil electron must not surpass.
std::string process_
Process to filter on.
std::vector< simcore::TYPE > getTypes() override
Retrieve the type of actions this class defines.
Class encapsulating parameters for configuring a processor.
Definition Parameters.h:27
Interface that defines a user action.
Definition UserAction.h:42