Back to home page

EIC code displayed by LXR

 
 

    


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

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 GAUDIUTILS_HISTOXML_H
0012 #define GAUDIUTILS_HISTOXML_H 1
0013 // ============================================================================
0014 // Include files
0015 // ============================================================================
0016 // STD & STL
0017 // ============================================================================
0018 #include <iosfwd>
0019 #include <string>
0020 // ============================================================================
0021 // GaudiKernel
0022 // ============================================================================
0023 #include "GaudiKernel/StatusCode.h"
0024 // ============================================================================
0025 // Forward declarations
0026 // ============================================================================
0027 // AIDA
0028 // ============================================================================
0029 namespace AIDA {
0030   class IHistogram1D;
0031   class IHistogram2D;
0032   class IHistogram3D;
0033   class IProfile1D;
0034   class IProfile2D;
0035 } // namespace AIDA
0036 // ============================================================================
0037 // ROOT
0038 // ============================================================================
0039 class TH1D;       // ROOT
0040 class TH2D;       // ROOT
0041 class TH3D;       // ROOT
0042 class TH1F;       // ROOT
0043 class TH2F;       // ROOT
0044 class TH3F;       // ROOT
0045 class TProfile;   // ROOT
0046 class TProfile2D; // ROOT
0047 // ============================================================================
0048 namespace Gaudi {
0049   // ===========================================================================
0050   namespace Utils {
0051     // =========================================================================
0052     namespace Histos {
0053       // =======================================================================
0054       /** stream the ROOT histogram into output stream as XML
0055        *  @see TBufferXML
0056        *  @see TBufferXML::ConvertToXML
0057        *  @param histo  (INPUT)  the histogram to be streamed
0058        *  @param stream (OUTPUT) the stream
0059        */
0060       GAUDI_API std::ostream& toXml( const TH1D& histo, std::ostream& stream );
0061       // ======================================================================
0062       /** stream the ROOT histogram into output stream as XML
0063        *  @see TBufferXML
0064        *  @see TBufferXML::ConvertToXML
0065        *  @param histo  (INPUT)  the histogram to be streamed
0066        *  @param stream (OUTPUT) the stream
0067        */
0068       GAUDI_API std::ostream& toXml( const TH2D& histo, std::ostream& stream );
0069       // ======================================================================
0070       /** stream the ROOT histogram into output stream as XML
0071        *  @see TBufferXML
0072        *  @see TBufferXML::ConvertToXML
0073        *  @param histo  (INPUT)  the histogram to be streamed
0074        *  @param stream (OUTPUT) the stream
0075        */
0076       GAUDI_API std::ostream& toXml( const TH3D& histo, std::ostream& stream );
0077       // ======================================================================
0078       /** stream the ROOT histogram into output stream as XML
0079        *  @see TBufferXML
0080        *  @see TBufferXML::ConvertToXML
0081        *  @param histo  (INPUT)  the histogram to be streamed
0082        *  @param stream (OUTPUT) the stream
0083        */
0084       GAUDI_API std::ostream& toXml( const TProfile& histo, std::ostream& stream );
0085       // ======================================================================
0086       /** stream the ROOT histogram into output stream as XML
0087        *  @see TBufferXML
0088        *  @see TBufferXML::ConvertToXML
0089        *  @param histo  (INPUT)  the histogram to be streamed
0090        *  @param stream (OUTPUT) the stream
0091        */
0092       GAUDI_API std::ostream& toXml( const TProfile2D& histo, std::ostream& stream );
0093       // ======================================================================
0094       /** stream the AIDA histogram into the output stream as XML
0095        *  @param histo  (INPUT)  the histogram to be streamed
0096        *  @param stream (OUTPUT) the stream
0097        */
0098       GAUDI_API std::ostream& toXml( const AIDA::IHistogram1D& histo, std::ostream& stream );
0099       // ======================================================================
0100       /** stream the AIDA histogram into the output stream as XML
0101        *  @param histo  (INPUT)  the histogram to be streamed
0102        *  @param stream (OUTPUT) the stream
0103        */
0104       GAUDI_API std::ostream& toXml( const AIDA::IHistogram2D& histo, std::ostream& stream );
0105       // ======================================================================
0106       /** stream the AIDA histogram into the output stream as XML
0107        *  @param histo  (INPUT)  the histogram to be streamed
0108        *  @param stream (OUTPUT) the stream
0109        */
0110       GAUDI_API std::ostream& toXml( const AIDA::IHistogram3D& histo, std::ostream& stream );
0111       // ======================================================================
0112       /** stream the AIDA histogram into the output stream as XML
0113        *  @param histo  (INPUT)  the histogram to be streamed
0114        *  @param stream (OUTPUT) the stream
0115        */
0116       GAUDI_API std::ostream& toXml( const AIDA::IProfile1D& histo, std::ostream& stream );
0117       // =======================================================================
0118       /** stream the ROOT histogram into output stream as XML
0119        *  @see TBufferXML
0120        *  @see TBufferXML::ConvertToXML
0121        *  @param histo  (INPUT)  the histogram to be streamed
0122        *  @param stream (OUTPUT) the stream
0123        */
0124       GAUDI_API std::ostream& toXml( const TH1F& histo, std::ostream& stream );
0125       // ======================================================================
0126       /** stream the ROOT histogram into output stream as XML
0127        *  @see TBufferXML
0128        *  @see TBufferXML::ConvertToXML
0129        *  @param histo  (INPUT)  the histogram to be streamed
0130        *  @param stream (OUTPUT) the stream
0131        */
0132       GAUDI_API std::ostream& toXml( const TH2F& histo, std::ostream& stream );
0133       // ======================================================================
0134       /** stream the ROOT histogram into output stream as XML
0135        *  @see TBufferXML
0136        *  @see TBufferXML::ConvertToXML
0137        *  @param histo  (INPUT)  the histogram to be streamed
0138        *  @param stream (OUTPUT) the stream
0139        */
0140       GAUDI_API std::ostream& toXml( const TH3F& histo, std::ostream& stream );
0141       // ======================================================================
0142       /** stream the AIDA histogram into the output stream as XML
0143        *  @param histo  (INPUT)  the histogram to be streamed
0144        *  @param stream (OUTPUT) the stream
0145        */
0146       GAUDI_API std::ostream& toXml( const AIDA::IProfile2D& histo, std::ostream& stream );
0147       // ======================================================================
0148       /** parse the histogram from standard ROOT XML
0149        *
0150        *  @see TBufferXML
0151        *  @see TBufferXML::ConvertFromXML
0152        *
0153        *  @param result (OUTPUT)  the parsed histogram
0154        *  @param input  (INPUT)   the input XML string
0155        *  @return status code
0156        */
0157       GAUDI_API StatusCode fromXml( TH1D& result, const std::string& input );
0158       // ======================================================================
0159       /** parse the histogram from standard ROOT XML
0160        *
0161        *  @see TBufferXML
0162        *  @see TBufferXML::ConvertFromXML
0163        *
0164        *  @param result (OUTPUT)  the parsed histogram
0165        *  @param input  (INPUT)   the input XML string
0166        *  @return status code
0167        */
0168       GAUDI_API StatusCode fromXml( TH2D& result, const std::string& input );
0169       // ======================================================================
0170       /** parse the histogram from standard ROOT XML
0171        *
0172        *  @see TBufferXML
0173        *  @see TBufferXML::ConvertFromXML
0174        *
0175        *  @param result (OUTPUT)  the parsed histogram
0176        *  @param input  (INPUT)   the input XML string
0177        *  @return status code
0178        */
0179       GAUDI_API StatusCode fromXml( TH3D& result, const std::string& input );
0180       // ======================================================================
0181       /** parse the histogram from standard ROOT XML
0182        *
0183        *  @see TBufferXML
0184        *  @see TBufferXML::ConvertFromXML
0185        *
0186        *  @param result (OUTPUT)  the parsed histogram
0187        *  @param input  (INPUT)   the input XML string
0188        *  @return status code
0189        */
0190       GAUDI_API StatusCode fromXml( TProfile& result, const std::string& input );
0191       // ======================================================================
0192       /** parse the histogram from standard ROOT XML
0193        *
0194        *  @see TBufferXML
0195        *  @see TBufferXML::ConvertFromXML
0196        *
0197        *  @param result (OUTPUT)  the parsed histogram
0198        *  @param input  (INPUT)   the input XML string
0199        *  @return status code
0200        */
0201       GAUDI_API StatusCode fromXml( TProfile2D& result, const std::string& input );
0202       // ======================================================================
0203       /** parse the histogram from standard ROOT XML
0204        *
0205        *  @see TBufferXML
0206        *  @see TBufferXML::ConvertFromXML
0207        *
0208        *  @param result (OUTPUT)  the parsed histogram
0209        *  @param input  (INPUT)   the input XML string
0210        *  @return status code
0211        */
0212       GAUDI_API StatusCode fromXml( TH1F& result, const std::string& input );
0213       // ======================================================================
0214       /** parse the histogram from standard ROOT XML
0215        *
0216        *  @see TBufferXML
0217        *  @see TBufferXML::ConvertFromXML
0218        *
0219        *  @param result (OUTPUT)  the parsed histogram
0220        *  @param input  (INPUT)   the input XML string
0221        *  @return status code
0222        */
0223       GAUDI_API StatusCode fromXml( TH2F& result, const std::string& input );
0224       // ======================================================================
0225       /** parse the histogram from standard ROOT XML
0226        *
0227        *  @see TBufferXML
0228        *  @see TBufferXML::ConvertFromXML
0229        *
0230        *  @param result (OUTPUT)  the parsed histogram
0231        *  @param input  (INPUT)   the input XML string
0232        *  @return status code
0233        */
0234       GAUDI_API StatusCode fromXml( TH3F& result, const std::string& input );
0235       // ======================================================================
0236       /** parse the histogram from standard ROOT XML
0237        *
0238        *  @see TBufferXML
0239        *  @see TBufferXML::ConvertFromXML
0240        *
0241        *  @param result (OUTPUT)  the parsed histogram
0242        *  @param input  (INPUT)   the input XML string
0243        *  @return status code
0244        */
0245       GAUDI_API StatusCode fromXml( TH1D*& result, const std::string& input );
0246       // ======================================================================
0247       /** parse the histogram from standard ROOT XML
0248        *
0249        *  @see TBufferXML
0250        *  @see TBufferXML::ConvertFromXML
0251        *
0252        *  @param result (OUTPUT)  the parsed histogram
0253        *  @param input  (INPUT)   the input XML string
0254        *  @return status code
0255        */
0256       GAUDI_API StatusCode fromXml( TH2D*& result, const std::string& input );
0257       // ======================================================================
0258       /** parse the histogram from standard ROOT XML
0259        *
0260        *  @see TBufferXML
0261        *  @see TBufferXML::ConvertFromXML
0262        *
0263        *  @param result (OUTPUT)  the parsed histogram
0264        *  @param input  (INPUT)   the input XML string
0265        *  @return status code
0266        */
0267       GAUDI_API StatusCode fromXml( TH3D*& result, const std::string& input );
0268       // ======================================================================
0269       /** parse the histogram from standard ROOT XML
0270        *
0271        *  @see TBufferXML
0272        *  @see TBufferXML::ConvertFromXML
0273        *
0274        *  @param result (OUTPUT)  the parsed histogram
0275        *  @param input  (INPUT)   the input XML string
0276        *  @return status code
0277        */
0278       GAUDI_API StatusCode fromXml( TProfile*& result, const std::string& input );
0279       // ======================================================================
0280       /** parse the histogram from standard ROOT XML
0281        *
0282        *  @see TBufferXML
0283        *  @see TBufferXML::ConvertFromXML
0284        *
0285        *  @param result (OUTPUT)  the parsed histogram
0286        *  @param input  (INPUT)   the input XML string
0287        *  @return status code
0288        */
0289       GAUDI_API StatusCode fromXml( TProfile2D*& result, const std::string& input );
0290       // ======================================================================
0291       /** parse the histogram from standard ROOT XML
0292        *
0293        *  @see TBufferXML
0294        *  @see TBufferXML::ConvertFromXML
0295        *
0296        *  @param result (OUTPUT)  the parsed histogram
0297        *  @param input  (INPUT)   the input XML string
0298        *  @return status code
0299        */
0300       GAUDI_API StatusCode fromXml( AIDA::IHistogram1D& result, const std::string& input );
0301       // ======================================================================
0302       /** parse the histogram from standard ROOT XML
0303        *
0304        *  @see TBufferXML
0305        *  @see TBufferXML::ConvertFromXML
0306        *
0307        *  @param result (OUTPUT)  the parsed histogram
0308        *  @param input  (INPUT)   the input XML string
0309        *  @return status code
0310        */
0311       GAUDI_API StatusCode fromXml( AIDA::IHistogram2D& result, const std::string& input );
0312       // ======================================================================
0313       /** parse the histogram from standard ROOT XML
0314        *
0315        *  @see TBufferXML
0316        *  @see TBufferXML::ConvertFromXML
0317        *
0318        *  @param result (OUTPUT)  the parsed histogram
0319        *  @param input  (INPUT)   the input XML string
0320        *  @return status code
0321        */
0322       GAUDI_API StatusCode fromXml( AIDA::IHistogram3D& result, const std::string& input );
0323       // ======================================================================
0324       /** parse the histogram from standard ROOT XML
0325        *
0326        *  @see TBufferXML
0327        *  @see TBufferXML::ConvertFromXML
0328        *
0329        *  @param result (OUTPUT)  the parsed histogram
0330        *  @param input  (INPUT)   the input XML string
0331        *  @return status code
0332        */
0333       GAUDI_API StatusCode fromXml( AIDA::IProfile1D& result, const std::string& input );
0334       // ======================================================================
0335       /** parse the histogram from standard ROOT XML
0336        *
0337        *  @see TBufferXML
0338        *  @see TBufferXML::ConvertFromXML
0339        *
0340        *  @param result (OUTPUT)  the parsed histogram
0341        *  @param input  (INPUT)   the input XML string
0342        *  @return status code
0343        */
0344       GAUDI_API StatusCode fromXml( AIDA::IProfile2D& result, const std::string& input );
0345       // ======================================================================
0346     } // namespace Histos
0347     // ========================================================================
0348   } // namespace Utils
0349   // ==========================================================================
0350 } //                                                     end of namespace Gaudi
0351 // ============================================================================
0352 // The END
0353 // ============================================================================
0354 #endif // GAUDIUTILS_HISTOXML_H