4 #pragma warning(disable:2259)
10 #pragma warning(disable:4996)
15 #include <type_traits>
19 #include "GaudiKernel/Kernel.h"
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"
47 #include "GaudiKernel/HistogramBase.h"
51 #include "GaudiUtils/Aida2ROOT.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...