PandaRoot
PndMvdReadInTBDataTask.h
Go to the documentation of this file.
1 #ifndef PndMvdReadInTBDataTask_H_
2 #define PndMvdReadInTBDataTask_H_
3 
4 #include "FairTask.h"
5 #include "PndGeoHandling.h"
7 
8 #include <string>
9 #include <fstream>
10 #include <vector>
11 
12 class PndMvdReadInTBDataTask : public FairTask {
13  public:
15  virtual ~PndMvdReadInTBDataTask();
16 
18  virtual void SetParContainers();
19  virtual InitStatus Init();
20  virtual InitStatus ReInit();
21 
23  virtual void Exec(Option_t *opt);
24  virtual void FinishEvent();
25 
26  void SetFrequency(Double_t val) { fClockFrequency = val; }
27  void SetNumberOfFrontEnds(Int_t numberfe);
28 
29  virtual void AddFile(Int_t asic, std::string fileName)
30  {
31  std::cout << "File Added to asic " << asic - 1 << " fileName " << fileName << std::endl;
32  if (fFileNames.size() < asic) {
33  fFileNames.resize(asic);
34  }
35  fFileNames[asic - 1].push_back(fileName);
36  };
37 
38  protected:
40  void WriteoutToPix4Frames(std::vector<std::vector<PndSdsDigiTopix4>> &frames);
41 
42  private:
43  std::vector<std::vector<std::string>> fFileNames;
44 
45  // std::vector<TString> fFileNames;
46  std::vector<std::ifstream *> fFileHandles;
47  std::vector<PndMvdReadInToPix4TBData *> fReader;
48  std::vector<Bool_t> fEndOfFile;
49 
50  UInt_t fEvent;
51 
52  TClonesArray *fDigiArray;
53  TClonesArray *fFrameHeaderArray;
54  TClonesArray *fAllFrameHeaderArray;
55 
56  Bool_t fInitDone;
57  Double_t fClockFrequency; // in MHz
58 
59  void Register();
60  void Reset();
61 
62  ClassDef(PndMvdReadInTBDataTask, 1);
63 };
64 
65 #endif /*PndMvdReadInTBDataTask_H_*/
Data class to store the digi output of a pixel module.
virtual void SetParContainers()
void SetNumberOfFrontEnds(Int_t numberfe)
virtual ~PndMvdReadInTBDataTask()
virtual void FinishEvent()
void WriteoutToPix4Frames(std::vector< std::vector< PndSdsDigiTopix4 >> &frames)
virtual InitStatus Init()
void SetFrequency(Double_t val)
virtual InitStatus ReInit()
virtual void Exec(Option_t *opt)
void WriteoutToPix4Digi(PndSdsDigiTopix4 &data)
virtual void AddFile(Int_t asic, std::string fileName)