00001 #ifndef StepLoad_h_ 00002 #define StepLoad_h_ 00003 #include "adevs.h" 00004 #include "events.h" 00005 #include "ElectricalData.h" 00006 00012 class StepLoad: 00013 public adevs::Atomic<adevs::PortValue<BasicEvent*> > 00014 { 00015 public: 00020 static const int base_load; 00025 StepLoad(unsigned which, double fraction, double when, ElectricalData* data); 00026 void delta_int(); 00027 void output_func(adevs::Bag<adevs::PortValue<BasicEvent*> >& yb); 00028 double ta(); 00029 void delta_ext(double,const adevs::Bag<adevs::PortValue<BasicEvent*> >&){} 00030 void delta_conf(const adevs::Bag<adevs::PortValue<BasicEvent*> >&){} 00031 void gc_output(adevs::Bag<adevs::PortValue<BasicEvent*> >&); 00032 private: 00033 unsigned which; 00034 double time_to_drop, fraction; 00035 ElectricalData* data; 00036 }; 00037 00038 #endif