| # Gaudi Framework, version v21r7p1 |

Home |  | Generated: 15 Feb 2010

# AIDATupleSvc.h

Go to the documentation of this file.

    00001 // $Id: AIDATupleSvc.h,v 1.4 2006/01/27 13:01:19 hmd Exp $
    00002 #ifndef AIDATUPLESVC_AIDATUPLESVC_H
    00003 #define AIDATUPLESVC_AIDATUPLESVC_H 1
    00004
    00005 // Include files
    00006 #include <vector>
    00007 #include <map>
    00008
    00009 #include "GaudiKernel/DataSvc.h"
    00010 #include "GaudiKernel/xtoa.h"
    00011 #include "GaudiKernel/Kernel.h"
    00012 #include "GaudiKernel/IAIDATupleSvc.h"
    00013
    00014 #include "GaudiPI/AIDA_Proxy/AIDA_Proxy.h"
    00015
    00025 // Forward Declarations
    00026 template <class T> class SvcFactory;
    00027
    00028 class AIDATupleSvc : public extends1<DataSvc, IAIDATupleSvc>
    00029 {
    00030 private:
    00032   friend class SvcFactory<AIDATupleSvc>;
    00033
    00034 protected:
    00036   typedef std::vector<std::string>                      DBaseEntries;
    00037   typedef std::map<std::string, pi_aida::Proxy_Store*>  Connections;
    00038
    00040   DBaseEntries m_output;
    00041
    00043   DBaseEntries m_input;
    00044
    00046   Connections  m_connections;
    00047
    00049   AIDATupleSvc( const std::string& name, ISvcLocator* svc );
    00050
    00052   virtual ~AIDATupleSvc();
    00053
    00054
    00063   void parsePath( const std::string& fullPath,
    00064                   std::string& dirPath,
    00065                   std::string& objPath,
    00066                   std::string& storePath,
    00067                   std::string& storeObj );
    00068
    00069
    00074   virtual DataObject* createPath( const std::string& newPath );
    00075
    00076
    00082   virtual DataObject* createDirectory( const std::string& parentDir,
    00083                                        const std::string& subDir );
    00084
    00090   StatusCode connect( const std::string& ident,
    00091                       int mode );
    00092
    00094   StatusCode closeAIDAStores();
    00095
    00096 public:
    00098   virtual StatusCode initialize();
    00100   virtual StatusCode reinitialize();
    00102   virtual StatusCode finalize();
    00103
    00110   virtual AIDA::ITuple* book( const std::string& fullPath,
    00111                               const std::string& title,
    00112                               const std::string& columns );
    00113
    00114
    00122   virtual AIDA::ITuple* book( const std::string& parentPath,
    00123                               const std::string& objPath,
    00124                               const std::string& title,
    00125                               const std::string& columns );
    00126
    00127
    00135   virtual AIDA::ITuple* book( const std::string& parentPath,
    00136                               int tupleID,
    00137                               const std::string& title,
    00138                               const std::string& columns );
    00139
    00140
    00148   virtual AIDA::ITuple* book( DataObject* pParent,
    00149                               const std::string& objPath,
    00150                               const std::string& title,
    00151                               const std::string& columns );
    00152
    00153
    00161   virtual AIDA::ITuple* book( DataObject* pParent,
    00162                               int tupleID,
    00163                               const std::string& title,
    00164                               const std::string& columns );
    00165
    00166
    00173   virtual StatusCode registerObject( const std::string& dirPath,
    00174                                      const std::string& objPath,
    00175                                      AIDA::ITuple* tObj );
    00176
    00177
    00184   virtual StatusCode registerObject( DataObject* pParent,
    00185                                      const std::string& objPath,
    00186                                      AIDA::ITuple* tObj );
    00187
    00188
    00193   virtual StatusCode unregisterObject( AIDA::ITuple* tObj );
    00194
    00195
    00201   virtual StatusCode unregisterObject( AIDA::ITuple* tObj,
    00202                                        const std::string& objPath );
    00203
    00204
    00210   virtual StatusCode retrieveObject( const std::string& fullPath,
    00211                                      AIDA::ITuple*& tObj );
    00212
    00213
    00220   virtual StatusCode retrieveObject( const std::string& parentPath,
    00221                                      const std::string& objPath,
    00222                                      AIDA::ITuple*& tObj );
    00223
    00224
    00231   virtual StatusCode retrieveObject( DataObject* pParent,
    00232                                      const std::string& objPath,
    00233                                      AIDA::ITuple*& tObj );
    00234
    00235
    00241   virtual StatusCode findObject( const std::string& fullPath,
    00242                                  AIDA::ITuple*& tObj );
    00243
    00250   virtual StatusCode findObject( IRegistry* pDirectory,
    00251                                  const std::string& path,
    00252                                  AIDA::ITuple*& tObj );
    00253
    00260   virtual StatusCode findObject( const std::string& parentPath,
    00261                                  const std::string& objPath,
    00262                                  AIDA::ITuple*& tObj );
    00263
    00270   virtual StatusCode findObject( DataObject* parentObj,
    00271                                  const std::string& objPath,
    00272                                  AIDA::ITuple*& tObj );
    00273
    00278   virtual void setCriteria( AIDA::ITuple*& tObj,
    00279                             const std::string& criteria );
    00280
    00282   virtual StatusCode myTest();
    00283 };
    00284
    00285 #endif //AIDATUPLESVC_AIDATUPLESVC_H