#ifndef SUNRISE_BALANCE_MODEL_05_07_2007 #define SUNRISE_BALANCE_MODEL_05_07_2007 /** @class SunriseBalanceModel.h @author Brian Magill @creationdate 5/07/2007 @brief primative model for the sunrise balance signal */ #include #include class SunriseBalanceModel { private: double ampl; unsigned long length; unsigned long topInd; public: SunriseBalanceModel(double a = 10., unsigned long N = 21, unsigned long top = 5):ampl(a), length(N), topInd(top) {assert(topInd < N); } SunriseBalanceModel(SunriseBalanceModel const &rhs):ampl(rhs.ampl), length(rhs.length), topInd(rhs.topInd){ } ~SunriseBalanceModel() { } SunriseBalanceModel const& operator = (SunriseBalanceModel const& rhs) { if (this == &rhs) return *this; ampl = rhs.ampl; length = rhs.length; topInd = rhs.topInd; return *this; }; long size() const {return length;} ; double getAmplitude() const {return ampl;}; long getTopIndex() const {return topInd;}; std::valarray getModel() const; void getModel(std::valarray &A) const; }; #endif