FairRoot/PandaRoot
Public Member Functions | Protected Attributes | Friends | List of all members
PndEmcWaveformData Class Reference

represents a simulated waveform in an emc crystal, used by PndEmcFWEndcapTimebasedWaveforms More...

#include <PndEmcWaveformData.h>

Inheritance diagram for PndEmcWaveformData:

Public Member Functions

 PndEmcWaveformData ()
 
 PndEmcWaveformData (Int_t detId, PndEmcAbsWaveformSimulator *wfSimulator)
 
virtual ~PndEmcWaveformData ()
 
virtual bool operator< (const PndEmcWaveformData &wfData) const
 
virtual PndEmcWaveformDataoperator+= (const PndEmcWaveformData &toAdd)
 
virtual bool equal (FairTimeStamp *data)
 
virtual void AddHit (const FairLink &linkToHit, Double_t absEventTime, Double_t energy)
 
Int_t GetDetectorId ()
 
Int_t GetNHits ()
 
const std::map< Double_t,
Double_t > & 
GetHitMap ()
 
PndEmcAbsWaveformSimulatorGetWaveformSimulator ()
 
Double_t GetTimeOfLastSample ()
 
void GetHitParameter (Int_t hitNo, Double_t &time, Double_t &energy)
 
void SetWaveformSimulator (PndEmcAbsWaveformSimulator *wfSimulator)
 
void SetTimeOfLastSample (Double_t time)
 

Protected Attributes

Int_t fDetectorId
 
Double_t fTimeOfLastSample
 
TRef fWfSimulator
 
std::map< Double_t, Double_tfHitMap
 

Friends

std::ostreamoperator<< (std::ostream &out, PndEmcWaveformData &wfData)
 

Detailed Description

represents a simulated waveform in an emc crystal, used by PndEmcFWEndcapTimebasedWaveforms

Author
Ph. Mahlberg mahlb.nosp@m.erg@.nosp@m.hiskp.nosp@m..uni.nosp@m.-bonn.nosp@m..de

Definition at line 23 of file PndEmcWaveformData.h.

Constructor & Destructor Documentation

PndEmcWaveformData::PndEmcWaveformData ( )

Definition at line 17 of file PndEmcWaveformData.cxx.

17  : FairTimeStamp(), fDetectorId(-1), fWfSimulator() {
18 }
PndEmcWaveformData::PndEmcWaveformData ( Int_t  detId,
PndEmcAbsWaveformSimulator wfSimulator 
)

Definition at line 21 of file PndEmcWaveformData.cxx.

21  : FairTimeStamp(), fDetectorId(detId), fWfSimulator(wfSimulator) {
22 }
virtual PndEmcWaveformData::~PndEmcWaveformData ( )
inlinevirtual

Definition at line 29 of file PndEmcWaveformData.h.

29 {};

Member Function Documentation

void PndEmcWaveformData::AddHit ( const FairLink &  linkToHit,
Double_t  absEventTime,
Double_t  energy 
)
virtual

Definition at line 60 of file PndEmcWaveformData.cxx.

References fHitMap.

60  {
61  this->AddLink(link);
62  fHitMap.insert(pair<Double_t,Double_t>(absEventTime, energy));
63 }
std::map< Double_t, Double_t > fHitMap
Double_t energy
Definition: plot_dirc.C:15
bool PndEmcWaveformData::equal ( FairTimeStamp *  data)
virtual

Definition at line 48 of file PndEmcWaveformData.cxx.

References fDetectorId, and GetDetectorId().

48  {
49  PndEmcWaveformData* wfData = dynamic_cast<PndEmcWaveformData*>(data);
50  if(wfData != 0 && wfData->GetDetectorId() == fDetectorId) {
51  return true;
52  } else {
53  return false;
54  }
55 }
represents a simulated waveform in an emc crystal, used by PndEmcFWEndcapTimebasedWaveforms ...
Int_t PndEmcWaveformData::GetDetectorId ( )
inline

Definition at line 39 of file PndEmcWaveformData.h.

References fDetectorId.

Referenced by equal(), and PndEmcFullStackedWaveformSimulator::MakeWaveform().

39 { return fDetectorId; };
const std::map<Double_t, Double_t>& PndEmcWaveformData::GetHitMap ( )
inline

Definition at line 41 of file PndEmcWaveformData.h.

References fHitMap.

Referenced by PndEmcFullStackedWaveformSimulator::CalcWaveForTime(), and PndEmcFullStackedWaveformSimulator::GetAbsoluteTimeInterval().

