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