RegularStimulusZeroNetCharge.hpp
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_