4 #pragma warning(disable:2259)
10 #pragma warning(disable:4996)
15 #include <type_traits>
19 #include "GaudiKernel/Kernel.h"
22 #define class class GAUDI_API
23 #include "AIDA/IHistogram1D.h"
24 #include "AIDA/IHistogram2D.h"
25 #include "AIDA/IHistogram3D.h"
26 #include "AIDA/IProfile1D.h"
27 #include "AIDA/IProfile2D.h"
36 #include "TProfile2D.h"
40 #include "GaudiKernel/HistogramBase.h"
44 #include "GaudiUtils/Aida2ROOT.h"
53 template <
typename Out,
typename In>
54 Out *a2r_cast(In* aida) {
57 Gaudi::HistogramBase>
::type;
58 auto base =
dynamic_cast<Base*
>( aida );
59 return base ?
dynamic_cast<Out*
>( base->representation() ) :
nullptr;
67 return a2r_cast<TH1D>( aida );
71 return a2r_cast<
const TH1D>( aida );
78 return a2r_cast<TH2D>( aida );
82 return a2r_cast<
const TH2D>( aida );
89 return a2r_cast<TH3D>( aida );
93 return a2r_cast<
const TH3D>( aida );
100 return a2r_cast<TProfile>( aida );
104 return a2r_cast<
const TProfile>( aida );
111 return a2r_cast<TProfile2D>( aida );
115 return a2r_cast<
const TProfile2D>( aida );
122 return a2r_cast<TObject>(aida);
126 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...