Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-16 10:31:47

0001 /***********************************************************************************\
0002 * (c) Copyright 1998-2024 CERN for the benefit of the LHCb and ATLAS collaborations *
0003 *                                                                                   *
0004 * This software is distributed under the terms of the Apache version 2 licence,     *
0005 * copied verbatim in the file "LICENSE".                                            *
0006 *                                                                                   *
0007 * In applying this licence, CERN does not waive the privileges and immunities       *
0008 * granted to it by virtue of its status as an Intergovernmental Organization        *
0009 * or submit itself to any jurisdiction.                                             *
0010 \***********************************************************************************/
0011 //====================================================================
0012 //  Statistics file converter class definition
0013 //
0014 //  Author     : M.Frank
0015 //
0016 //====================================================================
0017 #ifndef GAUDIROOTCNV_ROOTDATABASECNV_H
0018 #define GAUDIROOTCNV_ROOTDATABASECNV_H 1
0019 
0020 // Framework include files
0021 #include <RootCnv/RootDirectoryCnv.h>
0022 
0023 /*
0024  *   Gaudi namespace declaration
0025  */
0026 namespace Gaudi {
0027 
0028   /** @class RootDatabaseCnv RootDatabaseCnv.h Root/RootDatabaseCnv.h
0029    *
0030    * Statistics file converter class definition
0031    *
0032    * Description:
0033    * Definition of the converter to open root database files.
0034    *
0035    * @author  M.Frank
0036    * @version 1.0
0037    */
0038   class GAUDI_API RootDatabaseCnv : public RootDirectoryCnv {
0039   public:
0040     /** Initializing Constructor
0041      * @param      typ      [IN]     Concrete storage type of the converter
0042      * @param      svc      [IN]     Pointer to service locator object
0043      * @param      mgr      [IN]     Pointer to hosting conversion service
0044      *
0045      * @return Reference to RootDatabaseCnv object
0046      */
0047     RootDatabaseCnv( long typ, const CLID&, ISvcLocator* svc, RootCnvSvc* mgr );
0048 
0049     /** Retrieve the name of the container a given object is placed into
0050      * @param      pReg     [IN]    Pointer to registry entry.
0051      *
0052      * @return     Name of the container the object should be put to.
0053      */
0054     const std::string containerName( IRegistry* /* pReg */ ) const override { return "<local>"; }
0055 
0056     /** Converter overrides: Create transient object from persistent data
0057      *
0058      * @param    refpAddress [IN]   Pointer to object address.
0059      * @param    refpObject  [OUT]  Location to pointer to store data object
0060      *
0061      * @return Status code indicating success or failure.
0062      */
0063     StatusCode createObj( IOpaqueAddress* pAddr, DataObject*& refpObj ) override;
0064   };
0065 } // namespace Gaudi
0066 #endif // GAUDIROOTCNV_ROOTDATABASECNV_H