| # Gaudi Framework, version v21r8 |

Home |  | Generated: 17 Mar 2010

# EventSelectorDataStream.h

Go to the documentation of this file.

    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