PandaRoot
PndEmcWaveformData.h
Go to the documentation of this file.
1 //#pragma once
2 #ifndef PNDEMCWAVEFORMDATA_H
3 #define PNDEMCWAVEFORMDATA_H
4 
5 #include "FairTimeStamp.h"
6 #include "FairLink.h"
8 
9 #include "TRef.h"
10 #include "TObject.h"
11 
12 #include <ostream>
13 #include <map>
14 
15 class PndEmcWaveform;
16 
22 class PndEmcWaveformData : public FairTimeStamp {
23 
24  public:
26  PndEmcWaveformData(Int_t detId, PndEmcAbsWaveformSimulator *wfSimulator);
27 
28  virtual ~PndEmcWaveformData(){};
29 
30  virtual bool operator<(const PndEmcWaveformData &wfData) const;
31  friend std::ostream &operator<<(std::ostream &out, PndEmcWaveformData &wfData);
32  virtual PndEmcWaveformData &operator+=(const PndEmcWaveformData &toAdd);
33 
34  virtual bool equal(FairTimeStamp *data);
35 
36  virtual void AddHit(const FairLink &linkToHit, Double_t absEventTime, Double_t energy);
37 
38  Int_t GetDetectorId() { return fDetectorId; };
39  Int_t GetNHits() { return fHitMap.size(); };
40  const std::map<Double_t, Double_t> &GetHitMap() { return fHitMap; };
42  Double_t GetTimeOfLastSample() { return fTimeOfLastSample; };
43  void GetHitParameter(Int_t hitNo, Double_t &time, Double_t &energy);
44 
45  void SetWaveformSimulator(PndEmcAbsWaveformSimulator *wfSimulator) { fWfSimulator.SetObject(wfSimulator); };
46  void SetTimeOfLastSample(Double_t time) { fTimeOfLastSample = time; };
47 
48  protected:
49  Int_t fDetectorId;
51 
53  std::map<Double_t, Double_t> fHitMap;
54 
55  ClassDef(PndEmcWaveformData, 1)
56 };
57 
58 #endif
void SetTimeOfLastSample(Double_t time)
void GetHitParameter(Int_t hitNo, Double_t &time, Double_t &energy)
virtual bool operator<(const PndEmcWaveformData &wfData) const
void SetWaveformSimulator(PndEmcAbsWaveformSimulator *wfSimulator)
const std::map< Double_t, Double_t > & GetHitMap()
Abstract base class for waveform simulator.
virtual void AddHit(const FairLink &linkToHit, Double_t absEventTime, Double_t energy)
PndEmcAbsWaveformSimulator * GetWaveformSimulator()
virtual PndEmcWaveformData & operator+=(const PndEmcWaveformData &toAdd)
represents a simulated waveform in an emc crystal
Double_t GetTimeOfLastSample()
std::map< Double_t, Double_t > fHitMap
represents a simulated waveform in an emc crystal, used by PndEmcFWEndcapTimebasedWaveforms ...
friend std::ostream & operator<<(std::ostream &out, PndEmcWaveformData &wfData)
virtual bool equal(FairTimeStamp *data)