ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtDecoderSpecMATTask.h
Go to the documentation of this file.
1 
2 #ifndef _AtDECODERSpecMATTASK_H_
3 #define _AtDECODERSpecMATTASK_H_
4 
5 #include "AtCoreSpecMAT.h"
6 #include "AtDigiPar.h"
7 #include "AtPedestal.h"
8 #include "AtRawEvent.h"
9 #include "AtSpecMATMap.h"
10 
11 #include <FairLogger.h>
12 #include <FairTask.h>
13 
14 // ROOT classes
15 #include <TClonesArray.h>
16 #include <TString.h>
17 
18 // STL
19 #include <vector>
20 
21 using std::vector;
22 
23 class AtDecoderSpecMATTask : public FairTask {
24 
25 private:
26  std::unique_ptr<AtCoreSpecMAT> fDecoder;
27 
28  vector<TString> fDataList[40];
29  Int_t fDataNum;
30 
31  Double_t fFPNPedestalRMS;
32 
33  Bool_t fExternalNumTbs;
34  Int_t fNumTbs;
36 
37  Bool_t fIsPersistence;
38 
39  /* Old map style
40  Int_t fOpt;
41  TString fGeoFile;
42  TString fProtoMapFile;
43  Char_t const *fMap;
44  TString fIniMap;
45  TString fLowgMap;
46  TString fXtalkMap;
47  std::vector<Int_t> fAuxChannels; /// Auxiliary channels in GET electronics
48  */
49  // New map style
50  std::shared_ptr<AtSpecMATMap> fMap;
51 
52  AtDigiPar *fPar;
53  TClonesArray *fRawEventArray;
54  AtRawEvent *fRawEvent;
55 
56  Bool_t fOldData;
57  Bool_t fIsSeparatedData;
58  Bool_t fIsPositive[4];
59  Bool_t fIsPseudoTopology;
60 
61  Long64_t fEventIDLast;
62  Long64_t fEventID;
63 
64  Long64_t fInternalID;
65 
66  Int_t fNumCobo;
67  Bool_t fIsCoboPadPlane[4];
68  Int_t fMask;
69 
70 public:
74  ~AtDecoderSpecMATTask() = default;
75 
77  void SetNumTbs(Int_t numTbs);
79  void AddData(TString filename, Int_t coboIdx = 0);
81  void SetData(Int_t value);
83  void SetFPNPedestal(Double_t rms);
85  void SetOldData(Bool_t oldData = kTRUE);
87  void SetUseSeparatedData(Bool_t value = kTRUE);
89  void SetEventID(Long64_t eventid = -1);
90 
91  /* old map style
92  void SetProtoMap(TString mapfile); // only for prototype
93  void SetMap(Char_t const *map);
94  void SetInhibitMaps(TString inimap, TString lowgmap, TString xtalkmap);
95  void SetGeo(TString geofile); // only for prototype
96  void SetMapOpt(Int_t value);
97  */
98  // New map style
99  void SetMap(std::shared_ptr<AtSpecMATMap> map) { fMap = map; }
100  void SetPseudoTopologyFrame(Bool_t value);
101 
102  void SetPTFMask(Int_t mask);
103 
104  Long64_t GetEventID();
105 
107  void SetPersistence(Bool_t value = kTRUE);
108  void SetPositivePolarity(Bool_t *value);
109 
112  virtual InitStatus Init();
115  virtual void SetParContainers();
118  virtual void Exec(Option_t *opt);
120  virtual void FinishEvent();
121 
123  Int_t ReadEvent(Int_t eventID);
124 
125  // Setting Auxiliary channels
126  void SetAuxChannels(std::vector<Int_t> AuxCh);
127 
128  void SetNumCobo(Int_t numCobo);
129  void SetIsCoboPadPlane(Bool_t *IsPadPlane);
130 
132 };
133 
134 #endif
AtDecoderSpecMATTask::AddData
void AddData(TString filename, Int_t coboIdx=0)
Adding raw data file to the list.
Definition: AtDecoderSpecMATTask.cxx:68
AtRawEvent.h
AtDecoderSpecMATTask::AtDecoderSpecMATTask
AtDecoderSpecMATTask()
Constructor.
Definition: AtDecoderSpecMATTask.cxx:17
AtPedestal.h
AtDecoderSpecMATTask::ReadEvent
Int_t ReadEvent(Int_t eventID)
Read event for AtSource.
Definition: AtDecoderSpecMATTask.cxx:238
AtCoreSpecMAT.h
AtDecoderSpecMATTask::SetUseSeparatedData
void SetUseSeparatedData(Bool_t value=kTRUE)
Setting to use not merged data files.
Definition: AtDecoderSpecMATTask.cxx:94
AtDecoderSpecMATTask::ClassDef
ClassDef(AtDecoderSpecMATTask, 1)
AtDecoderSpecMATTask::SetParContainers
virtual void SetParContainers()
Definition: AtDecoderSpecMATTask.cxx:205
AtDecoderSpecMATTask::SetNumCobo
void SetNumCobo(Int_t numCobo)
Definition: AtDecoderSpecMATTask.cxx:136
AtDecoderSpecMATTask::Init
virtual InitStatus Init()
Definition: AtDecoderSpecMATTask.cxx:157
AtDecoderSpecMATTask::SetMap
void SetMap(std::shared_ptr< AtSpecMATMap > map)
Definition: AtDecoderSpecMATTask.h:99
AtDecoderSpecMATTask::~AtDecoderSpecMATTask
~AtDecoderSpecMATTask()=default
Destructor.
AtRawEvent
Definition: AtRawEvent.h:34
AtDecoderSpecMATTask::SetPTFMask
void SetPTFMask(Int_t mask)
Definition: AtDecoderSpecMATTask.cxx:147
AtDecoderSpecMATTask
Definition: AtDecoderSpecMATTask.h:23
AtDigiPar.h
AtDigiPar
Definition: AtDigiPar.h:14
AtDecoderSpecMATTask::SetEventID
void SetEventID(Long64_t eventid=-1)
Setting event id for STSource.
Definition: AtDecoderSpecMATTask.cxx:98
AtDecoderSpecMATTask::SetData
void SetData(Int_t value)
Setting which data to be decoded.
Definition: AtDecoderSpecMATTask.cxx:73
AtDecoderSpecMATTask::SetPositivePolarity
void SetPositivePolarity(Bool_t *value)
Definition: AtDecoderSpecMATTask.cxx:81
AtDecoderSpecMATTask::FinishEvent
virtual void FinishEvent()
Finishing the event.
Definition: AtDecoderSpecMATTask.cxx:253
AtSpecMATMap.h
AtDecoderSpecMATTask::Exec
virtual void Exec(Option_t *opt)
Definition: AtDecoderSpecMATTask.cxx:220
AtDecoderSpecMATTask::SetPseudoTopologyFrame
void SetPseudoTopologyFrame(Bool_t value)
Definition: AtDecoderSpecMATTask.cxx:131
AtDecoderSpecMATTask::SetNumTbs
void SetNumTbs(Int_t numTbs)
Setting the number of time buckets used when taking data.
Definition: AtDecoderSpecMATTask.cxx:63
AtDecoderSpecMATTask::SetFPNPedestal
void SetFPNPedestal(Double_t rms)
Setting the FPN RMS value cut for pedestal region taking.
Definition: AtDecoderSpecMATTask.cxx:77
AtDecoderSpecMATTask::SetAuxChannels
void SetAuxChannels(std::vector< Int_t > AuxCh)
AtDecoderSpecMATTask::SetPersistence
void SetPersistence(Bool_t value=kTRUE)
If set, decoded raw data is written in ROOT file with AtRawEvent class.
Definition: AtDecoderSpecMATTask.cxx:59
AtDecoderSpecMATTask::GetEventID
Long64_t GetEventID()
Definition: AtDecoderSpecMATTask.cxx:152
AtDecoderSpecMATTask::SetIsCoboPadPlane
void SetIsCoboPadPlane(Bool_t *IsPadPlane)
Definition: AtDecoderSpecMATTask.cxx:141
AtDecoderSpecMATTask::SetOldData
void SetOldData(Bool_t oldData=kTRUE)
Setting to decode old data file.