//============================================================================= // PndEmcMultiWaveform.h // // Class to hold multiple waveforms from one Emc Hit / ADC readout // // Author: Christian Hammmann // chammann@hiskp.uni-bonn.de // //============================================================================= #pragma once #ifndef PNDEMCMULTIWAVEFORM_H #define PNDEMCMULTIWAVEFORM_H #include "PndEmcWaveform.h" class PndEmcMultiWaveform: public PndEmcWaveform { friend class PndEmcAbsWaveformModifier; public: PndEmcMultiWaveform():PndEmcWaveform(),fSignals(1,std::vector(0,0.)),fActiveWaveform(1){}; PndEmcMultiWaveform(Int_t trackid, Long_t detId, Long_t waveform_length = 128, Int_t hitIndex = -1); virtual ~PndEmcMultiWaveform(){ fSignal.clear(); fSignals.clear(); }; // PndEmcMultiWaveform(const PndEmcMultiWaveform& copy); void SetWaveform(const std::vector&signal,Int_t length,Int_t Waveform); virtual void clearAndReset(); virtual void Clear(Option_t *option=""){fSignal.clear();fSignals.clear();}; Int_t GetNumberOfWaveforms(){return fSignals.size();}; Int_t GetActiveWaveform(){return fActiveWaveform;}; void SetActiveWaveform(Int_t active = 1){fActiveWaveform=active;}; virtual std::vector GetSignal() const; private: std::vector > fSignals; Int_t fActiveWaveform; ClassDef(PndEmcMultiWaveform,1); }; #endif