Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-02-21 10:00:31

0001 /***********************************************************************************\
0002 * (c) Copyright 1998-2019 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 #ifndef GAUDIKERNEL_IDODNODEMAPPER_H
0012 #define GAUDIKERNEL_IDODNODEMAPPER_H 1
0013 // Include files
0014 // from STL
0015 #include <string>
0016 
0017 // from Gaudi
0018 #include "GaudiKernel/IAlgTool.h"
0019 #include "GaudiKernel/TypeNameString.h"
0020 
0021 /** Interface of tools used by the DataOnDemandSvc to choose the type of node to
0022  * be created at a path.
0023  *
0024  * @author Marco Clemencic
0025  * @date 13/01/2012
0026  */
0027 class IDODNodeMapper : virtual public IAlgTool {
0028 public:
0029   /// InterfaceID
0030   DeclareInterfaceID( IDODNodeMapper, 1, 0 );
0031 
0032   /// For the given path, returns a the type name of the object to be created at
0033   /// the path.
0034   virtual std::string nodeTypeForPath( const std::string& path ) = 0;
0035 
0036 protected:
0037 private:
0038 };
0039 
0040 #endif // GAUDIKERNEL_IDODNODEMAPPER_H