| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

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 //
00010 //====================================================================
00011 #ifndef GAUDIKERNEL_EVENTSELECTORDATASTREAM_H
00012 #define GAUDIKERNEL_EVENTSELECTORDATASTREAM_H 1
00013 
00014 // Include files
00015 #include "GaudiKernel/IEvtSelector.h"
00016 #include "GaudiKernel/Property.h"
00017 
00018 // STL include files
00019 #include <vector>
00020 #include <iostream>
00021 
00022 // Forward declarations
00023 class MsgStream;
00024 class ISvcLocator;
00025 class EventSelectorDataStream;
00026 
00041 class EventSelectorDataStream : virtual public IInterface   {
00043   friend MsgStream& operator<<(MsgStream& s, const EventSelectorDataStream& obj);
00045   friend std::ostream& operator<<(std::ostream& s, const EventSelectorDataStream& obj);
00046 public:
00047   typedef std::vector< StringProperty >  Properties;
00048 protected:
00050   long                    m_refCount;
00052   std::string             m_name;
00054   std::string             m_definition;
00056   std::string             m_criteria;
00058   std::string             m_selectorType;
00060   IEvtSelector*           m_pSelector;
00062   ISvcLocator*            m_pSvcLocator;
00064   Properties*             m_properties;
00066   bool                    m_initialized;
00068   virtual ~EventSelectorDataStream();
00069 public:
00071   EventSelectorDataStream(const std::string& nam, const std::string& def, ISvcLocator* svcloc);
00076   virtual StatusCode queryInterface(const InterfaceID& riid, void** ppvUnknown);
00078   virtual unsigned long addRef();
00080   virtual unsigned long release();
00082   virtual void setSelector(IEvtSelector* pSelector);
00084   virtual StatusCode initialize();
00086   virtual StatusCode finalize();
00088   StringProperty* property(const std::string& nam);
00090   const StringProperty* property(const std::string& nam)  const;
00092   const Properties& properties()    {
00093     return *m_properties;
00094   }
00096   const std::string& name()   const   {
00097     return m_name;
00098   }
00100   const std::string& criteria()   const   {
00101     return m_criteria;
00102   }
00104   const std::string& selectorType()   const   {
00105     return m_selectorType;
00106   }
00108   const std::string& definition() const   {
00109     return m_definition;
00110   }
00112   IEvtSelector* selector()  const  {
00113     return m_pSelector;
00114   }
00116   bool isInitialized()  const   {
00117     return m_initialized;
00118   }
00119 };
00120 #endif  // GAUDIKERNEL_EVENTSELECTORDATASTREAM_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 19:56:57 2011 for GaudiKernel by doxygen 1.4.7