ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtSCACorrect.h
Go to the documentation of this file.
1 #ifndef ATSCACORRECT_H
2 #define ATSCACORRECT_H
3 
4 #include "AtFilter.h"
5 
6 #include <TString.h>
7 
8 #include <memory> // for shared_ptr
9 
10 class AtPad;
11 class AtMap;
12 class AtRawEvent;
13 struct AtPadReference;
14 
20 class AtSCACorrect : public AtFilter {
21 private:
22  using AtMapPtr = std::shared_ptr<AtMap>;
23  using RawEventPtr = std::unique_ptr<AtRawEvent>;
24  AtMapPtr fMap;
25 
26  RawEventPtr fRawEvent;
27 
28  bool fDoBaseline{false};
29  bool fDoPhase{false};
30  bool fUseChanZero{false};
31 
32  TString fBaseAugName;
33  TString fPhaseAugName;
34 
35 public:
44  AtSCACorrect(AtMapPtr map, TString filename, TString eventName, TString baselineAug, TString phaseAug);
45 
52  AtSCACorrect(AtMapPtr map, RawEventPtr rawEvent, TString baselineAug, TString phaseAug);
53 
54  virtual void Init() override {}
55  virtual void InitEvent(AtRawEvent *) override {}
56  virtual bool IsGoodEvent() override { return true; }
57 
58  virtual void Filter(AtPad *pad, AtPadReference *padReference) override;
59 
64  void DoBaseline(Bool_t val) { fDoBaseline = val; }
69  void DoPhase(Bool_t val) { fDoPhase = val; }
70 
75  void UseChannelZero() { fUseChanZero = true; }
76 
77 private:
78  void removeBaseline(AtPad *pad, AtPadReference *padReference);
79  void removePhase(AtPad *pad, AtPadReference *padReference);
80  AtPad *getMatchingPad(AtPad *pad, AtPadReference *ref, AtRawEvent *event);
81 };
82 
83 #endif // #ifndef ATSCACORRECT_H
AtMap
Definition: AtMap.h:33
AtSCACorrect::DoBaseline
void DoBaseline(Bool_t val)
Definition: AtSCACorrect.h:64
AtSCACorrect::InitEvent
virtual void InitEvent(AtRawEvent *) override
Called once for each event at the start of the Exec phase.
Definition: AtSCACorrect.h:55
AtRawEvent
Definition: AtRawEvent.h:34
AtFilter
Definition: AtFilter.h:13
AtSCACorrect
Definition: AtSCACorrect.h:20
AtSCACorrect::Filter
virtual void Filter(AtPad *pad, AtPadReference *padReference) override
Called to filter each pad.
Definition: AtSCACorrect.cxx:37
AtSCACorrect::DoPhase
void DoPhase(Bool_t val)
Definition: AtSCACorrect.h:69
AtFilter.h
AtSCACorrect::AtSCACorrect
AtSCACorrect(AtMapPtr map, TString filename, TString eventName, TString baselineAug, TString phaseAug)
Definition: AtSCACorrect.cxx:18
AtPad
Container class for AtPadBase objects.
Definition: AtPad.h:38
AtSCACorrect::IsGoodEvent
virtual bool IsGoodEvent() override
Called at the end of an event. Returns if filtering was successful.
Definition: AtSCACorrect.h:56
AtPadReference
Definition: AtPadReference.h:20
AtSCACorrect::UseChannelZero
void UseChannelZero()
Definition: AtSCACorrect.h:75
AtSCACorrect::Init
virtual void Init() override
Called at the init stage of the AtFilterTask.
Definition: AtSCACorrect.h:54