41 { return fHitMap; };
std::map< Double_t, Double_t > fHitMap
void PndEmcWaveformData::GetHitParameter ( Int_t  hitNo,
Double_t time,
Double_t energy 
)

Definition at line 66 of file PndEmcWaveformData.cxx.

References fHitMap.

66  {
67  assert(hitNo>=0 && hitNo<(int)fHitMap.size());
68  map<Double_t, Double_t>::iterator it = fHitMap.begin();
69  while(hitNo--) it++;
70  time = it->first;
71  energy = it->second;
72 }
std::map< Double_t, Double_t > fHitMap
Double_t energy
Definition: plot_dirc.C:15
Int_t PndEmcWaveformData::GetNHits ( )
inline

Definition at line 40 of file PndEmcWaveformData.h.

References fHitMap.

40 { return fHitMap.size(); };
std::map< Double_t, Double_t > fHitMap
Double_t PndEmcWaveformData::GetTimeOfLastSample ( )
inline

Definition at line 43 of file PndEmcWaveformData.h.

References fTimeOfLastSample.

Referenced by PndEmcFullStackedWaveformSimulator::MakeWaveform().

43 { return fTimeOfLastSample; };
PndEmcAbsWaveformSimulator* PndEmcWaveformData::GetWaveformSimulator ( )
inline

Definition at line 42 of file PndEmcWaveformData.h.

References fWfSimulator.

Referenced by PndEmcWaveformBuffer::AddNewDataToTClonesArray(), PndEmcWaveformBuffer::FillNewData(), and PndEmcWaveformBuffer::Modify().

42 { return dynamic_cast<PndEmcAbsWaveformSimulator*>(fWfSimulator.GetObject()); };
Abstract base class for waveform simulator.
PndEmcWaveformData & PndEmcWaveformData::operator+= ( const PndEmcWaveformData toAdd)
virtual

Definition at line 42 of file PndEmcWaveformData.cxx.

References fHitMap.

42  {
43  fHitMap.insert(toAdd.fHitMap.begin(), toAdd.fHitMap.end());
44  AddLinks(toAdd.GetLinks());
45  return *this;
46 }
std::map< Double_t, Double_t > fHitMap
bool PndEmcWaveformData::operator< ( const PndEmcWaveformData wfData) const
virtual

Definition at line 26 of file PndEmcWaveformData.cxx.

References fDetectorId.

26  {
27  return (fDetectorId < wfData.fDetectorId);
28 }
void PndEmcWaveformData::SetTimeOfLastSample ( Double_t  time)
inline

Definition at line 47 of file PndEmcWaveformData.h.

References fTimeOfLastSample.

Referenced by PndEmcWaveformBuffer::FillNewData(), and PndEmcWaveformBuffer::Modify().

47 { fTimeOfLastSample = time; };
void PndEmcWaveformData::SetWaveformSimulator ( PndEmcAbsWaveformSimulator wfSimulator)
inline

Definition at line 46 of file PndEmcWaveformData.h.

References fWfSimulator.

46 { fWfSimulator.SetObject(wfSimulator); };

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream out,
PndEmcWaveformData wfData 
)
friend

Definition at line 31 of file PndEmcWaveformData.cxx.

31  {
32  out << "waveform links to " << wfData.fHitMap.size() <<" PndEmcHits:" << endl;
33 
34  int count =0;
35  for(map<Double_t,Double_t>::iterator it = wfData.fHitMap.begin(); it!=wfData.fHitMap.end(); ++it) {
36  out <<"\t#" << count++ << "\t time: " << it->first << "\t energy: " << it->second << endl;
37  }
38 
39  return out;
40 }
TFile * out
Definition: reco_muo.C:20
std::map< Double_t, Double_t > fHitMap
int count

Member Data Documentation

Int_t PndEmcWaveformData::fDetectorId
protected

Definition at line 47 of file PndEmcWaveformData.h.

Referenced by equal(), GetDetectorId(), and operator<().

std::map<Double_t, Double_t> PndEmcWaveformData::fHitMap
protected
Double_t PndEmcWaveformData::fTimeOfLastSample
protected

Definition at line 51 of file PndEmcWaveformData.h.

Referenced by GetTimeOfLastSample(), and SetTimeOfLastSample().

TRef PndEmcWaveformData::fWfSimulator
protected

Definition at line 53 of file PndEmcWaveformData.h.

Referenced by GetWaveformSimulator(), and SetWaveformSimulator().


The documentation for this class was generated from the following files: