Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:57:33

0001 /***********************************************************************************\
0002 * (c) Copyright 1998-2023 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 #pragma once
0012 
0013 #include <GaudiKernel/IAlgorithm.h>
0014 #include <GaudiKernel/Kernel.h>
0015 
0016 class IAlgContextSvc;
0017 class GaudiAlgorithm;
0018 struct GaudiHistoAlg;
0019 struct GaudiTupleAlg;
0020 class GaudiSequencer;
0021 
0022 namespace Gaudi {
0023   class Sequencer;
0024 
0025   namespace Utils {
0026     // ========================================================================
0027     /** simple function to extract the last active
0028      *   GaudiAlgorithm from the context
0029      *
0030      *  @code
0031      *
0032      *  // get the context service:
0033      *  const IAlgContextSvc* svc = ... ;
0034      *
0035      *  GaudiAlgorithm* ga = getGaudiAlg ( svc ) ;
0036      *
0037      *  @endcode
0038      *
0039      *  @author Vanya BELYAEV ibelyaev@physics.syr.edu
0040      *  @date 2007-09-07
0041      */
0042     GAUDI_API GaudiAlgorithm* getGaudiAlg( const IAlgContextSvc* svc );
0043     // ========================================================================
0044     /** simple function to extract the last active
0045      *   GaudiHistoAlg from the context
0046      *
0047      *  @code
0048      *
0049      *  // get the context service:
0050      *  const IAlgContextSvc* svc = ... ;
0051      *
0052      *  GaudiHistoAlg* ha = getHistoAlg ( svc ) ;
0053      *
0054      *  @endcode
0055      *
0056      *  @author Vanya BELYAEV ibelyaev@physics.syr.edu
0057      *  @date 2007-09-07
0058      */
0059     GAUDI_API GaudiHistoAlg* getHistoAlg( const IAlgContextSvc* svc );
0060     // ========================================================================
0061     /** simple function to extract the last active
0062      *   GaudiTupleAlg from the context
0063      *
0064      *  @code
0065      *
0066      *  // get the context service:
0067      *  const IAlgContextSvc* svc = ... ;
0068      *
0069      *  GaudiTupleAlg* ta = getTupleAlg ( svc ) ;
0070      *
0071      *  @endcode
0072      *
0073      *  @author Vanya BELYAEV ibelyaev@physics.syr.edu
0074      *  @date 2007-09-07
0075      */
0076     GAUDI_API GaudiTupleAlg* getTupleAlg( const IAlgContextSvc* svc );
0077     // ========================================================================
0078     /** simple function to extract the last active
0079      *   GaudiSequencer from the context
0080      *
0081      *  @code
0082      *
0083      *  // get the context service:
0084      *  const IAlgContextSvc* svc = ... ;
0085      *
0086      *  GaudiSequencer* sa = getGaudiSequencer ( svc ) ;
0087      *
0088      *  @endcode
0089      *
0090      *  @author Vanya BELYAEV ibelyaev@physics.syr.edu
0091      *  @date 2007-09-07
0092      */
0093     GAUDI_API GaudiSequencer* getGaudiSequencer( const IAlgContextSvc* svc );
0094     // ========================================================================
0095     /** simple function to extract the last active
0096      *   Sequencer from the context
0097      *
0098      *  @code
0099      *
0100      *  // get the context service:
0101      *  const IAlgContextSvc* svc = ... ;
0102      *
0103      *  Sequencer* sa = getSequencerAlg ( svc ) ;
0104      *
0105      *  @endcode
0106      *
0107      *  @author Vanya BELYAEV ibelyaev@physics.syr.edu
0108      *  @date 2007-09-07
0109      */
0110     GAUDI_API Sequencer* getSequencerAlg( const IAlgContextSvc* svc );
0111     // ========================================================================
0112     /** simple function to extract the last active
0113      *   "Sequencer" () GaudiSequencer or simple Sequencer)
0114      *   from the context
0115      *
0116      *  @code
0117      *
0118      *  // get the context service:
0119      *  const IAlgContextSvc* svc = ... ;
0120      *
0121      *  IAlgorithm* a = getSequencer ( svc ) ;
0122      *
0123      *  @endcode
0124      *
0125      *  @author Vanya BELYAEV ibelyaev@physics.syr.edu
0126      *  @date 2007-09-07
0127      */
0128     GAUDI_API IAlgorithm* getSequencer( const IAlgContextSvc* svc );
0129     // ========================================================================
0130   } // namespace Utils
0131 } // end of namespace Gaudi