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