HOPS
HOPS class reference
MHO_SimulatedSignalGenerator.hh
Go to the documentation of this file.
1 #ifndef MHO_SimulatedSignalGenerator_HH__
2 #define MHO_SimulatedSignalGenerator_HH__
3 
4 #include <cmath>
5 
6 namespace hops
7 {
8 
18 {
19  public:
22 
23  //tells the sample generation implementation what the expected the sampling frequency is
30  virtual void SetSamplingFrequency(double sample_freq) { fSamplingFrequency = std::fabs(sample_freq); };
31 
38  virtual double GetSamplingFrequency() const { return fSamplingFrequency; };
39 
40  //implementation specific
45  virtual void Initialize() = 0;
46 
54  bool GetSample(const double& sample_time, double& sample) const { return GenerateSample(sample_time, sample); }
55 
56  protected:
65  virtual bool GenerateSample(const double& sample_time, double& sample) const = 0;
66 
67  //some specific distributions and their implementations (e.g. colored noise)
68  //need to know the expected sampling frequency in advance
70 };
71 
72 } // namespace hops
73 
74 #endif
Definition: MHO_SimulatedSignalGenerator.hh:18
virtual void Initialize()=0
Function Initialize.
double fSamplingFrequency
Definition: MHO_SimulatedSignalGenerator.hh:69
virtual double GetSamplingFrequency() const
Getter for sampling frequency.
Definition: MHO_SimulatedSignalGenerator.hh:38
virtual ~MHO_SimulatedSignalGenerator()
Definition: MHO_SimulatedSignalGenerator.hh:21
bool GetSample(const double &sample_time, double &sample) const
Getter for sample.
Definition: MHO_SimulatedSignalGenerator.hh:54
virtual void SetSamplingFrequency(double sample_freq)
Setter for sampling frequency.
Definition: MHO_SimulatedSignalGenerator.hh:30
virtual bool GenerateSample(const double &sample_time, double &sample) const =0
Generates a sample based on given time and updates it.
MHO_SimulatedSignalGenerator()
Definition: MHO_SimulatedSignalGenerator.hh:20
Definition: MHO_ChannelLabeler.hh:17