ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtTrapezoidFilter.h
Go to the documentation of this file.
1 #ifndef ATTRAPEZOIDFILTER_H
2 #define ATTRAPEZOIDFILTER_H
3 
4 #include "AtFilter.h"
5 
6 #include <Rtypes.h>
7 
8 #include <vector>
9 
10 class AtPad;
11 class AtRawEvent;
12 struct AtPadReference;
13 
14 class AtTrapezoidFilter : public AtFilter {
15 
16 private:
17  Float_t fM;
18  Int_t fRiseTime;
19  Int_t fTopTime;
20  Int_t fDiscriminatorThreshold;
21 
22  // Variables to track this event
23  Int_t fStartIndex;
24  std::vector<Float_t> d;
25 
26  void setSignalStart(AtPad *pad);
27  void zeroSignalBeforeStart(AtPad *pad);
28  void setDVector(AtPad *pad);
29 
30  Float_t p(int index);
31  Float_t r(int index);
32  Float_t s(int index);
33 
34 public:
35  void SetM(Float_t m) { fM = m; }
36  void SetRiseTime(Int_t riseTime) { fRiseTime = riseTime; }
37  void SetTopTime(Int_t topTime) { fTopTime = topTime; }
38  void SetDiscriminatorThreshold(Int_t threshold) { fDiscriminatorThreshold = threshold; }
39 
40  Float_t GetM() { return fM; }
41  Int_t GetRiseTime() { return fRiseTime; }
42  Int_t GetTopTime() { return fTopTime; }
43 
44  virtual void Init() override {}
45  virtual void InitEvent(AtRawEvent *event) override {}
46  virtual void Filter(AtPad *pad, AtPadReference *padReference) override;
47  virtual bool IsGoodEvent() override { return true; }
48 };
49 
50 #endif //#ifndef ATTRAPEZOIDFILTER_H
AtTrapezoidFilter::Filter
virtual void Filter(AtPad *pad, AtPadReference *padReference) override
Called to filter each pad.
Definition: AtTrapezoidFilter.cxx:7
AtTrapezoidFilter::SetTopTime
void SetTopTime(Int_t topTime)
Definition: AtTrapezoidFilter.h:37
AtTrapezoidFilter::SetM
void SetM(Float_t m)
Definition: AtTrapezoidFilter.h:35
AtTrapezoidFilter::IsGoodEvent
virtual bool IsGoodEvent() override
Called at the end of an event. Returns if filtering was successful.
Definition: AtTrapezoidFilter.h:47
AtTrapezoidFilter::Init
virtual void Init() override
Called at the init stage of the AtFilterTask.
Definition: AtTrapezoidFilter.h:44
AtRawEvent
Definition: AtRawEvent.h:34
AtTrapezoidFilter::SetDiscriminatorThreshold
void SetDiscriminatorThreshold(Int_t threshold)
Definition: AtTrapezoidFilter.h:38
AtFilter
Definition: AtFilter.h:13
AtTrapezoidFilter::GetRiseTime
Int_t GetRiseTime()
Definition: AtTrapezoidFilter.h:41
AtTrapezoidFilter::InitEvent
virtual void InitEvent(AtRawEvent *event) override
Called once for each event at the start of the Exec phase.
Definition: AtTrapezoidFilter.h:45
AtFilter.h
AtTrapezoidFilter::SetRiseTime
void SetRiseTime(Int_t riseTime)
Definition: AtTrapezoidFilter.h:36
AtPad
Container class for AtPadBase objects.
Definition: AtPad.h:38
AtTrapezoidFilter::GetTopTime
Int_t GetTopTime()
Definition: AtTrapezoidFilter.h:42
AtPadReference
Definition: AtPadReference.h:20
AtTrapezoidFilter
Definition: AtTrapezoidFilter.h:14
AtTrapezoidFilter::GetM
Float_t GetM()
Definition: AtTrapezoidFilter.h:40