// The class defined in this file codes the OU model (non-cyclic and cyclic) described in the article. #ifndef CLASSICAL_OU_MODEL #define CLASSICAL_OU_MODEL #include "Points.h" #include #include using namespace std; #pragma mark - #pragma mark Classical (1D) Ornstein-Uhlenbeck process #pragma mark class OUDynamics{ private: double r; //relaxation rate double K; //mean value ('equilibrium') double SD; //long-term standard deviation around equilibrium double KPeriod; //Oscillation period of equilibrium. double KAmplitude; //Oscillation amplitude of equilibrium. double cycleAmplitude; //Actual deterministic oscillation amplitude (smaller than Kamplitude due to finite relaxation rate) double cyclePhaseLag; //Cycle phase lage w.r.t. forcing public: bool setup( double _r, double _K, double _SD, double _cyclePeriod, double _cycleAmplitude){ r = _r; K = _K; SD = abs(_SD); KPeriod = _cyclePeriod; if((_cycleAmplitude