LDMX Software
PhotoNuclearProductsFilter.h
1#ifndef BIASING_PHOTONUCLEARPRODUCTSFILTER_H
2#define BIASING_PHOTONUCLEARPRODUCTSFILTER_H
3
4/*~~~~~~~~~~~~~*/
5/* SimCore */
6/*~~~~~~~~~~~~~*/
7#include "SimCore/UserAction.h"
8
9/*~~~~~~~~~~~~~~~*/
10/* Framework */
11/*~~~~~~~~~~~~~~~*/
12#include "Framework/Configure/Parameters.h"
13
14// Forward declaration
15class G4Step;
16
17namespace biasing {
18
31 public:
38 PhotoNuclearProductsFilter(const std::string& name,
40
43
51 void stepping(const G4Step* step) override;
52
54 std::vector<simcore::TYPE> getTypes() override {
55 return {simcore::TYPE::STEPPING};
56 }
57
58 private:
60 std::vector<int> productsPdgID_;
61 double min_e;
62
63}; // PhotoNuclearProductsFilter
64
65} // namespace biasing
66
67#endif // BIASING_PROTONUCLEARPRODUCTSFILTER_H
User action used to filter out photo-nuclear events that don't see the photo-nuclear gamma produce sp...
std::vector< int > productsPdgID_
Container to hold the PDG IDs of products of interest.
void stepping(const G4Step *step) override
Callback that allows a user to take some actions at the end of a step.
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