00001 #ifndef _FreqTripListener_h_ 00002 #define _FreqTripListener_h_ 00003 #include <fstream> 00004 #include <set> 00005 #include "adevs.h" 00006 #include "ElectricalModel.h" 00007 00012 class FreqTripListener: 00013 public adevs::EventListener<adevs::PortValue<BasicEvent*> > 00014 { 00015 public: 00019 FreqTripListener(ElectricalModel* model, std::string model_name = ""); 00020 void outputEvent(adevs::Event<adevs::PortValue<BasicEvent*> >, double){} 00021 void stateChange(adevs::Atomic<adevs::PortValue<BasicEvent*> >* model, double t); 00022 ~FreqTripListener(); 00023 private: 00024 std::ofstream fout; 00025 ElectricalModel* src; 00026 std::set<unsigned> tripped; 00027 }; 00028 00029 #endif 00030