00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef _REGULARSTIMULUSZERONETCHARGE_HPP_
00031 #define _REGULARSTIMULUSZERONETCHARGE_HPP_
00032
00033 #include "ChasteSerialization.hpp"
00034 #include <boost/serialization/base_object.hpp>
00035 #include "RegularStimulus.hpp"
00036
00053 class RegularStimulusZeroNetCharge : public RegularStimulus
00054 {
00055 private:
00057 friend class boost::serialization::access;
00064 template<class Archive>
00065 void serialize(Archive & archive, const unsigned int version)
00066 {
00067
00068 archive & boost::serialization::base_object<RegularStimulus>(*this);
00069 }
00070
00071 public:
00081 RegularStimulusZeroNetCharge(double magnitudeOfStimulus, double duration, double period, double startTime, double stopTime=DBL_MAX);
00082
00089 double GetStimulus(double time);
00090
00091 };
00092
00093 #include "SerializationExportWrapper.hpp"
00094
00095 CHASTE_CLASS_EXPORT(RegularStimulusZeroNetCharge)
00096
00097 namespace boost
00098 {
00099 namespace serialization
00100 {
00105 template<class Archive>
00106 inline void load_construct_data(
00107 Archive & ar, RegularStimulusZeroNetCharge * t, const unsigned int file_version)
00108 {
00115 ::new(t)RegularStimulusZeroNetCharge(0.0, 0.0, 0.1, 0.0, 1.0);
00116 }
00117 }
00118 }
00119
00120 #endif //_REGULARSTIMULUS_HPP_