15 #ifndef ROOT7_THistDrawable
16 #define ROOT7_THistDrawable
27 namespace Experimental {
30 template <
int D_,
class P_,
template <
class P__>
class STORAGE>
class... STAT>
41 template <
int DIMENSION>
61 extern template class THistPainterBase<1>;
62 extern template class THistPainterBase<2>;
63 extern template class THistPainterBase<3>;
79 template <
int DIMENSIONS>
92 fHistImpl(std::shared_ptr<
HistImpl_t>(hist, hist->GetImpl())),
97 fHistImpl(std::unique_ptr<
HistImpl_t>(std::move(hist->TakeImpl()))),
107 extern template class THistDrawable<1>;
108 extern template class THistDrawable<2>;
109 extern template class THistDrawable<3>;
Graphic container for TDrawable-s.
void LoadHistPainterLibrary()
static THistPainterBase< DIMENSION > * GetPainter()
THistDrawable(const std::shared_ptr< HIST > &hist, THistDrawOptions< DIMENSIONS > opts)
TUniWeakPtr< HistImpl_t > fHistImpl
virtual void Paint(TDrawable &obj, THistDrawOptions< DIMENSION > opts, TCanvas &canv)=0
Paint a THist. All we need is access to its GetBinContent()
static THistPainterBase< DIMENSION > * fgPainter
THistDrawOptions< DIMENSIONS > fOpts
THistDrawable(std::unique_ptr< HIST > &&hist, THistDrawOptions< DIMENSIONS > opts)
void Paint(TCanvas &canv) final
Paint the histogram.
Base class for THistImplBase that abstracts out the histogram's PRECISION.
Binding & operator=(OUT(*fun)(void))
Base class for drawable entities: objects that can be painted on a TPad.
virtual ~THistPainterBase()
std::unique_ptr< TH1 > fOldHist
Drawing options for a histogram with DIMENSIONS.