Back to home page

EIC code displayed by LXR

 
 

    


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

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 GAUDIALG_PRINT_H
0012 #define GAUDIALG_PRINT_H 1
0013 // ============================================================================
0014 // Include files
0015 // ============================================================================
0016 // STD & STL
0017 // ============================================================================
0018 // ============================================================================
0019 // GaudiKernel
0020 // ============================================================================
0021 #include "GaudiKernel/MsgStream.h"
0022 // ============================================================================
0023 #include <string>
0024 // ============================================================================
0025 // GaudiAlg
0026 // ============================================================================
0027 #include "GaudiAlg/HistoID.h"
0028 #include "GaudiAlg/TupleID.h"
0029 // ============================================================================
0030 // forward declarations
0031 // ============================================================================
0032 namespace AIDA {
0033   class IHistogram;
0034   class IHistogram1D;
0035   class IHistogram2D;
0036   class IHistogram3D;
0037   class IProfile1D;
0038   class IProfile2D;
0039 } // namespace AIDA
0040 class StatEntity;
0041 class INTuple;
0042 // ============================================================================
0043 /** @file
0044  *  collection of useful utilities to print certain objects
0045  *  (currently used for implementation in class GaudiAlgorithm,
0046  *  GaudiTool, GaudiHistoAlg, GaudiHistoTool, GaudiTupleAlg,
0047  *  GaudiTupleTool
0048  *  @author Vanya BELYAEV Ivan.Belyaev@lapp.in2p3.fr
0049  *  @date 2005-08-04
0050  */
0051 namespace GaudiAlg {
0052   /** @class  Print Print.h GaudiAlg/Print.h
0053    *  collection of useful utilities to print IHistogram1D
0054    *  (currently used for implementation of class
0055    *  GaudiHistoAlg and class GaudiHistoTool)
0056    *  @see AIDA::IHistogram
0057    *  @author Vanya BELYAEV Ivan.Belyaev@lapp.in2p3.fr
0058    *  @date 2005-08-04
0059    */
0060   class GAUDI_API Print {
0061   public:
0062     static const std::string& location( const AIDA::IHistogram* aida );
0063   };
0064   /** @class  Print1D Print.h GaudiAlg/Print.h
0065    *  collection of useful utilities to print IHistogram1D
0066    *  (currently used for implementation of class
0067    *  GaudiHistoAlg and class GaudiHistoTool)
0068    *  @see AIDA::IHistogram1D
0069    *  @author Vanya BELYAEV Ivan.Belyaev@lapp.in2p3.fr
0070    *  @date 2005-08-04
0071    */
0072   class GAUDI_API Print1D {
0073   public:
0074     static void print( MsgStream& stream, const AIDA::IHistogram1D* aida, const GaudiAlg::HistoID& ID );
0075     //
0076     static std::string toString( const AIDA::IHistogram1D* aida, const GaudiAlg::HistoID& ID );
0077   };
0078   /** @class  Print2D Print.h GaudiAlg/Print.h
0079    *  collection of useful utilities to print IHistogram1D
0080    *  (currently used for implementation of class
0081    *  GaudiHistoAlg and class GaudiHistoTool)
0082    *  @see AIDA::IHistogram2D
0083    *  @author Vanya BELYAEV Ivan.Belyaev@lapp.in2p3.fr
0084    *  @date 2005-08-04
0085    */
0086   class GAUDI_API Print2D {
0087   public:
0088     //
0089     static void print( MsgStream& stream, const AIDA::IHistogram2D* aida, const GaudiAlg::HistoID& ID );
0090     //
0091     static std::string toString( const AIDA::IHistogram2D* aida, const GaudiAlg::HistoID& ID );
0092   };
0093   /** @class  Print3D Print.h GaudiAlg/Print.h
0094    *  collection of useful utilities to print IHistogram1D
0095    *  (currently used for implementation of class
0096    *  GaudiHistoAlg and class GaudiHistoTool)
0097    *  @see AIDA::IHistogram3D
0098    *  @author Vanya BELYAEV Ivan.Belyaev@lapp.in2p3.fr
0099    *  @date 2005-08-04
0100    */
0101   class GAUDI_API Print3D {
0102   public:
0103     //
0104     static void print( MsgStream& stream, const AIDA::IHistogram3D* aida, const GaudiAlg::HistoID& ID );
0105     //
0106     static std::string toString( const AIDA::IHistogram3D* aida, const GaudiAlg::HistoID& ID );
0107   };
0108   /** @class  Print1DProf Print.h GaudiAlg/Print.h
0109    *  collection of useful utilities to print IProfile1D
0110    *  (currently used for implementation of class
0111    *  GaudiHistoAlg and class GaudiHistoTool)
0112    *  @see AIDA::IProfile1D
0113    *  @author Vanya BELYAEV Ivan.Belyaev@lapp.in2p3.fr
0114    *  @date 2005-08-04
0115    */
0116   class GAUDI_API Print1DProf {
0117   public:
0118     //
0119     static void print( MsgStream& stream, const AIDA::IProfile1D* aida, const GaudiAlg::HistoID& ID );
0120     //
0121     static std::string toString( const AIDA::IProfile1D* aida, const GaudiAlg::HistoID& ID );
0122   };
0123   /** @class  Print2DProf Print.h GaudiAlg/Print.h
0124    *  collection of useful utilities to print IProfile2D
0125    *  (currently used for implementation of class
0126    *  GaudiHistoAlg and class GaudiHistoTool)
0127    *  @see AIDA::IProfile2D
0128    *  @author Vanya BELYAEV Ivan.Belyaev@lapp.in2p3.fr
0129    *  @date 2005-08-04
0130    */
0131   class GAUDI_API Print2DProf {
0132   public:
0133     //
0134     static void print( MsgStream& stream, const AIDA::IProfile2D* aida, const GaudiAlg::HistoID& ID );
0135     //
0136     static std::string toString( const AIDA::IProfile2D* aida, const GaudiAlg::HistoID& ID );
0137   };
0138   // ==========================================================================
0139   /** @class  PrintTuple Print.h GaudiAlg/Print.h
0140    *  collection of useful utilities to print INTuple object
0141    *  (currently used for implementation of class
0142    *  GaudiTupleAlg and class GaudiTupleTool)
0143    *  @see INTuple
0144    *  @author Vanya BELYAEV Ivan.Belyaev@lapp.in2p3.fr
0145    *  @date 2005-08-04
0146    */
0147   class GAUDI_API PrintTuple {
0148   public:
0149     //
0150     static std::string print( const INTuple* tuple, const GaudiAlg::TupleID& ID );
0151     //
0152     static std::string print( const INTuple* tuple );
0153   };
0154   // ==========================================================================
0155   /** @class  PrintStat Print.h GaudiAlg/Print.h
0156    *  collection of useful utilities to print StatEntity
0157    *  (currently used for implementation of class
0158    *  GaudiAlgorithm and class GaudiTool)
0159    *  @see StatEntity
0160    *  @author Vanya BELYAEV Ivan.Belyaev@lapp.in2p3.fr
0161    *  @date 2005-08-04
0162    */
0163   class GAUDI_API PrintStat {
0164   public:
0165     static std::string print( const StatEntity& stat, const std::string& tag );
0166   };
0167   // ==========================================================================
0168 } // end of namespace GaudiAlg
0169 
0170 // ============================================================================
0171 // The END
0172 // ============================================================================
0173 #endif // GAUDIALG_PRINT_H