Page MenuHomec4science

collierDoubleSignaling.hpp
No OneTemporary

File Metadata

Created
Tue, Sep 10, 12:21

collierDoubleSignaling.hpp

#ifndef __COLLIER_DOUBLE_SIGNALING_HPP__
#define __COLLIER_DOUBLE_SIGNALING_HPP__
//#include "collierSignaling.hpp"
#include "../src/collierSignaling.cpp"
class CollierDoubleSignaling: public CollierSignaling<HillCauchyCoupling>{
protected:
std::vector<double> m_sig2; // additional signal
CollierCoupling func1;
double of1;
double of2;
protected:
double hill_func_up(double x){return func1.f_hill(x)+of1;}
double hill_func_down(double x){return func1.g_hill(x)+of2;}
public:
CollierDoubleSignaling():CollierSignaling<HillCauchyCoupling>()
{func1.init_fhill(2.0,0.01,3.0);func1.init_ghill(3,3.5,3.0);of1=of2=0.5;};
void operator()(const state_type &y, state_type &dydt,double t);
float getWeight(Boundary *b,const state_type &y);
void initState(state_type &state, double *signal);
void fromState(const state_type& state);
virtual void updateState(state_type& s);
virtual void setLattice(Lattice *lat){lattice=lat;m_sig2.resize(lat->getNbCells());
m_delta.resize(lat->getNbCells());m_notch.resize(lat->getNbCells());}
virtual void updateSignal(const state_type& state);
virtual void fillVector(double *v,int i)const;
virtual uint getOutputNumber()const{return 1;}
virtual std::pair<int,int> getOutputSize(int i=0)const{
return std::make_pair(3,m_delta.size());}
virtual uint cellStateDim()const;
};
#endif

Event Timeline