| # Gaudi Framework, version v20r3
Generated: 24 Nov 2008

# TagCollectionStream.h

Go to the documentation of this file.

    00001 // $Id: TagCollectionStream.h,v 1.1 2006/08/18 14:50:24 hmd Exp $
    00002 #ifndef GAUDISVC_PERSISTENCYSVC_TAGCOLLECTIONSTREAM_H
    00003 #define GAUDISVC_PERSISTENCYSVC_TAGCOLLECTIONSTREAM_H
    00004
    00005 // Required for inheritance
    00006 #include "OutputStream.h"
    00007 #include "GaudiKernel/NTuple.h"
    00008
    00009 // forward declarations
    00010 class GenericAddress;
    00011
    00012
    00063 class TagCollectionStream : public OutputStream     {
    00064 protected:
    00065
    00067   std::string                   m_addrLeaf;
    00069   std::string                   m_addrColName;
    00071   std::string                   m_tagName;
    00073   std::string                   m_collSvcName;
    00075   bool                          m_objectsFirst;
    00077   INTupleItem*                  m_addrColumn;
    00079   std::string                   m_topLeafName;
    00081   bool                          m_isTopLeaf;
    00083   INTupleSvc*                   m_collectionSvc;
    00085   GenericAddress*               m_addr;
    00087   NTuple::Item<IOpaqueAddress*> m_item;
    00089   virtual StatusCode writeObjects();
    00091   virtual StatusCode connectAddress();
    00093   StatusCode writeData();
    00095   StatusCode writeTuple();
    00097   StatusCode writeRecord();
    00098
    00099 public:
    00101         TagCollectionStream(const std::string& name, ISvcLocator* pSvcLocator);
    00103   virtual ~TagCollectionStream();
    00105         virtual StatusCode initialize();
    00107         virtual StatusCode finalize();
    00108 };
    00109
    00110 #endif // GAUDISVC_PERSISTENCYSVC_TAGCOLLECTIONSTREAM_H