PandaRoot
PndEmcMultiWaveform.h
Go to the documentation of this file.
1 //=============================================================================
2 // PndEmcMultiWaveform.h
3 //
4 // Class to hold multiple waveforms from one Emc Hit / ADC readout
5 //
6 // Author: Christian Hammmann
7 // chammann@hiskp.uni-bonn.de
8 //
9 //=============================================================================
10 
11 //#pragma once
12 #ifndef PNDEMCMULTIWAVEFORM_H
13 #define PNDEMCMULTIWAVEFORM_H
14 
15 #include "PndEmcWaveform.h"
16 
23 
25 
26  public:
27  PndEmcMultiWaveform() : PndEmcWaveform(), fSignals(1, std::vector<Double_t>(0, 0.)), fActiveWaveform(1){};
28 
29  PndEmcMultiWaveform(Int_t trackid, Long_t detId, Long_t waveform_length = 128, Int_t hitIndex = -1);
30 
32  {
33  fSignal.clear();
34  fSignals.clear();
35  };
36 
37  // PndEmcMultiWaveform(const PndEmcMultiWaveform& copy);
38 
39  void SetWaveform(const std::vector<Double_t> &signal, Int_t length, Int_t Waveform);
40 
41  virtual void clearAndReset();
42  virtual void Clear(Option_t *)
43  {
44  fSignal.clear();
45  fSignals.clear();
46  };
47  Int_t GetNumberOfWaveforms() const { return fSignals.size(); };
48  Int_t GetActiveWaveform() const { return fActiveWaveform; };
49  void SetActiveWaveform(Int_t active = 1) { fActiveWaveform = active; };
50 
51  virtual std::vector<Double_t> GetSignal() const;
52 
53  private:
54  std::vector<std::vector<Double_t>> fSignals;
55  Int_t fActiveWaveform;
56 
58 };
59 
60 #endif
Int_t GetActiveWaveform() const
virtual void clearAndReset()
interface for waveform modifiers
STL namespace.
Int_t GetNumberOfWaveforms() const
virtual void Clear(Option_t *)
ClassDef(PndEmcAbsWaveformModifier, 1)
void SetWaveform(const std::vector< Double_t > &signal, Int_t length, Int_t Waveform)
virtual std::vector< Double_t > GetSignal() const
std::vector< Double_t > fSignal
represents a simulated waveform in an emc crystal
Class to hold multiple waveforms from one Emc Hit / ADC readout.
void SetActiveWaveform(Int_t active=1)