Back to home page

EIC code displayed by LXR

 
 

    


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

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 GAUDI_DATAINCIDENT_H
0012 #define GAUDI_DATAINCIDENT_H
0013 
0014 // Include files
0015 #include "GaudiKernel/Incident.h"
0016 
0017 /**
0018  * @class DataIncident DataIncident.h GaudiKernel/DataIncident.h
0019  *
0020  * Data service incident class.
0021  *
0022  * @author   Markus Frank
0023  * @version  1.0
0024  */
0025 template <class T>
0026 class GAUDI_API ContextIncident : public Incident {
0027   T m_tag;
0028 
0029 public:
0030   /// Initializing Constructor
0031   /** @param source   [IN]  Incident source (service or algorithm name)
0032    * @param type     [IN]  Incident type
0033    * @param tag      [IN]  Incident tag
0034    *
0035    * @return Reference to ContextIncident object.
0036    */
0037   ContextIncident( std::string src, std::string typ, T tag )
0038       : Incident( std::move( src ), std::move( typ ) ), m_tag( std::move( tag ) ) {}
0039 
0040   /// Accesssor to the tag value (CONST)
0041   const T& tag() const { return m_tag; }
0042 };
0043 
0044 /// Specific incident type used by the data-on-demand-service
0045 typedef ContextIncident<std::string> DataIncident;
0046 
0047 #endif // GAUDI_DATAINCIDENT_H