00001 /********************************************************************** 00002 ** This program is part of 'MOOSE', the 00003 ** Messaging Object Oriented Simulation Environment. 00004 ** Copyright (C) 2003-2010 Upinder S. Bhalla. and NCBS 00005 ** It is made available under the terms of the 00006 ** GNU Lesser General Public License version 2.1 00007 ** See the file COPYING.LIB for the full notice. 00008 **********************************************************************/ 00009 00010 #ifndef _STIMULUS_TABLE_H 00011 #define _STIMULUS_TABLE_H 00012 00016 class StimulusTable: public TableBase 00017 { 00018 public: 00019 StimulusTable(); 00021 // Field assignment stuff 00023 00024 void setStartTime( double v ); 00025 double getStartTime() const; 00026 void setStopTime( double v ); 00027 double getStopTime() const; 00028 void setLoopTime( double v ); 00029 double getLoopTime() const; 00030 void setStepSize( double v ); 00031 double getStepSize() const; 00032 void setStepPosition( double v ); 00033 double getStepPosition() const; 00034 void setDoLoop( bool v ); 00035 bool getDoLoop() const; 00036 00038 // Dest funcs 00040 00041 void process( const Eref& e, ProcPtr p ); 00042 void reinit( const Eref& e, ProcPtr p ); 00043 00045 // Lookup funcs for table 00047 00048 static const Cinfo* initCinfo(); 00049 private: 00050 double start_; 00051 double stop_; 00052 double loopTime_; 00053 double stepSize_; 00054 double stepPosition_; 00055 bool doLoop_; 00056 }; 00057 00058 #endif // _STIMULUS_TABLE_H