00001 #ifndef _LCF_h_
00002 #define _LCF_h_
00003 #include "adevs.h"
00004 #include "events.h"
00005
00009 class LCF:
00010 public adevs::Atomic<adevs::PortValue<BasicEvent*> >
00011 {
00012 public:
00014 static const int ACE;
00019 LCF(double sig_period = 2.0);
00024 void delta_int();
00025 void delta_ext(double,const adevs::Bag<adevs::PortValue<BasicEvent*> >&);
00026 void delta_conf(const adevs::Bag<adevs::PortValue<BasicEvent*> >&);
00030 void output_func(adevs::Bag<adevs::PortValue<BasicEvent*> >& yb);
00031 double ta();
00032 void gc_output(adevs::Bag<adevs::PortValue<BasicEvent*> >& gb);
00034 ~LCF();
00035 private:
00036 const double sig_period;
00037 };
00038
00039 #endif
00040