4 # pragma warning( disable : 2259 ) 10 # pragma warning( disable : 4996 ) 18 #include <TProfile2D.h> 23 return className ==
"AIDA::IProfile2D" 24 ?
const_cast<AIDA::IProfile2D*
>(
static_cast<const AIDA::IProfile2D*
>( this ) )
25 : className ==
"AIDA::IProfile" 26 ?
const_cast<AIDA::IProfile*
>(
static_cast<const AIDA::IProfile*
>( this ) )
27 : className ==
"AIDA::IBaseHistogram" 28 ?
const_cast<AIDA::IBaseHistogram*
>(
static_cast<const AIDA::IBaseHistogram*
>( this ) )
34 int rBin = m_rep->GetBin( rIndexX( idX ), rIndexY( idY ) );
35 return int( m_rep->GetBinEntries( rBin ) + 0.5 );
40 TProfile2D* imp =
dynamic_cast<TProfile2D*
>( rep );
41 if ( !imp )
throw std::runtime_error(
"Cannot adopt native histogram representation." );
43 m_xAxis.initialize( m_rep->GetXaxis(), true );
44 m_yAxis.initialize( m_rep->GetYaxis(), true );
45 setTitle( m_rep->GetTitle() );
50 const Edges& eY,
double ,
double ) {
52 auto p =
new Profile2D(
new TProfile2D( title.
c_str(), title.
c_str(), eX.size() - 1, &eX.front(), eY.size() - 1,
58 double xup,
int binsY,
double ylow,
double yup,
59 double zlow,
double zup ) {
61 new Profile2D(
new TProfile2D( title.
c_str(), title.
c_str(), binsX, xlow, xup, binsY, ylow, yup, zlow, zup ) );
66 auto h = getRepresentation<AIDA::IProfile2D, TProfile2D>( hist );
67 auto n = ( h ?
new Profile2D(
new TProfile2D( *h ) ) : nullptr );
72 m_classType =
"IProfile2D";
73 rep->SetDirectory(
nullptr );
74 adoptRepresentation( rep );
AIDA implementation for 2 D profiles using ROOT TProfile2D.
std::vector< double > Edges
void adoptRepresentation(TObject *rep) override
Adopt ROOT histogram representation.
int binEntries(int indexX, int indexY) const override
The number of entries (ie the number of times fill was called for this bin).
std::pair< DataObject *, AIDA::IProfile2D * > createProf2D(const AIDA::IProfile2D &hist)
Copy constructor.
void * cast(const std::string &className) const override
Introspection method.
Profile2D()
Default Constructor.
Helper functions to set/get the application return code.