PandaRoot
PndMdtWaveformWriteoutBuffer.h
Go to the documentation of this file.
1 /*
2  * PndMdtWaveformWriteoutBuffer.h
3  */
4 
5 #ifndef PNDMDTDIGIWRITEOUTBUFFER_H_
6 #define PNDMDTDIGIWRITEOUTBUFFER_H_
7 
8 #include "FairWriteoutBuffer.h"
9 #include "PndMdtWaveform.h"
10 #include "TFile.h"
11 #include "TTree.h"
12 #include "THashTable.h"
13 
14 class FairTimeStamp;
15 
17  bool operator()(const PndMdtWaveform *lw, const PndMdtWaveform *rw) const { return (*lw) < (*rw); }
18 };
19 
20 class PndMdtWaveformWriteoutBuffer : public FairWriteoutBuffer {
21 
22  public:
24  PndMdtWaveformWriteoutBuffer(TString branchName, TString folderName, Bool_t persistance);
26 
27  private:
28  void AddNewDataToTClonesArray(FairTimeStamp *);
29 
30  virtual double FindTimeForData(FairTimeStamp *data);
31  virtual void FillDataMap(FairTimeStamp *data, double activeTime);
32  virtual void EraseDataFromDataMap(FairTimeStamp *data);
33 
34  virtual std::vector<std::pair<double, FairTimeStamp *>> Modify(std::pair<double, FairTimeStamp *> oldData, std::pair<double, FairTimeStamp *> newData);
35 
36  std::map<PndMdtWaveform *, double, PndMdtWaveformLess> fData_map;
37 
38  ClassDef(PndMdtWaveformWriteoutBuffer, 1);
39 };
40 
41 #endif /* PNDMDTDIGIWRITEOUTBUFFER_H_ */
bool operator()(const PndMdtWaveform *lw, const PndMdtWaveform *rw) const