LDMX Software
DecayChildrenKeeper.h
1#ifndef BIASING_UTILITY_DECAYCHILDRENKEEPER_H
2#define BIASING_UTILITY_DECAYCHILDRENKEEPER_H
3
4/*~~~~~~~~~~~~~~~~*/
5/* C++ StdLib */
6/*~~~~~~~~~~~~~~~~*/
7#include <string>
8
9/*~~~~~~~~~~~~~*/
10/* SimCore */
11/*~~~~~~~~~~~~~*/
12#include "SimCore/UserAction.h"
13
14namespace biasing {
15namespace utility {
16
28 public:
36 DecayChildrenKeeper(const std::string& name,
38
41
58 void PostUserTrackingAction(const G4Track* track) override;
59
61 std::vector<simcore::TYPE> getTypes() override {
62 return {simcore::TYPE::TRACKING};
63 }
64
65 private:
67 std::vector<int> parents_;
68
69}; // DecayChildrenKeeper
70
71} // namespace utility
72} // namespace biasing
73
74#endif // BIASING_UTILITY_TRACKPROCESSFILTER_H
Filter to keep tracks that are the products of certain particle's decays.
std::vector< simcore::TYPE > getTypes() override
Retrieve the type of actions this class defines.
std::vector< int > parents_
The PDG IDs for which to keep decay children.
void PostUserTrackingAction(const G4Track *track) override
Method called when a track is done being processed.
Class encapsulating parameters for configuring a processor.
Definition Parameters.h:27
Interface that defines a user action.
Definition UserAction.h:42