00001 #ifndef EVENTTIMESRECORDER_H_
00002 #define EVENTTIMESRECORDER_H_
00003
00004 #include "EvSimObject.h"
00005 #include "EvSimObjectTypeUtils.h"
00006
00007 #include <vector>
00008 using std::vector;
00009
00010 #include <boost/shared_ptr.hpp>
00011
00012 class EventTimesRecorder : public EvSimObject {
00013
00014 EV_SIM_OBJECT( EventTimesRecorder )
00015
00016 public:
00017
00018 EventTimesRecorder(bool isActive = true);
00019 virtual ~EventTimesRecorder();
00020
00021 bool isActive;
00022
00023 virtual unsigned numInputPorts()
00024 {
00025 return 1;
00026 }
00027
00028 virtual void eventHit(SimContext & sim_info, Time time, port_id_t port);
00029
00030 virtual const std::vector<Time> & getRecordedValues();
00031
00032 void clearRecordedValues() {
00033 recorded_events.clear();
00034 }
00035
00036 protected:
00037 vector<Time> recorded_events;
00038 };
00039
00040 #endif