ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtUnpackTask.h
Go to the documentation of this file.
1 /* Task for unpacking data into a AtRawEvent
2  * the logic for the unpacker is passed to the
3  * task as a pointer to AtUnpacker
4  *
5  */
6 #ifndef _ATUNPACKTASK_H_
7 #define _ATUNPACKTASK_H_
8 
9 #include "AtUnpacker.h"
10 
11 #include <FairTask.h>
12 
13 #include <Rtypes.h>
14 #include <TClonesArray.h>
15 
16 #include <memory>
17 #include <string>
18 
19 class AtRawEvent;
20 class AtMap;
21 class TBuffer;
22 class TClass;
23 class TMemberInspector;
24 
25 using mapPtr = std::shared_ptr<AtMap>;
26 using unpackerPtr = std::unique_ptr<AtUnpacker>;
27 
28 class AtUnpackTask : public FairTask {
29 
30 private:
31  std::string fInputFileName;
32  std::string fOuputBranchName = "AtRawEvent";
33  Bool_t fIsPersistent = true;
34  Bool_t fFinishedUnpacking = false;
35 
36  TClonesArray fOutputEventArray;
37  AtRawEvent *fRawEvent;
38  unpackerPtr fUnpacker;
39 
40 public:
41  AtUnpackTask(unpackerPtr unpacker);
42  ~AtUnpackTask() = default;
43 
44  void SetInputFileName(std::string filename) { fInputFileName = filename; }
45  void SetOuputBranchName(std::string branchName) { fOuputBranchName = branchName; }
46  void SetPersistence(Bool_t value) { fIsPersistent = value; }
47 
48  Long64_t GetNumEvents() { return fUnpacker->GetNumEvents(); }
49 
50  virtual InitStatus Init() override;
51  virtual void SetParContainers() override;
52  virtual void Exec(Option_t *opt) override;
53  virtual void FinishEvent() override;
54 
56 };
57 
58 #endif //_ATUNPACKERTASK_H_
AtMap
Definition: AtMap.h:33
AtUnpackTask::SetParContainers
virtual void SetParContainers() override
Definition: AtUnpackTask.cxx:35
AtUnpackTask::SetInputFileName
void SetInputFileName(std::string filename)
Definition: AtUnpackTask.h:44
AtUnpackTask::SetPersistence
void SetPersistence(Bool_t value)
Definition: AtUnpackTask.h:46
AtUnpackTask
Definition: AtUnpackTask.h:28
AtUnpackTask::FinishEvent
virtual void FinishEvent() override
Definition: AtUnpackTask.cxx:57
AtUnpackTask::Exec
virtual void Exec(Option_t *opt) override
Definition: AtUnpackTask.cxx:37
AtRawEvent
Definition: AtRawEvent.h:34
AtUnpackTask::SetOuputBranchName
void SetOuputBranchName(std::string branchName)
Definition: AtUnpackTask.h:45
unpackerPtr
std::unique_ptr< AtUnpacker > unpackerPtr
Definition: AtUnpackTask.h:26
AtUnpackTask::AtUnpackTask
AtUnpackTask(unpackerPtr unpacker)
Definition: AtUnpackTask.cxx:16
AtUnpackTask::~AtUnpackTask
~AtUnpackTask()=default
AtUnpacker.h
AtUnpackTask::Init
virtual InitStatus Init() override
Definition: AtUnpackTask.cxx:21
mapPtr
std::shared_ptr< AtMap > mapPtr
Definition: AtUnpacker.h:17
AtUnpackTask::ClassDefOverride
ClassDefOverride(AtUnpackTask, 1)
AtUnpackTask::GetNumEvents
Long64_t GetNumEvents()
Definition: AtUnpackTask.h:48