20 #include "TBufferXML.h" 29 #include "TProfile2D.h" 33 #include "AIDA/IHistogram1D.h" 34 #include "AIDA/IHistogram2D.h" 35 #include "AIDA/IHistogram3D.h" 36 #include "AIDA/IProfile1D.h" 37 #include "AIDA/IProfile2D.h" 54 template <
typename TYPE>
58 TYPE* histo = ( obj ? dynamic_cast<TYPE*>( obj.get() ) :
nullptr );
75 return stream << TBufferXML::ConvertToXML( &histo );
84 return stream << TBufferXML::ConvertToXML( &histo );
93 return stream << TBufferXML::ConvertToXML( &histo );
102 return stream << TBufferXML::ConvertToXML( &histo );
111 return stream << TBufferXML::ConvertToXML( &histo );
120 return stream << TBufferXML::ConvertToXML( &histo );
129 return stream << TBufferXML::ConvertToXML( &histo );
138 return stream << TBufferXML::ConvertToXML( &histo );
202 auto histo = _Xml<TH1D>( input );
205 histo->Copy( result );
220 auto histo = _Xml<TH2D>( input );
223 histo->Copy( result );
238 auto histo = _Xml<TH3D>( input );
241 histo->Copy( result );
256 auto histo = _Xml<TH1F>( input );
259 histo->Copy( result );
274 auto histo = _Xml<TH2F>( input );
277 histo->Copy( result );
292 auto histo = _Xml<TH3F>( input );
295 histo->Copy( result );
310 auto histo = _Xml<TProfile>( input );
313 histo->Copy( result );
328 auto histo = _Xml<TProfile2D>( input );
331 histo->Copy( result );
344 if ( result ) {
return fromXml( *result, input ); }
346 auto histo = _Xml<TH1D>( input );
349 result = histo.release();
361 if ( result ) {
return fromXml( *result, input ); }
363 auto histo = _Xml<TH2D>( input );
366 result = histo.release();
378 if ( result ) {
return fromXml( *result, input ); }
380 auto histo = _Xml<TH3D>( input );
383 result = histo.release();
396 if ( result ) {
return fromXml( *result, input ); }
398 auto histo = _Xml<TProfile>( input );
401 result = histo.release();
413 if ( result ) {
return fromXml( *result, input ); }
415 auto histo = _Xml<TProfile2D>( input );
418 result = histo.release();
GAUDI_API StatusCode fromXml(TH1D &result, const std::string &input)
parse the histogram from standard ROOT XML
constexpr static const auto SUCCESS
This class is used for returning status codes from appropriate routines.
static TH1D * aida2root(AIDA::IHistogram1D *aida)
get the underlying pointer for 1D-histogram
GAUDI_API std::ostream & toXml(const TH1D &histo, std::ostream &stream)
stream the ROOT histogram into output stream as XML
constexpr static const auto FAILURE