// EventID.h #ifndef EventID_H #define EventID_H // Class containing the identifier for an event. This might include // origin of event (experiment, acquired or simulation, etc) a run // number and/or date and an event number. // // For now, it is simply an integer event number. // #include class EventID { private: // static attributes // global event number (last one created) static int _global_event_number; public: // static methods // return the current event number static int get_global_event_number() { return _global_event_number; }; private: // attributes // event number int _event_number; // output stream void ostr(std::ostream& stream) const; public: // methods // default constructor // increments the event number EventID(); // constructor from a specified event number EventID(int event_number); // destructor virtual ~EventID(); // return the event number int get_event_number() const { return _event_number; }; // output stream friend std::ostream& operator<<(std::ostream& stream, const EventID& rhs); }; #endif