ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtRemovePulser.h
Go to the documentation of this file.
1 #ifndef ATREMOVEPULSER_H
2 #define ATREMOVEPULSER_H
3 #include "AtFilter.h"
4 
5 #include <tuple>
6 class AtPad;
7 class AtRawEvent;
8 struct AtPadReference;
9 
10 class AtRemovePulser : public AtFilter {
11 private:
12  double fThreshold;
13  double fThresholdLow;
14 
15 public:
16  AtRemovePulser(double threshold, double thresholdLow)
17  : AtFilter(), fThreshold(threshold), fThresholdLow(thresholdLow)
18  {
19  }
20 
21  virtual void Init() override {}
22  virtual void InitEvent(AtRawEvent *) override {}
23  virtual bool IsGoodEvent() override { return true; }
24 
25  virtual void Filter(AtPad *pad, AtPadReference *padReference) override;
26 
27 private:
28  std::tuple<double, double, double> getTransitionAround(AtPad *pad, int idx);
29  void removePulser(AtPad *pad);
30  void addPulserInfo(AtPad *pad);
31 };
32 
33 #endif //#ifndef ATREMOVEPULSER_H
AtRemovePulser::Filter
virtual void Filter(AtPad *pad, AtPadReference *padReference) override
Called to filter each pad.
Definition: AtRemovePulser.cxx:15
AtRemovePulser::Init
virtual void Init() override
Called at the init stage of the AtFilterTask.
Definition: AtRemovePulser.h:21
AtRemovePulser::IsGoodEvent
virtual bool IsGoodEvent() override
Called at the end of an event. Returns if filtering was successful.
Definition: AtRemovePulser.h:23
AtRemovePulser
Definition: AtRemovePulser.h:10
AtRawEvent
Definition: AtRawEvent.h:34
AtFilter
Definition: AtFilter.h:13
AtFilter.h
AtRemovePulser::AtRemovePulser
AtRemovePulser(double threshold, double thresholdLow)
Definition: AtRemovePulser.h:16
AtRemovePulser::InitEvent
virtual void InitEvent(AtRawEvent *) override
Called once for each event at the start of the Exec phase.
Definition: AtRemovePulser.h:22
AtPad
Container class for AtPadBase objects.
Definition: AtPad.h:38
AtPadReference
Definition: AtPadReference.h:20