4 #pragma warning(disable:2259) 10 #pragma warning(disable:4996) 15 #include <type_traits> 23 #pragma clang diagnostic push 24 #pragma clang diagnostic ignored "-Wkeyword-macro" 26 #define class class GAUDI_API 28 #pragma clang diagnostic pop 30 #include "AIDA/IHistogram1D.h" 31 #include "AIDA/IHistogram2D.h" 32 #include "AIDA/IHistogram3D.h" 33 #include "AIDA/IProfile1D.h" 34 #include "AIDA/IProfile2D.h" 43 #include "TProfile2D.h" 60 template <
typename Out,
typename In>
61 Out *a2r_cast(In* aida) {
64 Gaudi::HistogramBase>
::type;
65 auto base =
dynamic_cast<Base*
>( aida );
66 return base ?
dynamic_cast<Out*
>( base->representation() ) :
nullptr;
74 return a2r_cast<TH1D>( aida );
78 return a2r_cast<
const TH1D>( aida );
85 return a2r_cast<TH2D>( aida );
89 return a2r_cast<
const TH2D>( aida );
96 return a2r_cast<TH3D>( aida );
100 return a2r_cast<
const TH3D>( aida );
107 return a2r_cast<TProfile>( aida );
111 return a2r_cast<
const TProfile>( aida );
118 return a2r_cast<TProfile2D>( aida );
122 return a2r_cast<
const TProfile2D>( aida );
129 return a2r_cast<TObject>(aida);
133 return a2r_cast<
const TObject>(aida);
static TH1D * aida2root(AIDA::IHistogram1D *aida)
get the underlying pointer for 1D-histogram
Common base class for all histograms Use is solely functional to minimize dynamic_casts inside Histog...