16#ifndef ROOT7_RHistDrawable 
   17#define ROOT7_RHistDrawable 
   35namespace Experimental {
 
   60   virtual bool Is3D()
 const { 
return false; }
 
   74      std::unique_ptr<RDisplayItem> 
item;
 
 
   78      std::unique_ptr<RDrawableReply> 
Process()
 override 
   82         auto reply = std::make_unique<RReply>();
 
 
 
 
  101template <
int DIMENSIONS>
 
  116   template <
class HIST>
 
  119      fHistImpl = std::shared_ptr<HistImpl_t>(hist, hist->GetImpl());
 
 
 
  141   template <
class HIST>
 
 
  176   template <
class HIST>
 
 
  210   template <
class HIST>
 
 
  222   return std::make_shared<RHist1Drawable>(
histimpl);
 
 
  227   return std::make_shared<RHist1Drawable>(
histimpl);
 
 
  232   return std::make_shared<RHist1Drawable>(
histimpl);
 
 
  237   return std::make_shared<RHist1Drawable>(
histimpl);
 
 
  242   return std::make_shared<RHist2Drawable>(
histimpl);
 
 
  247   return std::make_shared<RHist2Drawable>(
histimpl);
 
 
  252   return std::make_shared<RHist2Drawable>(
histimpl);
 
 
  257   return std::make_shared<RHist2Drawable>(
histimpl);
 
 
  262   return std::make_shared<RHist3Drawable>(
histimpl);
 
 
  267   return std::make_shared<RHist3Drawable>(
histimpl);
 
 
  272   return std::make_shared<RHist3Drawable>(
histimpl);
 
 
  277   return std::make_shared<RHist3Drawable>(
histimpl);
 
 
ROOT::Math::KahanSum< double > _offset
! Offset as KahanSum to avoid loss of precision
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
Base class for RHistImplBase that abstracts out the histogram's PRECISION.
 
Drawing fill attributes for different objects.
 
Drawing line attributes for different objects.
 
RAttrValue< EStyle > style
! marker style
 
Base class for replies on RDrawableRequest.
 
Base class for requests which can be submitted from the clients.
 
const RDrawable::RDisplayContext & GetContext() const
 
Base class for drawable entities: objects that can be painted on a RPad.
 
virtual std::unique_ptr< RDisplayItem > Display(const RDisplayContext &)
Creates display item for drawable By default item contains drawable data itself.
 
RAttrValue< double > barwidth
! bar width
 
std::unique_ptr< RDisplayItem > CreateHistDisplay(const RDisplayContext &) override
 
RHist1Drawable & Marker()
 
RHist1Drawable & Lego(int kind=0)
 
RHist1Drawable(const std::shared_ptr< HIST > &hist)
 
RAttrValue< bool > secondy
! is draw second y axis for histogram
 
RHist1Drawable & Bar(double _offset, double _width, bool mode3d=false)
 
RAttrValue< bool > secondx
! is draw second x axis for histogram
 
RAttrValue< double > baroffset
! bar offset
 
RHist1Drawable & Error(int kind=0)
 
RAttrValue< bool > drawtext
! draw text
 
RHist2Drawable & Surf(int kind=0)
 
RHist2Drawable & Contour(int kind=0)
 
RHist2Drawable & Box(int kind=0)
 
RHist2Drawable & Lego(int kind=0)
 
RHist2Drawable(const std::shared_ptr< HIST > &hist)
 
std::unique_ptr< RDisplayItem > CreateHistDisplay(const RDisplayContext &) override
 
RAttrValue< bool > drawtext
! draw text
 
RHist2Drawable & Scatter()
 
std::unique_ptr< RDisplayItem > CreateHistDisplay(const RDisplayContext &) override
 
RHist3Drawable & Box(int kind=0)
 
RHist3Drawable(const std::shared_ptr< HIST > &hist)
 
RHist3Drawable & Scatter()
 
RHist3Drawable & Sphere(int kind=0)
 
std::unique_ptr< RDisplayItem > item
 
std::unique_ptr< RDrawableReply > Process() override
 
std::unique_ptr< RDisplayItem > Display(const RDisplayContext &ctxt) override
Creates display item for drawable By default item contains drawable data itself.
 
RAttrText text
! hist text attributes
 
std::string GetDrawKind() const
 
virtual std::unique_ptr< RDisplayItem > CreateHistDisplay(const RDisplayContext &)=0
 
RAttrMarker marker
! hist marker attributes
 
virtual bool Is3D() const
 
RAttrLine line
! hist line attributes
 
RAttrFill fill
! hist fill attributes
 
RAttrValue< bool > optimize
! optimize drawing
 
void PopulateMenu(RMenuItems &) override
 
bool IsFrameRequired() const final
 
void SetDrawKind(const std::string &kind, int sub=-1)
 
RAttrValue< std::string > fKind
! hist draw kind
 
RAttrValue< int > fSub
! hist draw sub kind
 
Internal::RIOShared< HistImpl_t > fHistImpl
I/O capable reference on histogram.
 
~RHistDrawable() override=default
 
std::shared_ptr< HistImpl_t > GetHist() const
 
void CollectShared(Internal::RIOSharedVector_t &vect) override
 
RHistDrawable(const std::shared_ptr< HIST > &hist)
 
std::vector< RIOSharedBase * > RIOSharedVector_t
 
auto GetDrawable(const std::shared_ptr< DRAWABLE > &drawable)
Central method to insert drawable in list of pad primitives By default drawable placed as is.
 
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...