Nymph  v1.5.2
Flow-Based Data Processing Framework
KTCutFilter.hh
Go to the documentation of this file.
1 
9 #ifndef KTCUTFILTER_HH_
10 #define KTCUTFILTER_HH_
11 
12 #include "KTProcessor.hh"
13 
14 #include "KTCutStatus.hh"
15 
16 #include "KTLogger.hh"
17 #include "KTMemberVariable.hh"
18 #include "KTSlot.hh"
19 
20 #include <string>
21 
22 namespace Nymph
23 {
24  class KTCut;
25 
57  class KTCutFilter : public KTProcessor
58  {
59  public:
60  KTCutFilter(const std::string& name = "cut-filter");
61  virtual ~KTCutFilter();
62 
63  bool Configure(const scarab::param_node& node);
64 
66  void SetCutMask(unsigned long long mask);
68  void SetCutMask(const std::string& mask);
69 
71  void SetCutMaskAll();
72 
73  private:
75  MEMBERVARIABLE_NOSET(unsigned long long, CutMaskInt);
76 
78  bool fAllBits;
79 
80  public:
81  bool Filter(KTData& data);
82 
83  void FilterData(KTDataPtr);
84 
85 
86  //***************
87  // Signals
88  //***************
89 
90  private:
94 
95  //***************
96  // Slots
97  //***************
98 
99  private:
100 
101  };
102 
103 
105  {
106  fCutMask = mask;
107  fConvertToBitset = false;
108  fAllBits = false;
109  return;
110  }
111 
112  inline void KTCutFilter::SetCutMask(unsigned long long mask)
113  {
114  fCutMaskInt = mask;
115  fConvertToBitset = true;
116  fAllBits = false;
117  return;
118  }
119 
120  inline void KTCutFilter::SetCutMask(const std::string& mask)
121  {
123  fConvertToBitset = false;
124  fAllBits = false;
125  return;
126  }
127 
129  {
130  fCutMask.clear();
131  fConvertToBitset = false;
132  fAllBits = true;
133  return;
134  }
135 
136 } /* namespace Nymph */
137 #endif /* KTCUTFILTER_HH_ */
bool Configure(const scarab::param_node &node)
Should perform parameter store and command-line configurations.
Definition: KTCutFilter.cc:38
KTSignalData fAfterCutSignal
Definition: KTCutFilter.hh:91
void SetCutMask(KTCutStatus::bitset_type mask)
Definition: KTCutFilter.hh:104
MEMBERVARIABLE_NOSET(unsigned long long, CutMaskInt)
KTSignalData fAfterCutPassSignal
Definition: KTCutFilter.hh:92
void SetCutMaskAll()
Set the cut mask to use all cuts.
Definition: KTCutFilter.hh:128
Contains KTProcessor.
KTCutFilter(const std::string &name="cut-filter")
Definition: KTCutFilter.cc:21
Creates a signal that takes a KTDataPtr object as its argument.
Definition: KTSignal.hh:119
Filters data based on cuts already applied and a filter mask.
Definition: KTCutFilter.hh:57
KTSignalData fAfterCutFailSignal
Definition: KTCutFilter.hh:93
virtual ~KTCutFilter()
Definition: KTCutFilter.cc:34
void FilterData(KTDataPtr)
Definition: KTCutFilter.cc:75
boost::shared_ptr< KTData > KTDataPtr
Definition: KTData.hh:67
KTCutStatus::bitset_type fCutMask
Definition: KTCutFilter.hh:74
bool Filter(KTData &data)
Definition: KTCutFilter.cc:57
Contains the logger class and macros, based on Kasper&#39;s KLogger class.
boost::dynamic_bitset< > bitset_type
Definition: KTCutStatus.hh:57