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_IDODALGMAPPER_H
0012 #define GAUDIKERNEL_IDODALGMAPPER_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 algorithm to be
0022  * run to produce the data at a path.
0023  *
0024  * @author Marco Clemencic
0025  * @date 13/01/2012
0026  */
0027 class IDODAlgMapper : virtual public IAlgTool {
0028 public:
0029   /// InterfaceID
0030   DeclareInterfaceID( IDODAlgMapper, 1, 0 );
0031 
0032   /// For the given path, returns a TypeNameString object identifying the algorithm
0033   /// to be run to produce the entry at the path.
0034   virtual Gaudi::Utils::TypeNameString algorithmForPath( const std::string& path ) = 0;
0035 };
0036 
0037 #endif // GAUDIKERNEL_IDODALGMAPPER_H