Logo ROOT  
Reference Guide
RHistDrawable.hxx
Go to the documentation of this file.
1 /// \file ROOT/RHistDrawable.hxx
2 /// \ingroup HistDraw ROOT7
3 /// \author Axel Naumann <axel@cern.ch>
4 /// \date 2015-07-09
5 /// \warning This is part of the ROOT 7 prototype! It will change without notice. It might trigger earthquakes. Feedback
6 /// is welcome!
7 
8 /*************************************************************************
9  * Copyright (C) 1995-2015, Rene Brun and Fons Rademakers. *
10  * All rights reserved. *
11  * *
12  * For the licensing terms see $ROOTSYS/LICENSE. *
13  * For the list of contributors see $ROOTSYS/README/CREDITS. *
14  *************************************************************************/
15 
16 #ifndef ROOT7_RHistDrawable
17 #define ROOT7_RHistDrawable
18 
19 #include <ROOT/RDrawable.hxx>
20 #include <ROOT/RAttrLine.hxx>
21 #include <ROOT/RAttrText.hxx>
22 #include <ROOT/RAttrMarker.hxx>
23 #include <ROOT/RAttrFill.hxx>
24 #include <ROOT/RAttrValue.hxx>
25 #include <ROOT/RHist.hxx>
26 #include <ROOT/RHistImpl.hxx>
27 
28 // TODO: move to separate file
30 #include <ROOT/RDisplayItem.hxx>
31 
32 #include <memory>
33 
34 namespace ROOT {
35 namespace Experimental {
36 
37 class RHistDrawableBase : public RDrawable {
38  RAttrValue<std::string> fKind{this, "kind", ""}; ///<! hist draw kind
39  RAttrValue<int> fSub{this, "sub", -1}; ///<! hist draw sub kind
40  RAttrLine fAttrLine{this, "line_"}; ///<! hist line attributes
41  RAttrFill fAttrFill{this, "fill_"}; ///<! hist fill attributes
42  RAttrText fAttrText{this, "text_"}; ///<! hist text attributes
43  RAttrMarker fMarkerAttr{this, "marker_"}; ///<! hist marker attributes
44  RAttrValue<bool> fOptimize{this, "optimize", false}; ///<! optimize drawing
45 
46 protected:
47 
48  bool IsFrameRequired() const final { return true; }
49 
50  void PopulateMenu(RMenuItems &) override { }
51 
52  void SetDrawKind(const std::string &kind, int sub = -1)
53  {
54  fKind = kind;
55  if (sub >= 0)
56  fSub = sub;
57  else
59  }
60 
61  std::string GetDrawKind() const { return fKind; }
62 
63  virtual std::unique_ptr<RDisplayItem> CreateHistDisplay(const RDisplayContext &) = 0;
64 
65  virtual bool Is3D() const { return false; }
66 
67  std::unique_ptr<RDisplayItem> Display(const RDisplayContext &ctxt) override
68  {
69  if (fOptimize)
70  return CreateHistDisplay(ctxt);
71 
72  return RDrawable::Display(ctxt);
73  }
74 
75 public:
76 
77  class RReply : public RDrawableReply {
78  public:
79  std::unique_ptr<RDisplayItem> item;
80  };
81 
82  class RRequest : public RDrawableRequest {
83  std::unique_ptr<RDrawableReply> Process() override
84  {
85  auto hdraw = dynamic_cast<RHistDrawableBase *>(GetContext().GetDrawable());
86 
87  auto reply = std::make_unique<RReply>();
88  if (hdraw)
89  reply->item = hdraw->CreateHistDisplay(GetContext());
90  return reply;
91  }
92  };
93 
94  friend class RRequest;
95 
96  RHistDrawableBase() : RDrawable("hist") {}
97 
98  const RAttrLine &GetAttrLine() const { return fAttrLine; }
99  RHistDrawableBase &SetAttrLine(const RAttrLine &attr) { fAttrLine = attr; return *this; }
100  RAttrLine &AttrLine() { return fAttrLine; }
101 
102  const RAttrFill &GetAttrFill() const { return fAttrFill; }
103  RHistDrawableBase &SetAttrFill(const RAttrFill &fill) { fAttrFill = fill; return *this; }
104  RAttrFill &AttrFill() { return fAttrFill; }
105 
106  const RAttrText &GetAttrText() const { return fAttrText; }
107  RHistDrawableBase &SetAttrText(const RAttrText &attr) { fAttrText = attr; return *this; }
108  RAttrText &AttrText() { return fAttrText; }
109 
110  const RAttrMarker &GetAttrMarker() const { return fMarkerAttr; }
111  RHistDrawableBase &SetAttrMarker(const RAttrMarker &attr) { fMarkerAttr = attr; return *this; }
113 
114  RHistDrawableBase &Optimize(bool on = true) { fOptimize = on; return *this; }
115 };
116 
117 
118 template <int DIMENSIONS>
119 class RHistDrawable : public RHistDrawableBase {
120 public:
122 
123 protected:
124 
125  Internal::RIOShared<HistImpl_t> fHistImpl; ///< I/O capable reference on histogram
126 
127  void CollectShared(Internal::RIOSharedVector_t &vect) override { vect.emplace_back(&fHistImpl); }
128 
129 public:
130  RHistDrawable() = default;
131  virtual ~RHistDrawable() = default;
132 
133  template <class HIST>
134  RHistDrawable(const std::shared_ptr<HIST> &hist) : RHistDrawableBase()
135  {
136  fHistImpl = std::shared_ptr<HistImpl_t>(hist, hist->GetImpl());
137  }
138 
139  std::shared_ptr<HistImpl_t> GetHist() const { return fHistImpl.get_shared(); }
140 };
141 
142 
143 class RHist1Drawable final : public RHistDrawable<1> {
144  RAttrValue<double> fBarOffset{this, "bar_offset", 0.}; ///<! bar offset
145  RAttrValue<double> fBarWidth{this, "bar_width", 1.}; ///<! bar width
146  RAttrValue<bool> fText{this, "text", false}; ///<! draw text
147 
148 protected:
149  std::unique_ptr<RDisplayItem> CreateHistDisplay(const RDisplayContext &) override;
150 
151  bool Is3D() const final { return GetDrawKind() == "lego"; }
152 
153 public:
154  RHist1Drawable() = default;
155 
156  template <class HIST>
157  RHist1Drawable(const std::shared_ptr<HIST> &hist) : RHistDrawable<1>(hist) {}
158 
159  RHist1Drawable &Bar() { SetDrawKind("bar", 0); fBarOffset.Clear(); fBarWidth.Clear(); return *this; }
160  RHist1Drawable &Bar(double offset, double width, bool mode3d = false) { SetDrawKind("bar", mode3d ? 1 : 0); fBarOffset = offset; fBarWidth = width; return *this; }
161  RHist1Drawable &Error(int kind = 0) { SetDrawKind("err", kind); return *this; }
162  RHist1Drawable &Marker() { SetDrawKind("p"); return *this; }
164  RHist1Drawable &Hist() { SetDrawKind("hist"); return *this; }
165  RHist1Drawable &Line() { SetDrawKind("l"); return *this; }
166  RHist1Drawable &Lego(int kind = 0) { SetDrawKind("lego", kind); return *this; }
167  RHist1Drawable &Text(bool on = true) { fText = on; return *this; }
168 
169  double GetBarOffset() const { return fBarOffset; }
170  double GetBarWidth() const { return fBarWidth; }
171 };
172 
173 
174 class RHist2Drawable final : public RHistDrawable<2> {
175  RAttrValue<bool> fText{this, "text", false}; ///<! draw text
176 
177 protected:
178 
179  std::unique_ptr<RDisplayItem> CreateHistDisplay(const RDisplayContext &) override;
180 
181  bool Is3D() const final { return (GetDrawKind() == "lego") || (GetDrawKind() == "surf") || (GetDrawKind() == "err"); }
182 
183 public:
184  RHist2Drawable() = default;
185 
186  template <class HIST>
187  RHist2Drawable(const std::shared_ptr<HIST> &hist) : RHistDrawable<2>(hist) {}
188 
189  RHist2Drawable &Color() { SetDrawKind("col"); return *this; }
190  RHist2Drawable &Box(int kind = 0) { SetDrawKind("box", kind); return *this; }
191  RHist2Drawable &Lego(int kind = 0) { SetDrawKind("lego", kind); return *this; }
192  RHist2Drawable &Surf(int kind = 0) { SetDrawKind("surf", kind); return *this; }
193  RHist2Drawable &Error() { SetDrawKind("err"); return *this; }
194  RHist2Drawable &Contour(int kind = 0) { SetDrawKind("cont", kind); return *this; }
195  RHist2Drawable &Scatter() { SetDrawKind("scat"); return *this; }
196  RHist2Drawable &Arrow() { SetDrawKind("arr"); return *this; }
197  RHist2Drawable &Text(bool on = true) { fText = on; return *this; }
198 };
199 
200 
201 class RHist3Drawable final : public RHistDrawable<3> {
202 protected:
203  std::unique_ptr<RDisplayItem> CreateHistDisplay(const RDisplayContext &) override;
204 
205  bool Is3D() const final { return true; }
206 
207 public:
208  RHist3Drawable() = default;
209 
210  template <class HIST>
211  RHist3Drawable(const std::shared_ptr<HIST> &hist) : RHistDrawable<3>(hist) {}
212 
213  RHist3Drawable &Color() { SetDrawKind("col"); return *this; }
214  RHist3Drawable &Box(int kind = 0) { SetDrawKind("box", kind); return *this; }
215  RHist3Drawable &Sphere(int kind = 0) { SetDrawKind("sphere", kind); return *this; }
216  RHist3Drawable &Scatter() { SetDrawKind("scat"); return *this; }
217 };
218 
219 
220 inline auto GetDrawable(const std::shared_ptr<RH1D> &histimpl)
221 {
222  return std::make_shared<RHist1Drawable>(histimpl);
223 }
224 
225 inline auto GetDrawable(const std::shared_ptr<RH1I> &histimpl)
226 {
227  return std::make_shared<RHist1Drawable>(histimpl);
228 }
229 
230 inline auto GetDrawable(const std::shared_ptr<RH1C> &histimpl)
231 {
232  return std::make_shared<RHist1Drawable>(histimpl);
233 }
234 
235 inline auto GetDrawable(const std::shared_ptr<RH1F> &histimpl)
236 {
237  return std::make_shared<RHist1Drawable>(histimpl);
238 }
239 
240 inline auto GetDrawable(const std::shared_ptr<RH2D> &histimpl)
241 {
242  return std::make_shared<RHist2Drawable>(histimpl);
243 }
244 
245 inline auto GetDrawable(const std::shared_ptr<RH2I> &histimpl)
246 {
247  return std::make_shared<RHist2Drawable>(histimpl);
248 }
249 
250 inline auto GetDrawable(const std::shared_ptr<RH2C> &histimpl)
251 {
252  return std::make_shared<RHist2Drawable>(histimpl);
253 }
254 
255 inline auto GetDrawable(const std::shared_ptr<RH2F> &histimpl)
256 {
257  return std::make_shared<RHist2Drawable>(histimpl);
258 }
259 
260 inline auto GetDrawable(const std::shared_ptr<RH3D> &histimpl)
261 {
262  return std::make_shared<RHist3Drawable>(histimpl);
263 }
264 
265 inline auto GetDrawable(const std::shared_ptr<RH3I> &histimpl)
266 {
267  return std::make_shared<RHist3Drawable>(histimpl);
268 }
269 
270 inline auto GetDrawable(const std::shared_ptr<RH3C> &histimpl)
271 {
272  return std::make_shared<RHist3Drawable>(histimpl);
273 }
274 
275 inline auto GetDrawable(const std::shared_ptr<RH3F> &histimpl)
276 {
277  return std::make_shared<RHist3Drawable>(histimpl);
278 }
279 
280 } // namespace Experimental
281 } // namespace ROOT
282 
283 #endif
ROOT::Experimental::RHist1Drawable::GetBarWidth
double GetBarWidth() const
Definition: RHistDrawable.hxx:182
ROOT::Experimental::RHist2Drawable::Lego
RHist2Drawable & Lego(int kind=0)
Definition: RHistDrawable.hxx:203
ROOT::Experimental::RHist3Drawable::CreateHistDisplay
std::unique_ptr< RDisplayItem > CreateHistDisplay(const RDisplayContext &) override
Definition: RHistDrawable.cxx:247
RHist.hxx
RAttrMarker.hxx
fit1_py.fill
fill
Definition: fit1_py.py:6
ROOT::Experimental::RAttrValue< bool >
ROOT::Experimental::RHist3Drawable::RHist3Drawable
RHist3Drawable()=default
ROOT::Experimental::RHistDrawableBase::Display
std::unique_ptr< RDisplayItem > Display(const RDisplayContext &ctxt) override
Creates display item for drawable By default item contains drawable data itself.
Definition: RHistDrawable.hxx:85
ROOT::Experimental::RHist1Drawable::Hist
RHist1Drawable & Hist()
Definition: RHistDrawable.hxx:176
ROOT::Experimental::RHist2Drawable::fText
RAttrValue< bool > fText
! draw text
Definition: RHistDrawable.hxx:187
ROOT::Experimental::RHist2Drawable::Text
RHist2Drawable & Text(bool on=true)
Definition: RHistDrawable.hxx:209
ROOT::Experimental::RHist1Drawable::Text
RHist1Drawable & Text(bool on=true)
Definition: RHistDrawable.hxx:179
ROOT::Experimental::RHistDrawableBase::PopulateMenu
void PopulateMenu(RMenuItems &) override
Definition: RHistDrawable.hxx:68
ROOT::Experimental::RHist1Drawable::Marker
RHist1Drawable & Marker()
Definition: RHistDrawable.hxx:174
ROOT::Experimental::RHistDrawableBase::SetAttrMarker
RHistDrawableBase & SetAttrMarker(const RAttrMarker &attr)
Definition: RHistDrawable.hxx:129
ROOT::Experimental::RDrawableReply
Base class for replies on RDrawableRequest.
Definition: RDrawableRequest.hxx:42
ROOT::Experimental::RAttrMarker
A marker attributes.
Definition: RAttrMarker.hxx:39
ROOT::Experimental::RHist2Drawable::Error
RHist2Drawable & Error()
Definition: RHistDrawable.hxx:205
RDisplayItem.hxx
ROOT::Experimental::Internal::RIOShared
Definition: RDrawable.hxx:67
ROOT::Experimental::RHistDrawableBase::RRequest::Process
std::unique_ptr< RDrawableReply > Process() override
Definition: RHistDrawable.hxx:101
ROOT::Experimental::RAttrLine
Drawing line attributes for different objects.
Definition: RAttrLine.hxx:39
ROOT::Experimental::GetDrawable
auto GetDrawable(const std::shared_ptr< DRAWABLE > &drawable)
Central method to insert drawable in list of pad primitives By default drawable placed as is.
Definition: RDrawable.hxx:238
width
include TDocParser_001 C image html pict1_TDocParser_001 png width
Definition: TDocParser.cxx:121
ROOT::Experimental::RHistDrawable::RHistDrawable
RHistDrawable()=default
ROOT::Experimental::RHistDrawableBase::fSub
RAttrValue< int > fSub
! hist draw sub kind
Definition: RHistDrawable.hxx:57
ROOT::Experimental::RHistDrawableBase::RReply::item
std::unique_ptr< RDisplayItem > item
Definition: RHistDrawable.hxx:97
ROOT::Experimental::RHistDrawableBase::GetAttrMarker
const RAttrMarker & GetAttrMarker() const
Definition: RHistDrawable.hxx:128
ROOT::Experimental::RHistDrawableBase::IsFrameRequired
bool IsFrameRequired() const final
Definition: RHistDrawable.hxx:66
ROOT::Experimental::RHistDrawable::fHistImpl
Internal::RIOShared< HistImpl_t > fHistImpl
I/O capable reference on histogram.
Definition: RHistDrawable.hxx:137
RAttrText.hxx
ROOT::Experimental::RHist2Drawable::Color
RHist2Drawable & Color()
Definition: RHistDrawable.hxx:201
ROOT::Experimental::RHist1Drawable::GetBarOffset
double GetBarOffset() const
Definition: RHistDrawable.hxx:181
ROOT::Experimental::RHist1Drawable::CreateHistDisplay
std::unique_ptr< RDisplayItem > CreateHistDisplay(const RDisplayContext &) override
Definition: RHistDrawable.cxx:28
ROOT::Experimental::Detail::RHistImplPrecisionAgnosticBase
Definition: RHistImpl.hxx:71
ROOT::Experimental::RHistDrawableBase::GetAttrText
const RAttrText & GetAttrText() const
Definition: RHistDrawable.hxx:124
ROOT::Experimental::RHist3Drawable::Box
RHist3Drawable & Box(int kind=0)
Definition: RHistDrawable.hxx:226
ROOT::Experimental::RMenuItems
List of items for object context menu.
Definition: RMenuItems.hxx:153
RAttrValue.hxx
ROOT::Experimental::RHist1Drawable::Is3D
bool Is3D() const final
Definition: RHistDrawable.hxx:163
ROOT::Experimental::RHistDrawableBase::SetAttrLine
RHistDrawableBase & SetAttrLine(const RAttrLine &attr)
Definition: RHistDrawable.hxx:117
ROOT::Experimental::RHist1Drawable::RHist1Drawable
RHist1Drawable()=default
ROOT::Experimental::RHist2Drawable::Scatter
RHist2Drawable & Scatter()
Definition: RHistDrawable.hxx:207
ROOT::Experimental::RHist2Drawable::RHist2Drawable
RHist2Drawable()=default
ROOT::Experimental::RAttrMarker::SetStyle
RAttrMarker & SetStyle(int style)
The style of the marker.
Definition: RAttrMarker.hxx:56
ROOT::Experimental::RHistDrawable::GetHist
std::shared_ptr< HistImpl_t > GetHist() const
Definition: RHistDrawable.hxx:151
ROOT::Experimental::RHistDrawableBase::Optimize
RHistDrawableBase & Optimize(bool on=true)
Definition: RHistDrawable.hxx:132
ROOT::Experimental::RDrawableRequest
Base class for requests which can be submitted from the clients.
Definition: RDrawableRequest.hxx:62
RHistImpl.hxx
ROOT::Experimental::RHist2Drawable::CreateHistDisplay
std::unique_ptr< RDisplayItem > CreateHistDisplay(const RDisplayContext &) override
Definition: RHistDrawable.cxx:136
ROOT::Experimental::RHistDrawableBase::fAttrText
RAttrText fAttrText
! hist text attributes
Definition: RHistDrawable.hxx:60
ROOT::Experimental::RHist3Drawable::Color
RHist3Drawable & Color()
Definition: RHistDrawable.hxx:225
ROOT::Experimental::RHistDrawableBase::CreateHistDisplay
virtual std::unique_ptr< RDisplayItem > CreateHistDisplay(const RDisplayContext &)=0
ROOT::Experimental::RHistDrawableBase
Definition: RHistDrawable.hxx:49
ROOT::Experimental::RHistDrawableBase::RHistDrawableBase
RHistDrawableBase()
Definition: RHistDrawable.hxx:114
RAttrFill.hxx
ROOT::Experimental::RDrawable::RDisplayContext
Definition: RDrawable.hxx:137
ROOT::Experimental::RAttrValue::Clear
void Clear()
Definition: RAttrValue.hxx:64
ROOT::Experimental::RHist3Drawable
Definition: RHistDrawable.hxx:213
ROOT::Experimental::RHist2Drawable
Definition: RHistDrawable.hxx:186
ROOT::Experimental::RHistDrawable::HistImpl_t
Detail::RHistImplPrecisionAgnosticBase< DIMENSIONS > HistImpl_t
Definition: RHistDrawable.hxx:133
ROOT::Experimental::RHist1Drawable
Definition: RHistDrawable.hxx:155
ROOT::Experimental::RHist1Drawable::Star
RHist1Drawable & Star()
Definition: RHistDrawable.hxx:175
ROOT::Experimental::RHist2Drawable::Arrow
RHist2Drawable & Arrow()
Definition: RHistDrawable.hxx:208
ROOT::Experimental::RDrawableRequest::GetContext
const RDrawable::RDisplayContext & GetContext() const
Definition: RDrawableRequest.hxx:76
ROOT::Experimental::RHistDrawableBase::fAttrFill
RAttrFill fAttrFill
! hist fill attributes
Definition: RHistDrawable.hxx:59
ROOT::Experimental::RAttrFill
Drawing fill attributes for different objects.
Definition: RAttrFill.hxx:39
ROOT::Experimental::RHistDrawableBase::GetDrawKind
std::string GetDrawKind() const
Definition: RHistDrawable.hxx:79
ROOT::Experimental::RHist2Drawable::Box
RHist2Drawable & Box(int kind=0)
Definition: RHistDrawable.hxx:202
ROOT::Experimental::RHistDrawableBase::RRequest
friend class RRequest
Definition: RHistDrawable.hxx:112
ROOT::Experimental::RHistDrawableBase::fKind
RAttrValue< std::string > fKind
! hist draw kind
Definition: RHistDrawable.hxx:56
ROOT::Experimental::RDrawable::RDisplayContext::GetDrawable
RDrawable * GetDrawable() const
Definition: RDrawable.hxx:174
ROOT::Experimental::RHist1Drawable::fBarWidth
RAttrValue< double > fBarWidth
! bar width
Definition: RHistDrawable.hxx:157
RDrawable.hxx
ROOT::Experimental::RDrawable
Base class for drawable entities: objects that can be painted on a RPad.
Definition: RDrawable.hxx:121
ROOT::Experimental::RHistDrawableBase::AttrMarker
RAttrMarker & AttrMarker()
Definition: RHistDrawable.hxx:130
ROOT::Experimental::RHist1Drawable::Line
RHist1Drawable & Line()
Definition: RHistDrawable.hxx:177
ROOT::Experimental::RHistDrawableBase::SetAttrFill
RHistDrawableBase & SetAttrFill(const RAttrFill &fill)
Definition: RHistDrawable.hxx:121
ROOT::Experimental::RHist3Drawable::Scatter
RHist3Drawable & Scatter()
Definition: RHistDrawable.hxx:228
ROOT::Experimental::RHist2Drawable::Contour
RHist2Drawable & Contour(int kind=0)
Definition: RHistDrawable.hxx:206
ROOT::Experimental::Internal::RIOSharedVector_t
std::vector< RIOSharedBase * > RIOSharedVector_t
Definition: RDrawable.hxx:64
ROOT::Experimental::RHistDrawable::~RHistDrawable
virtual ~RHistDrawable()=default
ROOT::Experimental::RHistDrawableBase::AttrText
RAttrText & AttrText()
Definition: RHistDrawable.hxx:126
ROOT::Experimental::RHistDrawableBase::AttrLine
RAttrLine & AttrLine()
Definition: RHistDrawable.hxx:118
RAttrLine.hxx
ROOT::Experimental::RHist2Drawable::Is3D
bool Is3D() const final
Definition: RHistDrawable.hxx:193
ROOT::Experimental::RHistDrawableBase::SetAttrText
RHistDrawableBase & SetAttrText(const RAttrText &attr)
Definition: RHistDrawable.hxx:125
ROOT::Experimental::RDrawable::Display
virtual std::unique_ptr< RDisplayItem > Display(const RDisplayContext &)
Creates display item for drawable By default item contains drawable data itself.
Definition: RDrawable.cxx:68
ROOT::Experimental::RHistDrawableBase::fAttrLine
RAttrLine fAttrLine
! hist line attributes
Definition: RHistDrawable.hxx:58
ROOT::Experimental::RHistDrawable::CollectShared
void CollectShared(Internal::RIOSharedVector_t &vect) override
Definition: RHistDrawable.hxx:139
ROOT::Experimental::RHistDrawableBase::GetAttrFill
const RAttrFill & GetAttrFill() const
Definition: RHistDrawable.hxx:120
ROOT::Experimental::RHist1Drawable::fBarOffset
RAttrValue< double > fBarOffset
! bar offset
Definition: RHistDrawable.hxx:156
ROOT::Experimental::RHistDrawableBase::AttrFill
RAttrFill & AttrFill()
Definition: RHistDrawable.hxx:122
ROOT::Experimental::RHist1Drawable::Lego
RHist1Drawable & Lego(int kind=0)
Definition: RHistDrawable.hxx:178
ROOT::Experimental::RHist3Drawable::Is3D
bool Is3D() const final
Definition: RHistDrawable.hxx:217
ROOT::Experimental::RHistDrawableBase::GetAttrLine
const RAttrLine & GetAttrLine() const
Definition: RHistDrawable.hxx:116
RDrawableRequest.hxx
ROOT::Experimental::RHist2Drawable::Surf
RHist2Drawable & Surf(int kind=0)
Definition: RHistDrawable.hxx:204
ROOT::Experimental::RHist1Drawable::fText
RAttrValue< bool > fText
! draw text
Definition: RHistDrawable.hxx:158
ROOT::Experimental::RHistDrawableBase::fOptimize
RAttrValue< bool > fOptimize
! optimize drawing
Definition: RHistDrawable.hxx:62
ROOT::Experimental::RHistDrawable
Definition: RHistDrawable.hxx:131
ROOT::Experimental::RHist1Drawable::Bar
RHist1Drawable & Bar()
Definition: RHistDrawable.hxx:171
ROOT::Experimental::RHistDrawableBase::Is3D
virtual bool Is3D() const
Definition: RHistDrawable.hxx:83
ROOT
VSD Structures.
Definition: StringConv.hxx:21
ROOT::Experimental::RHistDrawableBase::SetDrawKind
void SetDrawKind(const std::string &kind, int sub=-1)
Definition: RHistDrawable.hxx:70
ROOT::Experimental::RHist3Drawable::Sphere
RHist3Drawable & Sphere(int kind=0)
Definition: RHistDrawable.hxx:227
ROOT::Experimental::RHistDrawableBase::fMarkerAttr
RAttrMarker fMarkerAttr
! hist marker attributes
Definition: RHistDrawable.hxx:61
ROOT::Experimental::RHist1Drawable::Error
RHist1Drawable & Error(int kind=0)
Definition: RHistDrawable.hxx:173