The Gaudi Framework  master (37c0b60a)
HistoXML.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2024 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
11 #ifndef GAUDIUTILS_HISTOXML_H
12 #define GAUDIUTILS_HISTOXML_H 1
13 // ============================================================================
14 // Include files
15 // ============================================================================
16 // STD & STL
17 // ============================================================================
18 #include <iosfwd>
19 #include <string>
20 // ============================================================================
21 // GaudiKernel
22 // ============================================================================
23 #include <GaudiKernel/StatusCode.h>
24 // ============================================================================
25 // Forward declarations
26 // ============================================================================
27 // AIDA
28 // ============================================================================
29 namespace AIDA {
30  class IHistogram1D;
31  class IHistogram2D;
32  class IHistogram3D;
33  class IProfile1D;
34  class IProfile2D;
35 } // namespace AIDA
36 // ============================================================================
37 // ROOT
38 // ============================================================================
39 class TH1D; // ROOT
40 class TH2D; // ROOT
41 class TH3D; // ROOT
42 class TH1F; // ROOT
43 class TH2F; // ROOT
44 class TH3F; // ROOT
45 class TProfile; // ROOT
46 class TProfile2D; // ROOT
47 // ============================================================================
48 namespace Gaudi {
49  // ===========================================================================
50  namespace Utils {
51  // =========================================================================
52  namespace Histos {
53  // =======================================================================
60  GAUDI_API std::ostream& toXml( const TH1D& histo, std::ostream& stream );
61  // ======================================================================
68  GAUDI_API std::ostream& toXml( const TH2D& histo, std::ostream& stream );
69  // ======================================================================
76  GAUDI_API std::ostream& toXml( const TH3D& histo, std::ostream& stream );
77  // ======================================================================
84  GAUDI_API std::ostream& toXml( const TProfile& histo, std::ostream& stream );
85  // ======================================================================
92  GAUDI_API std::ostream& toXml( const TProfile2D& histo, std::ostream& stream );
93  // ======================================================================
98  GAUDI_API std::ostream& toXml( const AIDA::IHistogram1D& histo, std::ostream& stream );
99  // ======================================================================
104  GAUDI_API std::ostream& toXml( const AIDA::IHistogram2D& histo, std::ostream& stream );
105  // ======================================================================
110  GAUDI_API std::ostream& toXml( const AIDA::IHistogram3D& histo, std::ostream& stream );
111  // ======================================================================
116  GAUDI_API std::ostream& toXml( const AIDA::IProfile1D& histo, std::ostream& stream );
117  // =======================================================================
124  GAUDI_API std::ostream& toXml( const TH1F& histo, std::ostream& stream );
125  // ======================================================================
132  GAUDI_API std::ostream& toXml( const TH2F& histo, std::ostream& stream );
133  // ======================================================================
140  GAUDI_API std::ostream& toXml( const TH3F& histo, std::ostream& stream );
141  // ======================================================================
146  GAUDI_API std::ostream& toXml( const AIDA::IProfile2D& histo, std::ostream& stream );
147  // ======================================================================
157  GAUDI_API StatusCode fromXml( TH1D& result, std::string_view input );
158  // ======================================================================
168  GAUDI_API StatusCode fromXml( TH2D& result, std::string_view input );
169  // ======================================================================
179  GAUDI_API StatusCode fromXml( TH3D& result, std::string_view input );
180  // ======================================================================
190  GAUDI_API StatusCode fromXml( TProfile& result, std::string_view input );
191  // ======================================================================
201  GAUDI_API StatusCode fromXml( TProfile2D& result, std::string_view input );
202  // ======================================================================
212  GAUDI_API StatusCode fromXml( TH1F& result, std::string_view input );
213  // ======================================================================
223  GAUDI_API StatusCode fromXml( TH2F& result, std::string_view input );
224  // ======================================================================
234  GAUDI_API StatusCode fromXml( TH3F& result, std::string_view input );
235  // ======================================================================
245  GAUDI_API StatusCode fromXml( TH1D*& result, std::string_view input );
246  // ======================================================================
256  GAUDI_API StatusCode fromXml( TH2D*& result, std::string_view input );
257  // ======================================================================
267  GAUDI_API StatusCode fromXml( TH3D*& result, std::string_view input );
268  // ======================================================================
278  GAUDI_API StatusCode fromXml( TProfile*& result, std::string_view input );
279  // ======================================================================
289  GAUDI_API StatusCode fromXml( TProfile2D*& result, std::string_view input );
290  // ======================================================================
300  GAUDI_API StatusCode fromXml( AIDA::IHistogram1D& result, std::string_view input );
301  // ======================================================================
311  GAUDI_API StatusCode fromXml( AIDA::IHistogram2D& result, std::string_view input );
312  // ======================================================================
322  GAUDI_API StatusCode fromXml( AIDA::IHistogram3D& result, std::string_view input );
323  // ======================================================================
333  GAUDI_API StatusCode fromXml( AIDA::IProfile1D& result, std::string_view input );
334  // ======================================================================
344  GAUDI_API StatusCode fromXml( AIDA::IProfile2D& result, std::string_view input );
345  // ======================================================================
346  } // namespace Histos
347  // ========================================================================
348  } // namespace Utils
349  // ==========================================================================
350 } // end of namespace Gaudi
351 // ============================================================================
352 // The END
353 // ============================================================================
354 #endif // GAUDIUTILS_HISTOXML_H
AIDA
GaudiKernel.
Definition: Annotation.h:22
Write.stream
stream
Definition: Write.py:32
StatusCode.h
StatusCode
Definition: StatusCode.h:65
std::ostream
STL class.
Gaudi
This file provides a Grammar for the type Gaudi::Accumulators::Axis It allows to use that type from p...
Definition: __init__.py:1
Gaudi::Utils::Histos::fromXml
GAUDI_API StatusCode fromXml(TH1D &result, std::string_view input)
parse the histogram from standard ROOT XML
Definition: HistoXML.cpp:199
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:81
Gaudi::Utils::Histos::toXml
GAUDI_API std::ostream & toXml(const TH1D &histo, std::ostream &stream)
stream the ROOT histogram into output stream as XML
Definition: HistoXML.cpp:76