IWaveform.h
Go to the documentation of this file.
1 /** This is an interface to data about a waveform. It is a contiguous
2  * floating point sampling over a regular period and relative to some
3  * start (eg, start time).
4  */
5 
6 #ifndef WIRECELL_IFACE_IWAVEFORM
7 #define WIRECELL_IFACE_IWAVEFORM
8 
9 #include "WireCellIface/IData.h"
10 
11 #include <vector>
12 
13 namespace WireCell {
14 
15  class IWaveform : IData<IWaveform> {
16  public:
17  typedef std::vector<float> sequence_type;
18 
19  virtual ~IWaveform() ;
20  // The starting point of the sampling
21  virtual double waveform_start() const = 0;
22  // The sampling period aka bin width
23  virtual double waveform_period() const = 0;
24  // The collection of samples
25  virtual const sequence_type& waveform_samples() const = 0;
26 
27  };
28 }
29 
30 #endif
virtual double waveform_period() const =0
virtual const sequence_type & waveform_samples() const =0
std::vector< float > sequence_type
Definition: IWaveform.h:17
Definition: Main.h:22
virtual double waveform_start() const =0