|
Gaudi Framework, version v22r4 |
| Home | Generated: Fri Sep 2 2011 |
00001 //==================================================================== 00002 // EventSelectorDataStream.h 00003 //-------------------------------------------------------------------- 00004 // 00005 // Package : EventSelectorDataStream (LHCb Event Selector Package) 00006 // 00007 // Author : M.Frank 00008 // Created : 4/10/00 00009 // Changes : R. Lambert 2009-09-04 00010 // 00011 //==================================================================== 00012 #ifndef GAUDIKERNEL_EVENTSELECTORDATASTREAM_H 00013 #define GAUDIKERNEL_EVENTSELECTORDATASTREAM_H 1 00014 00015 // Include files 00016 #include "GaudiKernel/IEvtSelector.h" 00017 #include "GaudiKernel/Property.h" 00018 00019 // STL include files 00020 #include <vector> 00021 #include <iostream> 00022 00023 // Forward declarations 00024 class MsgStream; 00025 class ISvcLocator; 00026 class EventSelectorDataStream; 00027 00045 class GAUDI_API EventSelectorDataStream: public implements1<IInterface> { 00047 friend MsgStream& operator<<(MsgStream& s, const EventSelectorDataStream& obj); 00049 friend std::ostream& operator<<(std::ostream& s, const EventSelectorDataStream& obj); 00050 public: 00051 typedef std::vector< StringProperty > Properties; 00052 protected: 00054 std::string m_name; 00056 std::string m_definition; 00058 std::string m_criteria; 00060 std::string m_dbName; 00062 std::string m_selectorType; 00064 IEvtSelector* m_pSelector; 00066 ISvcLocator* m_pSvcLocator; 00068 Properties* m_properties; 00070 bool m_initialized; 00072 virtual ~EventSelectorDataStream(); 00073 public: 00075 EventSelectorDataStream(const std::string& nam, const std::string& def, ISvcLocator* svcloc); 00077 virtual void setSelector(IEvtSelector* pSelector); 00079 virtual StatusCode initialize(); 00081 virtual StatusCode finalize(); 00083 StringProperty* property(const std::string& nam); 00085 const StringProperty* property(const std::string& nam) const; 00087 const Properties& properties() { 00088 return *m_properties; 00089 } 00091 const std::string& name() const { 00092 return m_name; 00093 } 00095 const std::string& criteria() const { 00096 return m_criteria; 00097 } 00099 const std::string& dbName() const { 00100 return m_dbName; 00101 } 00103 const std::string& selectorType() const { 00104 return m_selectorType; 00105 } 00107 const std::string& definition() const { 00108 return m_definition; 00109 } 00111 IEvtSelector* selector() const { 00112 return m_pSelector; 00113 } 00115 bool isInitialized() const { 00116 return m_initialized; 00117 } 00118 }; 00119 00121 GAUDI_API MsgStream& operator<<(MsgStream& s, const EventSelectorDataStream& obj); 00123 GAUDI_API std::ostream& operator<<(std::ostream& s, const EventSelectorDataStream& obj); 00124 00125 #endif // GAUDIKERNEL_EVENTSELECTORDATASTREAM_H