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"    61   template <
typename Out, 
typename In>
    62   Out* a2r_cast( In* aida )
    66     auto base = 
dynamic_cast<Base*
>( aida );
    67     return base ? 
dynamic_cast<Out*
>( base->representation() ) : 
nullptr;
    76   return a2r_cast<
const TH1D>( aida );
    84   return a2r_cast<
const TH2D>( aida );
    92   return a2r_cast<
const TH3D>( aida );
   100   return a2r_cast<
const TProfile>( aida );
   108   return a2r_cast<
const TProfile2D>( aida );
   116   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...