692   if (
gPad->GetLogx()) {
 
  700   if (!opt && 
gPad->GetLogy()) {
 
 
  782      else                               distance = 
f->DistancetoPrimitive(px,py);
 
  784         gPad->SetSelected(
f);
 
 
  800      Error(
"DrawPanel", 
"need to draw graph first");
 
  805   gROOT->ProcessLine(
TString::Format(
"((TCanvas*)0x%zx)->Selected((TVirtualPad*)0x%zx,(TObject*)0x%zx,1)",
 
 
  831   static Int_t px1,px2,py1,py2;
 
  834   static std::vector<Int_t> 
x, 
y;
 
  841   if (!
gPad->IsEditable()) 
return;
 
  852      px1 = 
gPad->XtoAbsPixel(
gPad->GetX1());
 
  853      py1 = 
gPad->YtoAbsPixel(
gPad->GetY1());
 
  854      px2 = 
gPad->XtoAbsPixel(
gPad->GetX2());
 
  855      py2 = 
gPad->YtoAbsPixel(
gPad->GetY2());
 
  859      if (!
x.empty() || !
y.empty()) 
break;
 
  992         dxr  = 
dx/(1 - 
gPad->GetLeftMargin() - 
gPad->GetRightMargin());
 
  993         dyr  = 
dy/(1 - 
gPad->GetBottomMargin() - 
gPad->GetTopMargin());
 
 1023            if (
theGraph->InheritsFrom(
"TCutG")) {
 
 1043      if (
gROOT->IsEscaped()) {
 
 1057      dxr  = 
dx/(1 - 
gPad->GetLeftMargin() - 
gPad->GetRightMargin());
 
 1058      dyr  = 
dy/(1 - 
gPad->GetBottomMargin() - 
gPad->GetTopMargin());
 
 1078         if (
theGraph->InheritsFrom(
"TCutG")) {
 
 
 1124   if (
theGraph->IsHighlight()) 
return;
 
 
 1182   if (
gPad->GetLogx()) {
 
 1186   if (
gPad->GetLogy()) {
 
 
 1286   if (
theGraph->InheritsFrom(
"TGraphPolar"))
 
 1302      Error(
"PaintGraph", 
"illegal number of points (%d)", 
npoints);
 
 1405         if (!
theGraph->GetHistogram()) 
return;
 
 1410         theGraph->GetHistogram()->SetDirectory(
nullptr);
 
 1414         if (
gPad->GetLogy()) {
 
 1460      for (i=1;i<=
nloop;i++) {
 
 1510         for (i=1;i<=
nloop;i++) {
 
 1535         for (i=1;i<=
nloop;i++) {
 
 1598         if (
gPad->GetFrameFillColor()==1) {
 
 1626            xlow  = 
x[i-1] - 
dbar;
 
 1634            else            ylow = 
gPad->GetUymin();
 
 1650            ylow  = 
y[i-1] - 
dbar;
 
 
 1706   const char *
where = 
"PaintGrapHist";
 
 1720   Int_t first, last, nbins;
 
 1762   nbins = last - first + 1;
 
 1791      if (
gPad->GetGridx()) {
 
 1795      if (
gPad->GetLogx()) {
 
 1822      if (
gPad->GetGridy()) {
 
 1826      if (
gPad->GetLogy()) {
 
 1882         for (
j=first; 
j<=last;
j++) {
 
 1891                  if (
j != last) 
Error(
where, 
"X must be in increasing order");
 
 1892                  else           Error(
where, 
"X must have N+1 values with option N");
 
 1925         for (
j=first; 
j<=last;
j++) {
 
 1932                  if (
j != last) 
Error(
where, 
"Y must be in increasing order");
 
 1933                  else           Error(
where, 
"Y must have N+1 values with option N");
 
 1968         for (i=first; i<=last;i++) {
 
 1973               xi1 = 
x[i];      xi  = 
x[i-1];
 
 1975                  if (i != last) 
Error(
where, 
"X must be in increasing order");
 
 1976                  else           Error(
where, 
"X must have N+1 values with option N");
 
 2035         for (i=first; i<=last;i++) {
 
 2042                  if (i != last) 
Error(
where, 
"Y must be in increasing order");
 
 2043                  else           Error(
where, 
"Y must have N+1 values with option N");
 
 2074         for (i=first; i<=last;i++) {
 
 2079               xi1 = 
x[i];      xi  = 
x[i-1];
 
 2081                  if (i != last) 
Error(
where, 
"X must be in increasing order");
 
 2082                  else           Error(
where, 
"X must have N+1 values with option N");
 
 2118         for (i=first; i<=last;i++) {
 
 2125                  if (i != last) 
Error(
where, 
"Y must be in increasing order");
 
 2126                  else           Error(
where, 
"Y must have N+1 values with option N");
 
 2168         for (i=first; i<=last;i++) {
 
 2173               xi1 = 
x[i];      xi = 
x[i-1];
 
 2175                  if (i != last) 
Error(
where, 
"X must be in increasing order");
 
 2176                  else           Error(
where, 
"X must have N+1 values with option N");
 
 2221         for (i=first; i<=last;i++) {
 
 2228                  if (i != last) 
Error(
where, 
"Y must be in increasing order");
 
 2229                  else           Error(
where, 
"Y must have N+1 values with option N");
 
 2268         offset = delta*baroffset; 
dbar = delta*barwidth;
 
 2272            dbar   = (
x[1]-
x[0])*barwidth;
 
 2275            dbar   = (
y[1]-
y[0])*barwidth;
 
 2285         else            ylow = 
gPad->GetUymin();
 
 2287         for (i=first; i<=last;i++) {
 
 2301                  xi1 = 
x[i];      xi = 
x[i-1];
 
 2303                     Error(
where, 
"X must be in increasing order");
 
 2307                  dbar    = (
x[i+1]-
x[i])*barwidth;
 
 2317         else            xlow = 
gPad->GetUxmin();
 
 2318         for (i=first; i<=last;i++) {
 
 2328               ylow  = ylow  + delta;
 
 2334                     Error(
where, 
"Y must be in increasing order");
 
 2338                  dbar    = (
y[i+1]-
y[i])*barwidth;
 
 2357         for (i=first; i<=last;i++) {
 
 2359            else             xm = 
x[i-1] + 0.5*(
x[i]-
x[i-1]);
 
 2386         for (i=first; i<=last;i++) {
 
 2388            else             ym = 
y[i-1] + 0.5*(
y[i]-
y[i-1]);
 
 
 2438   static Float_t cxx[30] = {1.0,1.0,0.5,0.5,1.0,1.0,0.5,0.6,1.0,0.5,0.5,1.0,0.5,0.6,1.0,1.0,1.0,1.0,1.0,1.0,0.0,0.0,1.0,1.0,1.0,1.0,0.5,0.5,0.5,1.0};
 
 2439   static Float_t cyy[30] = {1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.5,0.5,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.0,0.0,1.0,1.0,1.0,1.0,0.5,0.5,0.5,1.0};
 
 2488         Error(
"PaintGraphAsymmErrors", 
"too many points, out of memory");
 
 2514   if (mark >= 20 && mark <= 49) {
 
 2530   Double_t x, 
y, 
exl, 
exh, 
eyl, 
eyh, 
xl1, 
xl2, 
xr1, 
xr2, 
yup1, 
yup2, 
ylow1, 
ylow2;
 
 2538            if (
x > 
gPad->GetUxmax()) 
x = 
gPad->GetUxmax();
 
 2540            if (
y > 
gPad->GetUymax()) 
y = 
gPad->GetUymax();
 
 2543            if (
x > 
gPad->GetUxmax()) 
continue;
 
 2545            if (
y > 
gPad->GetUymax()) 
continue;
 
 2618      if (
exl != 0. || 
exh != 0.) {
 
 2651      if (
eyl != 0. || 
eyh != 0.) {
 
 2694      gPad->SetLogx(logx);
 
 2695      gPad->SetLogy(logy);
 
 
 2720   std::vector<TString> options(
NYErrors + 1);
 
 2736      options[filled] = 
tsOpt.Copy();
 
 2743   std::vector<Double_t> 
xline;
 
 2750   static Float_t cxx[30] = {1.0,1.0,0.5,0.5,1.0,1.0,0.5,0.6,1.0,0.5,0.5,1.0,0.5,0.6,1.0,1.0,1.0,1.0,1.0,1.0,0.0,0.0,1.0,1.0,1.0,1.0,0.5,0.5,0.5,1.0};
 
 2751   static Float_t cyy[30] = {1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.5,0.5,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.0,0.0,1.0,1.0,1.0,1.0,0.5,0.5,0.5,1.0};
 
 2770   std::vector<Bool_t> DrawErrors(
NYErrors);
 
 2786   std::vector<Double_t> Scale(
NYErrors);
 
 2791      if (options[
j + 1].Contains(
"s=")) {
 
 2797      DrawErrors[
j] = !options[
j + 1].Contains(
"x");
 
 2803      if (options[
j + 1].Contains(
"|>"))
 
 2805      else if (options[
j + 1].Contains(
">"))
 
 2810      Option5[
j] = options[
j + 1].Contains(
"5");
 
 2811      Option4[
j] = options[
j + 1].Contains(
"4");
 
 2815      Option0[
j] = options[
j + 1].Contains(
"0");
 
 2825   options[0].ReplaceAll(
"x0", 
"");
 
 2826   options[0].ReplaceAll(
"y0", 
"");
 
 2834   if (options[0].Contains(
"|>"))
 
 2836   else if (options[0].Contains(
">"))
 
 2840   if (options[0].Contains(
"s=")) {
 
 2842      options[0].ReplaceAll(options[0](
ScaleRegExp), 
"");
 
 2850   Bool_t DrawAxis = options[0].Contains(
"a");
 
 2871      if (
xline.empty()) {
 
 2872         Error(
"PaintGraphMultiErrors", 
"too many points, out of memory");
 
 2885            Error(
"PaintGraphMultiErrors", 
"too many points, out of memory");
 
 2891   tg->TAttLine::Modify();
 
 2894   arrow.SetLineWidth(
tg->GetLineWidth());
 
 2895   arrow.SetLineColor(
tg->GetLineColor());
 
 2896   arrow.SetFillColor(
tg->GetFillColor());
 
 2900   box.SetLineWidth(
tg->GetLineWidth());
 
 2901   box.SetLineColor(
tg->GetLineColor());
 
 2902   box.SetFillColor(
tg->GetFillColor());
 
 2903   box.SetFillStyle(
tg->GetFillStyle());
 
 2911   if (mark >= 20 && mark <= 49) {
 
 2912      cx = cxx[mark - 20];
 
 2913      cy = 
cyy[mark - 20];
 
 2941               x = 
gPad->GetUxmin();
 
 2942            if (
x > 
gPad->GetUxmax())
 
 2943               x = 
gPad->GetUxmax();
 
 2945               y = 
gPad->GetUymin();
 
 2946            if (
y > 
gPad->GetUymax())
 
 2947               y = 
gPad->GetUymax();
 
 2964               box.SetLineWidth(
tg->GetLineWidth(
j));
 
 2965               box.SetLineColor(
tg->GetLineColor(
j));
 
 2966               box.SetFillColor(
tg->GetFillColor(
j));
 
 2967               box.SetFillStyle(
tg->GetFillStyle(
j));
 
 3008            tg->GetAttLine(
j)->Modify();
 
 3010            arrow.SetLineWidth(
tg->GetLineWidth(
j));
 
 3011            arrow.SetLineColor(
tg->GetLineColor(
j));
 
 3012            arrow.SetFillColor(
tg->GetFillColor(
j));
 
 3072            tg->TAttLine::Modify();
 
 3074            arrow.SetLineWidth(
tg->GetLineWidth());
 
 3075            arrow.SetLineColor(
tg->GetLineColor());
 
 3076            arrow.SetFillColor(
tg->GetFillColor());
 
 3155         gPad->SetLogx(logx);
 
 3156         gPad->SetLogy(logy);
 
 
 3173   static Float_t cxx[30] = {1.0,1.0,0.5,0.5,1.0,1.0,0.5,0.6,1.0,0.5,0.5,1.0,0.5,0.6,1.0,1.0,1.0,1.0,1.0,1.0,0.0,0.0,1.0,1.0,1.0,1.0,0.5,0.5,0.5,1.0};
 
 3174   static Float_t cyy[30] = {1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.5,0.5,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.0,0.0,1.0,1.0,1.0,1.0,0.5,0.5,0.5,1.0};
 
 3227         Error(
"PaintGraphBentErrors", 
"too many points, out of memory");
 
 3253   if (mark >= 20 && mark <= 49) {
 
 3269   Double_t x, 
y, 
exl, 
exh, 
eyl, 
eyh, 
xl1, 
xl2, 
xr1, 
xr2, 
yup1, 
yup2, 
ylow1, 
ylow2;
 
 3282            if (
x > 
gPad->GetUxmax()) 
x = 
gPad->GetUxmax();
 
 3284            if (
y > 
gPad->GetUymax()) 
y = 
gPad->GetUymax();
 
 3287            if (
x > 
gPad->GetUxmax()) 
continue;
 
 3289            if (
y > 
gPad->GetUymax()) 
continue;
 
 3377      if (
exl != 0. || 
exh != 0.) {
 
 3410      if (
eyl != 0. || 
eyh != 0.) {
 
 3454      gPad->SetLogx(logx);
 
 3455      gPad->SetLogy(logy);
 
 
 3472   static Float_t cxx[30] = {1.0,1.0,0.5,0.5,1.0,1.0,0.5,0.6,1.0,0.5,0.5,1.0,0.5,0.6,1.0,1.0,1.0,1.0,1.0,1.0,0.0,0.0,1.0,1.0,1.0,1.0,0.5,0.5,0.5,1.0};
 
 3473   static Float_t cyy[30] = {1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.5,0.5,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.0,0.0,1.0,1.0,1.0,1.0,0.5,0.5,0.5,1.0};
 
 3520         Error(
"PaintGraphErrors", 
"too many points, out of memory");
 
 3547   if (mark >= 20 && mark <= 49) {
 
 3563   Double_t x, 
y, 
ex, 
ey, 
xl1, 
xl2, 
xr1, 
xr2, 
yup1, 
yup2, 
ylow1, 
ylow2;
 
 3571            if (
x > 
gPad->GetUxmax()) 
x = 
gPad->GetUxmax();
 
 3573            if (
y > 
gPad->GetUymax()) 
y = 
gPad->GetUymax();
 
 3576            if (
x > 
gPad->GetUxmax()) 
continue;
 
 3578            if (
y > 
gPad->GetUymax()) 
continue;
 
 3718      gPad->SetLogx(logx);
 
 3719      gPad->SetLogy(logy);
 
 
 3861   if (!(
gPad->GetLogx()) && !(
gPad->GetLogy())) {
 
 3862      Double_t a, 
b, 
c=1, 
x1, 
x2, 
y1, 
y2, 
discr, 
norm1, 
norm2, 
xts, 
yts;
 
 3952   TIter next(
gPad->GetListOfPrimitives());
 
 3953   while (
auto obj = next()) {
 
 3957         if (
strcmp(title->
GetName(),
"title")) {title = 
nullptr; 
continue;}
 
 3961      if (title) 
delete title;
 
 3967   if (
ht <= 0) 
ht = 0.05;
 
 4006   ptitle->SetName(
"title");
 
 
 4035      Error(
"TGraphQQ::Paint", 
"2nd dataset or theoretical function not specified");
 
 4040      theGraphQQ->GetXaxis()->SetTitle(
"theoretical quantiles");
 
 4041      theGraphQQ->GetYaxis()->SetTitle(
"data quantiles");
 
 4058   line3.SetLineStyle(2);
 
 
 4104         theHist->GetXaxis()->SetTickLength(0.);
 
 4105         theHist->GetXaxis()->SetLabelOffset(999.);
 
 4106         theHist->GetXaxis()->SetAxisColor(
gPad->GetFrameFillColor());
 
 4109         theHist->GetYaxis()->SetTickLength(0.);
 
 4110         theHist->GetYaxis()->SetLabelOffset(999.);
 
 4111         theHist->GetYaxis()->SetAxisColor(
gPad->GetFrameFillColor());
 
 4176         theHist->GetXaxis()->SetTickLength(0.);
 
 4177         theHist->GetXaxis()->SetLabelOffset(999.);
 
 4180         if (
gPad->GetGridx()) {
 
 4181            if (
gPad->GetLogy()) {
 
 4193         if (
gPad->GetLogx()) {
 
 4224      if (
gPad->GetLogx()) {
 
 4228         for (i=0; i<
N; i++) 
rX[i] = 
dX-
X[i];
 
 4248         if (
gPad->GetGridy()) {
 
 4249            if (
gPad->GetLogx()) {
 
 4261         if (
gPad->GetLogy()) {
 
 4291      if (
gPad->GetLogy()) {
 
 4295         for (i=0; i<
N; i++) 
rY[i] = 
dY-Y[i];
 
 
 4356   for (
int i=0; i<
n; i++) {
 
 4374      if (
theX[0] == 0.) {
 
 4384      if (
theY[0] == 0.) {
 
 4450         palette->SetLabelColor(
h->GetLabelColor());
 
 4451         palette->SetLabelFont(
h->GetLabelFont());
 
 4452         palette->SetLabelOffset(
h->GetLabelOffset());
 
 4453         palette->SetLabelSize(
h->GetLabelSize());
 
 4454         palette->SetTitleOffset(
h->GetTitleOffset());
 
 4455         palette->SetTitleSize(
h->GetTitleSize());
 
 4456         palette->SetNdivisions(
h->GetNdivisions());
 
 4464   int logx = 
gPad->GetLogx();
 
 4465   int logy = 
gPad->GetLogy();
 
 4466   int logz = 
gPad->GetLogz();
 
 4475   for (
int i=0; i<
n; i++) {
 
 4504      gPad->PaintPolyMarker(1,&
x,&
y);
 
 
 4529      auto obj = 
lnk->GetObject();
 
 4534         obj->Paint(
lnk->GetOption());
 
 
 4554   std::vector<Double_t> 
xf(2*
n);
 
 4555   std::vector<Double_t> 
yf(2*
n);
 
 4556   std::vector<Double_t> 
xt(
n);
 
 4557   std::vector<Double_t> 
yt(
n);
 
 4558   Double_t x1, 
x2, 
y1, 
y2, 
x3, 
y3, 
xm, 
ym, 
a, 
a1, 
a2, 
a3;
 
 4590   for (i=1; i<
n; i++) {
 
 4591      if (
x[i]==
x[i-1] && 
y[i]==
y[i-1]) 
continue;
 
 4594      if (
xf[i]==
xf[i-1]) 
xf[i] += 0.000001; 
 
 4628   for (i=1; i<
nf; i++) {
 
 4698   for (i=
nf2; i>0; i--) {
 
 4699      for (
j=i-1; 
j>0; 
j--) {
 
 4700         if (
xt[i-1]==
xt[i] || 
xt[
j-1]==
xt[
j]) 
continue;
 
 4734   for (i=0; i<
nf+1; i++) {
 
 4740   gPad->PaintFillArea(
nf+1,
xf.data(),
yf.data());
 
 
 4755   while (
auto obj = next()) {
 
 4765   if (!
dofit) fit = 
nullptr;
 
 4776      else                nlinesf += fit->GetNpar();
 
 4793      stats->SetOptStat(0);
 
 4802      stats->SetName(
"stats");
 
 4805      stats->SetTextAlign(12);
 
 4823      for (
Int_t ipar=0;ipar<fit->GetNpar();ipar++) {
 
 4829                            ,fit->GetParError(ipar));
 
 
 4898   if (
qlx.empty() || 
qly.empty()) {
 
 4899      Error(
"Smooth", 
"not enough space in memory");
 
 4939         if ((
x[i]-
x[i-1])*(
x[i-1]-
x[i-2]) < 0) 
six++;
 
 4940         if ((
y[i]-
y[i-1])*(
y[i-1]-
y[i-2]) < 0) 
siy++;
 
 4986      if (
x[0] == 
x[1] && 
y[0] == 
y[1]) 
goto L40;
 
 5013   if (
x[k-1] == 
x[k-2] && 
y[k-1] == 
y[k-2])  
goto L50;
 
 5035   if (
x[k-1] == 
x[k] && 
y[k-1] == 
y[k]) 
goto L80;
 
 5058   dx1 = 
x[k-1]  - 
x[km-1];
 
 5059   dy1 = 
y[k-1]  - 
y[km-1];
 
 5105   if (k <= 1) 
goto L120;
 
 5200   z   = z*z/((
a*
a+
b*
b)*(delta*delta));
 
 5201   z   = (z+2.642937)*z/((.3715652*z+3.063444)*z+.2441889)-
cc;
 
 5206   if (z > err) 
goto L240;
 
 5211   if (
iw+2 == 0) 
goto L190;
 
 5233      Error(
"Smooth", 
"Attempt to plot outside plot limits");
 
 5311   if (finished > 0) 
goto L390;
 
 5312   if (finished < 0) { finished = 0; 
goto L110;}
 
 5313   if (s > 0) 
goto L180;
 
 
const Int_t kMaxPixel
Max value for an int.
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h offset
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t wmin
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
 
Option_t Option_t TPoint TPoint const char x2
 
Option_t Option_t TPoint TPoint const char x1
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void xpos
 
Option_t Option_t TPoint TPoint const char y2
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void ypos
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t wmax
 
Option_t Option_t TPoint TPoint const char y1
 
static Int_t gHighlightPoint
 
static TGraph * gHighlightGraph
 
static std::unique_ptr< TMarker > gHighlightMarker
 
R__EXTERN TStyle * gStyle
 
Draw all kinds of Arrows.
 
virtual void SetLineStyle(Style_t lstyle)
Set the line style.
 
virtual Width_t GetLineWidth() const
Return the line width.
 
virtual void SetLineColor(Color_t lcolor)
Set the line color.
 
Int_t DistancetoLine(Int_t px, Int_t py, Double_t xp1, Double_t yp1, Double_t xp2, Double_t yp2)
Compute distance from point px,py to a line.
 
static Style_t GetMarkerStyleBase(Style_t style)
Internal helper function that returns the corresponding marker style with line width 1 for the given ...
 
virtual void SetTextColor(Color_t tcolor=1)
Set the text color.
 
virtual void SetTextFont(Font_t tfont=62)
Set the text font.
 
virtual void PaintAxis(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax, Double_t &wmin, Double_t &wmax, Int_t &ndiv, Option_t *chopt="", Double_t gridlength=0, Bool_t drawGridOnly=kFALSE)
Control function to draw an axis.
 
void SetLabelOffset(Float_t labeloffset)
 
void SetTickSize(Float_t ticksize)
 
void SetLabelSize(Float_t labelsize)
 
TGraph with asymmetric error bars and multiple y error dimensions.
 
void PaintGraphPolar(TGraph *theGraph, Option_t *option)
Paint this TGraphPolar with its current attributes.
 
void PaintGraph(TGraph *theGraph, Int_t npoints, const Double_t *x, const Double_t *y, Option_t *chopt) override
Control function to draw a graph.
 
void PaintGraphErrors(TGraph *theGraph, Option_t *option)
Paint this TGraphErrors with its current attributes.
 
void PaintGraphAsymmErrors(TGraph *theGraph, Option_t *option)
Paint this TGraphAsymmErrors with its current attributes.
 
void PaintGraphMultiErrors(TGraph *theGraph, Option_t *option)
Paint this TGraphMultiErrors with its current attributes.
 
virtual void PaintHighlightPoint(TGraph *theGraph, Option_t *option)
Paint highlight point as TMarker object (open circle)
 
void PaintGraphReverse(TGraph *theGraph, Option_t *option)
Paint theGraph reverting values along X and/or Y axis. a new graph is created.
 
void PaintGrapHist(TGraph *theGraph, Int_t npoints, const Double_t *x, const Double_t *y, Option_t *chopt) override
This is a service method used by THistPainter to paint 1D histograms.
 
static Int_t fgMaxPointsPerLine
Number of points per chunks' line when drawing a graph.
 
void PaintStats(TGraph *theGraph, TF1 *fit) override
Paint the statistics box with the fit info.
 
void PaintPolyLineHatches(TGraph *theGraph, Int_t n, const Double_t *x, const Double_t *y)
Paint a polyline with hatches on one side showing an exclusion zone.
 
void DrawPanelHelper(TGraph *theGraph) override
Display a panel with all histogram drawing options.
 
char * GetObjectInfoHelper(TGraph *theGraph, Int_t px, Int_t py) const override
 
void ExecuteEventHelper(TGraph *theGraph, Int_t event, Int_t px, Int_t py) override
Execute action corresponding to one event.
 
virtual void HighlightPoint(TGraph *theGraph, Int_t hpoint, Int_t distance)
Check on highlight point.
 
void ComputeLogs(Int_t npoints, Int_t opt)
Compute the logarithm of variables gxwork and gywork according to the value of Options and put the re...
 
std::vector< Double_t > gxworkl
 
Int_t DistancetoPrimitiveHelper(TGraph *theGraph, Int_t px, Int_t py) override
Compute distance from point px,py to a graph.
 
std::vector< Double_t > gxwork
 
std::vector< Double_t > gywork
 
void PaintScatter(TScatter *theScatter, Option_t *option) override
Paint a scatter plot.
 
void Smooth(TGraph *theGraph, Int_t npoints, Double_t *x, Double_t *y, Int_t drawtype)
Smooth a curve given by N points.
 
std::vector< Double_t > gyworkl
Internal buffers for coordinates. Used for graphs painting.
 
void SetHighlight(TGraph *theGraph) override
Set highlight (enable/disable) mode for theGraph.
 
virtual Int_t GetHighlightPoint(TGraph *theGraph) const
Return the highlighted point for theGraph.
 
void PaintGraphSimple(TGraph *theGraph, Option_t *option)
Paint a simple graph, without errors bars.
 
void PaintGraphQQ(TGraph *theGraph, Option_t *option)
Paint this graphQQ. No options for the time being.
 
~TGraphPainter() override
Destructor.
 
static void SetMaxPointsPerLine(Int_t maxp=50)
Static function to set fgMaxPointsPerLine for graph painting.
 
void PaintGraphBentErrors(TGraph *theGraph, Option_t *option)
Paint this TGraphBentErrors with its current attributes.
 
TGraphPainter()
Default constructor.
 
void PaintHelper(TGraph *theGraph, Option_t *option) override
Paint a any kind of TGraph.
 
This class allows to draw quantile-quantile plots.
 
A TGraph is an object made of two arrays X and Y with npoints each.
 
@ kClipFrame
Clip to the frame boundary.
 
@ kNoStats
Don't draw stats box.
 
1-D histogram with a float per channel (see TH1 documentation)
 
@ kNoTitle
Don't draw the histogram title.
 
@ kNoStats
Don't draw stats box.
 
2-D histogram with a float per channel (see TH1 documentation)
 
To draw Mathematical Formula.
 
Use the TLine constructor to create a simple line.
 
virtual void PaintLine(Double_t x1, Double_t y1, Double_t x2, Double_t y2)
Draw this line with new coordinates.
 
Mother of all ROOT objects.
 
virtual const char * GetName() const
Returns name of object.
 
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
 
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
 
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
 
virtual const char * GetTitle() const
Returns title of object.
 
@ kCannotPick
if object in a pad cannot be picked
 
@ kCanDelete
if object in a list can be deleted
 
@ kMustCleanup
if object destructor must call RecursiveRemove()
 
The palette painting class.
 
The histogram statistics painter class.
 
A Pave (see TPave) with text, lines or/and boxes inside.
 
virtual TText * GetLine(Int_t number) const
Get Pointer to line number in this pavetext.
 
const char * GetName() const override
Returns name of object.
 
Double_t GetX1NDC() const
 
virtual void SetX2NDC(Double_t x2)
 
Regular expression class.
 
A TScatter is able to draw four variables scatter plot on a single plot.
 
void ToLower()
Change string to lower-case.
 
int CompareTo(const char *cs, ECaseCompare cmp=kExact) const
Compare a string to char *cs2.
 
const char * Data() const
 
TString & ReplaceAll(const TString &s1, const TString &s2)
 
void ToUpper()
Change string to upper case.
 
TString & Append(const char *cs)
 
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
 
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
 
Color_t GetLabelColor(Option_t *axis="X") const
Return the label color number in the axis.
 
Color_t GetStatTextColor() const
 
Float_t GetTitleX() const
 
Int_t GetOptTitle() const
 
Int_t GetNdivisions(Option_t *axis="X") const
Return number of divisions.
 
Float_t GetStatFontSize() const
 
Float_t GetBarOffset() const
 
Float_t GetLabelSize(Option_t *axis="X") const
Return label size.
 
Float_t GetTickLength(Option_t *axis="X") const
Return tick length.
 
Style_t GetLabelFont(Option_t *axis="X") const
Return label font.
 
Float_t GetTitleY() const
 
Style_t GetTitleFont(Option_t *axis="X") const
Return title font.
 
Color_t GetTitleFillColor() const
 
Style_t GetTitleStyle() const
 
Float_t GetLabelOffset(Option_t *axis="X") const
Return label offset.
 
Color_t GetStatColor() const
 
Float_t GetBarWidth() const
 
void SetDrawBorder(Int_t drawborder=1)
 
Width_t GetTitleBorderSize() const
 
Int_t GetColorPalette(Int_t i) const
Return color number i in current palette.
 
Float_t GetEndErrorSize() const
 
Int_t GetDrawBorder() const
 
Width_t GetStatBorderSize() const
 
Color_t GetTitleTextColor() const
 
Float_t GetTitleH() const
 
Style_t GetStatStyle() const
 
const char * GetFitFormat() const
 
const char * GetStatFormat() const
 
Int_t GetNumberOfColors() const
Return number of colors in the color palette.
 
Style_t GetStatFont() const
 
Float_t GetTitleFontSize() const
 
Int_t GetTitleAlign() const
 
Color_t GetAxisColor(Option_t *axis="X") const
Return the axis color number in the axis.
 
Float_t GetTitleW() const
 
Base class for several text objects.
 
Abstract base class used by ROOT graphics editor.
 
static TVirtualPadEditor * GetPadEditor(Bool_t load=kTRUE)
Returns the pad editor dialog. Static method.
 
small helper class to store/restore gPad context in TPad methods
 
void box(Int_t pat, Double_t x1, Double_t y1, Double_t x2, Double_t y2)
 
Int_t Nint(T x)
Round to nearest integer. Rounds half integers to the nearest even integer.
 
Short_t Max(Short_t a, Short_t b)
Returns the largest of a and b.
 
Double_t Prob(Double_t chi2, Int_t ndf)
Computation of the probability for a certain Chi-squared (chi2) and number of degrees of freedom (ndf...
 
Bool_t IsInside(T xp, T yp, Int_t np, T *x, T *y)
Function which returns kTRUE if point xp,yp lies inside the polygon defined by the np points in array...
 
Double_t ATan(Double_t)
Returns the principal value of the arc tangent of x, expressed in radians.
 
constexpr Double_t PiOver2()
 
Double_t Sqrt(Double_t x)
Returns the square root of x.
 
LongDouble_t Power(LongDouble_t x, LongDouble_t y)
Returns x raised to the power y.
 
Short_t Min(Short_t a, Short_t b)
Returns the smallest of a and b.
 
Double_t Cos(Double_t)
Returns the cosine of an angle of x radians.
 
Double_t Sin(Double_t)
Returns the sine of an angle of x radians.
 
Double_t Log10(Double_t x)
Returns the common (base-10) logarithm of x.
 
Short_t Abs(Short_t d)
Returns the absolute value of parameter Short_t d.