ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtFilterCalibrate.h
Go to the documentation of this file.
1 #ifndef ATFILTERCALIBRATE_H
2 #define ATFILTERCALIBRATE_H
3 
4 #include "AtFilter.h"
5 
6 #include <TString.h>
7 
8 #include <iosfwd>
9 #include <memory>
10 #include <unordered_map>
11 
12 class AtPad;
13 class AtRawEvent;
14 struct AtPadReference;
15 
16 using calibrationMap = std::unordered_map<int, float>;
17 using filePtr = std::unique_ptr<std::ifstream>;
18 
23 class AtFilterCalibrate : public AtFilter {
24 private:
25  calibrationMap fIntercept;
26  calibrationMap fSlope;
27 
28  TString fCalibrationFile;
29 
30  void openFileAndReadContents();
31  filePtr openFile();
32  void readContents(std::ifstream &file);
33 
34 public:
36 
37  TString GetCalibrationFile() { return fCalibrationFile; }
38  void SetCalibrationFile(TString fileName) { fCalibrationFile = fileName; }
39 
40  virtual void Init() override;
41  virtual void InitEvent(AtRawEvent *event) override {}
42  virtual void Filter(AtPad *pad, AtPadReference *padReference) override;
43  virtual bool IsGoodEvent() override { return true; }
44 };
45 
46 #endif //#define ATFILTERCALIBRATE_H
AtFilterCalibrate::IsGoodEvent
virtual bool IsGoodEvent() override
Called at the end of an event. Returns if filtering was successful.
Definition: AtFilterCalibrate.h:43
calibrationMap
std::unordered_map< int, float > calibrationMap
Definition: AtFilterCalibrate.h:16
AtFilterCalibrate::InitEvent
virtual void InitEvent(AtRawEvent *event) override
Called once for each event at the start of the Exec phase.
Definition: AtFilterCalibrate.h:41
filePtr
std::unique_ptr< std::ifstream > filePtr
Definition: AtFilterCalibrate.h:17
AtFilterCalibrate::Filter
virtual void Filter(AtPad *pad, AtPadReference *padReference) override
Called to filter each pad.
Definition: AtFilterCalibrate.cxx:19
AtRawEvent
Definition: AtRawEvent.h:34
AtFilter
Definition: AtFilter.h:13
AtFilter.h
AtFilterCalibrate::GetCalibrationFile
TString GetCalibrationFile()
Definition: AtFilterCalibrate.h:37
AtFilterCalibrate::SetCalibrationFile
void SetCalibrationFile(TString fileName)
Definition: AtFilterCalibrate.h:38
AtPad
Container class for AtPadBase objects.
Definition: AtPad.h:38
AtFilterCalibrate
Definition: AtFilterCalibrate.h:23
AtFilterCalibrate::Init
virtual void Init() override
Called at the init stage of the AtFilterTask.
Definition: AtFilterCalibrate.cxx:14
AtFilterCalibrate::AtFilterCalibrate
AtFilterCalibrate()
AtPadReference
Definition: AtPadReference.h:20