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/*~~~~~~~~~~*/
17/* Core */
18/*~~~~~~~~~~*/
19#include "Framework/Logger.h"
20
21// Forward Declarations
22class G4Step;
23class G4Event;
24
25namespace biasing {
26
28 public:
32 TargetENProcessFilter(const std::string& name,
34
37
42 void stepping(const G4Step* step) override;
43
47 void EndOfEventAction(const G4Event*) override;
48
50 std::vector<simcore::TYPE> getTypes() override {
51 return {simcore::TYPE::EVENT, simcore::TYPE::STEPPING};
52 }
53
54 private:
56 bool reactionOccurred_{false};
57
60
62 std::string process_{"electronNuclear"};
63
64}; // TargetENProcessFilter
65} // namespace biasing
66
67#endif // BIASING_TARGETPROCESSFILTER_H
void EndOfEventAction(const G4Event *) override
End of event action.
TargetENProcessFilter(const std::string &name, framework::config::Parameters &parameters)
Class constructor.
bool reactionOccurred_
Flag indicating if the reaction of intereset occurred.
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:29
Interface that defines a user action.
Definition UserAction.h:43