00001 #ifndef EVENTINFO_EVENTINFO_H 00002 # define EVENTINFO_EVENTINFO_H 1 00003 //<doc><file> $Id: EventInfo.h,v 1.1.1.1 2007/04/25 11:46:57 zoujh Exp $ 00004 //<version> $Name: HltDataTypes-01-01-03 $ 00005 00006 00007 //<<<<<< INCLUDES >>>>>> 00008 #ifndef GAUDIKERNEL_CLASSID_H 00009 # include "GaudiKernel/ClassID.h" 00010 #endif 00011 00012 //<<<<<< PUBLIC DEFINES >>>>>> 00013 //<<<<<< PUBLIC CONSTANTS >>>>>> 00014 //<<<<<< PUBLIC TYPES >>>>>> 00015 00016 class EventID; 00017 class EventType; 00018 class MixingEventSelector; 00019 class TriggerInfo; 00020 00021 //<<<<<< PUBLIC VARIABLES >>>>>> 00022 //<<<<<< PUBLIC FUNCTIONS >>>>>> 00023 //<<<<<< CLASS DECLARATIONS >>>>>> 00024 00032 extern const CLID& CLID_EventInfo; 00033 00034 class EventInfo { 00035 public: 00036 00038 00039 EventInfo(); 00040 EventInfo(EventID* id, EventType* type); 00041 EventInfo(EventID* id, EventType* type, TriggerInfo* trig_info); 00042 EventInfo(const EventInfo& e); 00043 virtual ~EventInfo(); 00045 00047 00048 static const CLID& classID(); 00049 const CLID& clID() const; 00051 00053 00054 00055 EventID* event_ID () const; 00057 EventType* event_type () const; 00059 TriggerInfo* trigger_info () const; 00061 void setTriggerInfo(TriggerInfo*); 00062 00063 protected: 00064 friend class MixingEventSelector; 00065 void setEventID(EventID* pid); 00066 00067 private: 00068 EventID* m_event_ID; 00069 EventType* m_event_type; 00070 TriggerInfo* m_trigger_info; 00071 00072 }; 00073 00074 00075 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>> 00076 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>> 00077 00078 inline EventID* 00079 EventInfo::event_ID () const 00080 { 00081 return (m_event_ID); 00082 } 00083 00084 inline EventType* 00085 EventInfo::event_type () const 00086 { 00087 return (m_event_type); 00088 } 00089 00090 inline TriggerInfo* 00091 EventInfo::trigger_info () const 00092 { 00093 return (m_trigger_info); 00094 } 00095 00096 00097 inline const CLID& 00098 EventInfo::clID() const 00099 { 00100 return classID(); 00101 } 00102 00103 /* hxt 00104 #ifndef CLIDSVC_CLASSDEF_H 00105 # include "CLIDSvc/CLASS_DEF.h" 00106 #endif 00107 CLASS_DEF( EventInfo , 2101 , 1 ) 00108 */ 00109 00110 00111 inline const CLID& 00112 EventInfo::classID() 00113 { 00114 return CLID_EventInfo; //hxt ClassID_traits<EventInfo>::ID(); 00115 } 00116 00117 #endif // EVENTINFO_EVENTINFO_H 00118 00119