| # Gaudi Framework, version v21r6 |

Home |  | Generated: 11 Nov 2009

# EvtCollectionStream.h

Go to the documentation of this file.

    00001 //      ====================================================================
    00002 //  EvtCollectionStream.h
    00003 //      --------------------------------------------------------------------
    00004 //
    00005 //      Package   : GaudiSvc/PersistencySvc
    00006 //
    00007 //      Author    : Markus Frank
    00008 //
    00009 //      ====================================================================
    00010 #ifndef GAUDISVC_PERSISTENCYSVC_EVTCOLLECTIONSTREAM_H
    00011 #define GAUDISVC_PERSISTENCYSVC_EVTCOLLECTIONSTREAM_H
    00012
    00013 // STL include files
    00014 #include <memory>
    00015 #include <vector>
    00016 #include <string>
    00017
    00018 // Required for inheritance
    00019 #include "GaudiKernel/Algorithm.h"
    00020 // forward declarations
    00021 template <class ConcreteAlgorithm> class AlgFactory;
    00022 namespace { template <class P, class S> class Factory; }
    00023
    00024
    00029 class EvtCollectionStream : public Algorithm     {
    00030   friend class AlgFactory<EvtCollectionStream>;
    00031   friend class Factory<EvtCollectionStream,IAlgorithm* (std::string,ISvcLocator *)>;
    00032
    00033   typedef std::vector<std::string>    ItemNames;
    00034   typedef std::vector<DataStoreItem*> Items;
    00035 protected:
    00037   SmartIF<INTupleSvc> m_pTupleSvc;
    00039   std::string   m_storeName;
    00041   ItemNames     m_itemNames;
    00043   Items         m_itemList;
    00044 protected:
    00046   EvtCollectionStream(const std::string& name, ISvcLocator* pSvcLocator);
    00048   virtual ~EvtCollectionStream();
    00050   void clearItems();
    00052   void addItem(const std::string& descriptor);
    00053 public:
    00055   virtual StatusCode initialize();
    00057   virtual StatusCode finalize();
    00059   virtual StatusCode execute();
    00060 };
    00061
    00062 #endif // GAUDISVC_PERSISTENCYSVC_EVTCOLLECTIONSTREAM_H