PandaRoot
PndEmcWaveformBuffer.h
Go to the documentation of this file.
1 /*
2  * PndEmcWaveformBuffer.h
3  */
4 
5 #ifndef PNDEMCWAVEFORMBUFFER_H_
6 #define PNDEMCWAVEFORMBUFFER_H_
7 
8 #include "FairWriteoutBuffer.h"
9 
10 class FairTimeStamp;
11 class PndEmcWaveformData;
12 
13 class TClonesArray;
14 
20 class PndEmcWaveformBuffer : public FairWriteoutBuffer {
21  public:
23  PndEmcWaveformBuffer(TString branchName, TString className, TString folderName, Bool_t persistance);
24 
25  virtual ~PndEmcWaveformBuffer();
26 
27  virtual void AddNewDataToTClonesArray(FairTimeStamp *);
28  virtual double FindTimeForData(FairTimeStamp *data);
29  virtual void FillDataMap(FairTimeStamp *data, double activeTime);
30  virtual void EraseDataFromDataMap(FairTimeStamp *data);
31 
32  virtual void DeleteOldData();
33  virtual void StoreWaveformData(TString branchName, TString folderName, bool persistance);
34 
35  virtual void FillNewData(PndEmcWaveformData *);
36 
37  private:
38  // don't allow copying (-Weffc++)
39  PndEmcWaveformBuffer(const PndEmcWaveformBuffer &); // no implementation
40  PndEmcWaveformBuffer &operator=(const PndEmcWaveformBuffer &); // no implementation
41 
42  protected:
43  std::map<PndEmcWaveformData, double> fData_map;
44  std::vector<std::pair<double, FairTimeStamp *>> Modify(std::pair<double, FairTimeStamp *> oldData, std::pair<double, FairTimeStamp *> newData);
45 
47 
49  TClonesArray *fWfDataArray;
51 };
52 
53 #endif /* PNDEMCWAVEFORMBUFFER_H*/
std::map< PndEmcWaveformData, double > fData_map
virtual void DeleteOldData()
virtual void StoreWaveformData(TString branchName, TString folderName, bool persistance)
virtual void AddNewDataToTClonesArray(FairTimeStamp *)
virtual void EraseDataFromDataMap(FairTimeStamp *data)
virtual void FillNewData(PndEmcWaveformData *)
std::vector< std::pair< double, FairTimeStamp * > > Modify(std::pair< double, FairTimeStamp *> oldData, std::pair< double, FairTimeStamp *> newData)
virtual ~PndEmcWaveformBuffer()
buffer for waveforms, used by PndEmcFWEndcapTimebasedWaveforms
ClassDef(PndEmcWaveformBuffer, 0)
virtual double FindTimeForData(FairTimeStamp *data)
represents a simulated waveform in an emc crystal, used by PndEmcFWEndcapTimebasedWaveforms ...
virtual void FillDataMap(FairTimeStamp *data, double activeTime)