00001 // ===================================================================== 00028 // ===================================================================== 00029 #ifndef CLDAQ__TEVENT_HH 00030 #define CLDAQ__TEVENT_HH 00031 00032 #include "Tglobals.h" 00033 #include "TDataRecord.hh" 00034 00035 class TDataRecord; 00036 00037 00057 class TEvent 00058 { 00059 00060 private: 00061 Tint theEventID; 00062 TDataRecord theDataRecord; 00063 00064 public: 00065 TEvent( Tint eventID = 0 ); 00066 TEvent( const TDataRecord& eventData ); 00067 TEvent( Tint eventID, const TDataRecord& eventData ); 00068 TEvent( const TEvent& right ); 00069 ~TEvent(); 00070 00071 public: 00072 const TEvent& operator=( const TEvent& right ); 00073 Tbool operator==( const TEvent& right ) const; 00074 Tbool operator!=( const TEvent& right ) const; 00075 00076 public: 00077 Tint GetEventID() const; 00078 const TDataRecord& GetDataRecord() const; 00079 TDataRecord& GetDataRecord(); 00080 Tvoid SetEventID( Tint eventID ); 00081 Tvoid SetDataRecord( const TDataRecord& record ); 00082 00083 public: 00084 Tvoid Clear(); 00085 Tstring GetStringEventID( Tint digits = 6 ) const; 00086 00087 #ifdef __CLDAQ_ROOT_DLL 00088 ClassDef(TEvent,0) 00089 #endif 00090 00091 }; 00092 00093 inline Tint TEvent::GetEventID() const 00094 { 00095 return theEventID; 00096 } 00097 00098 inline const TDataRecord& TEvent::GetDataRecord() const 00099 { 00100 return theDataRecord; 00101 } 00102 00103 inline TDataRecord& TEvent::GetDataRecord() 00104 { 00105 return theDataRecord; 00106 } 00107 00108 inline Tvoid TEvent::SetEventID( Tint eventID ) 00109 { 00110 theEventID = eventID; 00111 return; 00112 } 00113 00114 inline Tvoid TEvent::SetDataRecord( const TDataRecord& record ) 00115 { 00116 theDataRecord = record; 00117 return; 00118 } 00119 00120 #endif