3264      return fPie->DistancetoPrimitive(px, py);
 
 3378   if (
gPad->IsVertical()) {
 
 3434      if (
f->InheritsFrom(
TF1::Class())) dist = 
f->DistancetoPrimitive(-px,py);
 
 3435      else                               dist = 
f->DistancetoPrimitive(px,py);
 
 
 3449      Error(
"DrawPanel", 
"need to draw histogram first");
 
 3454   gROOT->ProcessLine(
TString::Format(
"((TCanvas*)0x%zx)->Selected((TVirtualPad*)0x%zx,(TObject*)0x%zx,1)",
 
 3455                           (
size_t)
gPad->GetCanvas(), (
size_t)
gPad, (
size_t)
fH).Data());
 
 
 3470   static std::unique_ptr<TBox> 
zoombox;
 
 3477   if (!
gPad->IsEditable()) 
return;
 
 3480      fPie->ExecuteEvent(event, px, py);
 
 3498   if (IsSame.
Index(
"same")>=0) {
 
 3500      TIter next(
gPad->GetListOfPrimitives());
 
 3501      while ((
h1 = (
TH1 *)next())) {
 
 3519      fH->TAttLine::Modify();
 
 3528         if (
gPad->GetLogx()) {
 
 3532         if (
gPad->GetLogy()) {
 
 3536         if (
zoombox) 
Error(
"ExecuteEvent", 
"Last zoom box was not deleted");
 
 3562         x        = 
gPad->AbsPixeltoX(px);
 
 3567         ylow     = 
gPad->GetUymin();
 
 3568         px1      = 
gPad->XtoAbsPixel(xlow);
 
 3569         px2      = 
gPad->XtoAbsPixel(xup);
 
 3570         py1      = 
gPad->YtoAbsPixel(ylow);
 
 3581         if (
gROOT->GetEditHistograms()) {
 
 3654         if (
gROOT->GetEditHistograms()) {
 
 3691         event = 
gVirtualX->RequestLocator(1, 1, px, py);
 
 
 3715   if (!
dt && !
dtOld) 
return nullptr;
 
 3720      ((
THistPainter*)
this)->fGraph2DPainter = 
dt ? std::make_unique<TGraph2DPainter>(
dt) : std::make_unique<TGraph2DPainter>(
dtOld);
 
 
 3732   if (!
gPad) 
return (
char*)
"";
 
 3756   if (
gPad->IsVertical()) {
 
 3760         TIter next(
gPad->GetListOfPrimitives());
 
 3761         while ((
h1 = (
TH1 *)next())) {
 
 3788         TIter next(
gPad->GetListOfPrimitives());
 
 3789         while ((
h1 = (
TH1 *)next())) {
 
 3836         fObjectInfo.
Form(
"(x=%g, y=%g, binx=%d, biny=%d, binc=%g, bine=%g, binn=%d)",
 
 
 3918   if (
gPad->GetLogx()) {
 
 3922   if (
gPad->GetLogy()) {
 
 3929   if (
gPad->IsVertical()) {
 
 3943   if (
gPad->IsVertical()) {
 
 
 4138      Warning(
"MakeChopt",
"option SCAT is deprecated.");
 
 4406         Warning(
"MakeChopt",
"option SURF5 is not supported in Cartesian and Polar modes");
 
 
 4428   if (!left) 
return 0;
 
 4430   if (!right) 
return 0;
 
 4432   if (
nch < 2) 
return 0;
 
 4433   char *cuts = left+1;
 
 4442      while (*cuts == 
' ') cuts++;
 
 4444      while (cuts[nc-1] == 
' ') {cuts[nc-1] = 0; nc--;}
 
 4448      while ((obj = next())) {
 
 4463   for (i=0;i<=
nch;i++) left[i] = 
' ';
 
 
 4491      gROOT->ProcessLineFast(
TString::Format(
"TSpectrum2Painter::PaintSpectrum((TH2F*)0x%zx,\"%s\",%d)",
 
 4504            fPie = std::make_unique<TPie>(
fH);
 
 4507         Error(
"Paint", 
"Option PIE is for 1D histograms only");
 
 4578   gPad->RangeAxisChanged(); 
 
 4596         if (gridx) 
gPad->SetGridx(0);
 
 4597         if (gridy) 
gPad->SetGridy(0);
 
 4599         if (gridx) 
gPad->SetGridx(1);
 
 4600         if (gridy) 
gPad->SetGridy(1);
 
 4635   if (gridx) 
gPad->SetGridx(0);
 
 4636   if (gridy) 
gPad->SetGridy(0);
 
 4638   if (gridx) 
gPad->SetGridx(1);
 
 4639   if (gridy) 
gPad->SetGridy(1);
 
 4648      while ((obj = next())) {
 
 4656      if (!
gPad->PadInSelectionMode() && !
gPad->PadInHighlightMode())
 
 
 4683   arrow->SetAngle(30);
 
 4684   arrow->SetFillStyle(1001);
 
 4704   for (
Int_t id=1;
id<=2;
id++) {
 
 4729            } 
else if (
id == 2) {
 
 
 4783         TIter next(
gPad->GetListOfPrimitives());
 
 4786         while ((obj = next())) {
 
 4792            if (
strstr(opt,
"hbar")) {
 
 4806   static char chopt[10] = 
"";
 
 4826      TIter next(
gPad->GetListOfPrimitives());
 
 4827      while ((obj=next())) {
 
 4838   if (
gPad->PadInSelectionMode())
 
 4842   if (
gPad->PadInSelectionMode() || !
gPad->PadInHighlightMode() || (
gPad->PadInHighlightMode() && 
gPad->GetSelected() == 
fXaxis)) {
 
 4855      if (
gPad->GetGridx()) {
 
 4922      if (
gPad->GetTickx() && !
gPad->PadInSelectionMode() && !
gPad->PadInHighlightMode()) {
 
 4940   if (
gPad->PadInSelectionMode())
 
 4944   if (
gPad->PadInSelectionMode() || !
gPad->PadInHighlightMode() || (
gPad->PadInHighlightMode() && 
gPad->GetSelected() == 
fYaxis)) {
 
 4951      if (
gPad->GetGridy()) {
 
 5018      if (
gPad->GetTicky() && !
gPad->PadInSelectionMode() && !
gPad->PadInHighlightMode()) {
 
 5019         if (
gPad->GetTicky() < 2) {
 
 
 5155      while ((obj = next())) {
 
 
 5176   fH->TAttLine::Modify();
 
 5177   fH->TAttFill::Modify();
 
 5179   Double_t z, 
xk,
xstep, 
yk, 
ystep, 
xcent, 
ycent, xlow, xup, ylow, yup;
 
 5196      TIter next(
gPad->GetListOfPrimitives());
 
 5197      while ((h2 = (
TH2 *)next())) {
 
 5198         if (!h2->InheritsFrom(
TH2::Class())) 
continue;
 
 5266         if (
dz == 0) 
continue;
 
 5268         if (
zratio == 0) 
continue;
 
 5295         if (xlow >= xup) 
continue;
 
 5296         if (ylow >= yup) 
continue;
 
 5300            fH->TAttFill::Modify();
 
 5301            gPad->PaintBox(xlow, ylow, xup, yup);
 
 5303               gPad->PaintLine(xlow, ylow, xup, yup);
 
 5304               gPad->PaintLine(xlow, yup, xup, ylow);
 
 5309            fH->TAttFill::Modify();
 
 5310            gPad->PaintBox(xlow, ylow, xup, yup);
 
 5315            x[0] = xlow;                     
y[0] = ylow;
 
 5316            x[1] = xlow + 
bwidth*(xup-xlow); 
y[1] = ylow + 
bwidth*(yup-ylow);
 
 5317            x[2] = 
x[1];                     
y[2] = yup - 
bwidth*(yup-ylow);
 
 5318            x[3] = xup - 
bwidth*(xup-xlow);  
y[3] = 
y[2];
 
 5319            x[4] = xup;                      
y[4] = yup;
 
 5320            x[5] = xlow;                     
y[5] = yup;
 
 5321            x[6] = xlow;                     
y[6] = ylow;
 
 5324            fH->TAttFill::Modify();
 
 5325            gPad->PaintFillArea(7, 
x, 
y);
 
 5328            x[0] = xlow;                     
y[0] = ylow;
 
 5329            x[1] = xlow + 
bwidth*(xup-xlow); 
y[1] = ylow + 
bwidth*(yup-ylow);
 
 5330            x[2] = xup - 
bwidth*(xup-xlow);  
y[2] = 
y[1];
 
 5331            x[3] = 
x[2];                     
y[3] = yup - 
bwidth*(yup-ylow);
 
 5332            x[4] = xup;                      
y[4] = yup;
 
 5333            x[5] = xup;                      
y[5] = ylow;
 
 5334            x[6] = xlow;                     
y[6] = ylow;
 
 5337            fH->TAttFill::Modify();
 
 5338            gPad->PaintFillArea(7, 
x, 
y);
 
 5346   fH->TAttFill::Modify();
 
 
 5382            hproj = h2->ProjectionY(
"_px", i, i);
 
 5388         hproj = h2->ProjectionY(
"_px", i, i);
 
 5389         if (
hproj->GetEntries() != 0) {
 
 5419            hproj = h2->ProjectionX(
"_py", i, i);
 
 5425         hproj = h2->ProjectionX(
"_py", i, i);
 
 5426         if (
hproj->GetEntries() != 0) {
 
 
 5472std::vector<THistRenderingRegion>
 
 5475   std::vector<THistRenderingRegion> 
regions;
 
 5521                                           std::make_pair(bin, bin+1)};
 
 5536               std::make_pair(binLow, binHigh)};
 
 5556               std::make_pair(bin, bin+1)};
 
 5566                                            std::make_pair(binLow, binHigh)};
 
 
 5582     Error(
"THistPainter::PaintColorLevelsFast(Option_t*)",
 
 5583           "Only cartesian coordinates supported by 'COL2' option. Using 'COL' option instead.");
 
 5596   if ((zmin == -1111) && (zmax == -1111)) {
 
 5600   } 
else if (zmin == -1111) {
 
 5603   } 
else if (zmax == -1111) {
 
 5621         Error(
"THistPainter::PaintColorLevelsFast(Option_t*)",
 
 5622               "Cannot plot logz because bin content is less than 0.");
 
 5634   std::vector<Double_t> 
contours(ndiv, 0);
 
 5642   for (
Int_t i=0; i<ndiv; ++i) {
 
 5659      Error(
"THistPainter::PaintColorLevelFast(Option_t*)",
 
 5660            "Encountered error while computing rendering regions.");
 
 5683       if (z > zmax) z = zmax;
 
 5684       if (z < zmin) z = zmin;
 
 5693             index = 0.001 + ((z - zmin)/
dz)*ndiv;
 
 5740         buffer[buffer.size()-
nXPixels] = 0.95;
 
 
 5785      TIter next(
gPad->GetListOfPrimitives());
 
 5786      while ((h2 = (
TH2 *)next())) {
 
 5787         if (!h2->InheritsFrom(
TH2::Class())) 
continue;
 
 5788         zmin = h2->GetMinimum();
 
 5789         zmax = h2->GetMaximum();
 
 5818   fH->TAttFill::Modify();
 
 5881            if (xlow > 
gPad->GetUxmax()) 
continue;
 
 5882            if (ylow > 
gPad->GetUymax()) 
continue;
 
 5885            if (xup  > 
gPad->GetUxmax()) xup  = 
gPad->GetUxmax();
 
 5886            if (yup  > 
gPad->GetUymax()) yup  = 
gPad->GetUymax();
 
 5891            if (z < 
zc) 
continue;
 
 5893            for (
Int_t k=0; k<ndiv; k++) {
 
 5908         fH->TAttFill::Modify();
 
 5910            gPad->PaintBox(xlow, ylow, xup, yup);
 
 5926   fH->TAttFill::Modify();
 
 
 5936   Int_t i, 
j, count, 
ncontour, 
icol, 
n, 
lj, 
m, 
ix, 
jx, 
ljfill;
 
 5946      gPad->SetTheta(90.);
 
 5960      TIter next(
gPad->GetListOfPrimitives());
 
 5961      while ((obj=next())) {
 
 6001      Warning(
"PaintContour", 
"maximum number of contours is %d, asked for %d",
 
 6012      fH->TAttLine::Modify();
 
 6015   std::vector<std::unique_ptr<TPolyLine>> 
polys;
 
 6017   TList *list = 
nullptr;
 
 6019   std::vector<Int_t> 
np;
 
 6025         polys.emplace_back(std::make_unique<TPolyLine>(100));
 
 6031            for (i=0;i<count;i++) {
 
 6033               if (list) list->Delete();
 
 6076         if (
ir[0] != 
ir[1] || 
ir[1] != 
ir[2] || 
ir[2] != 
ir[3] || 
ir[3] != 
ir[0]) {
 
 6081            if (
zc[0] <= 
zc[1]) 
n = 0; 
else n = 1;
 
 6082            if (
zc[2] <= 
zc[3]) 
m = 2; 
else m = 3;
 
 6094            if (
zc[0] <= 
zc[1]) 
n = 0; 
else n = 1;
 
 6095            if (
zc[2] <= 
zc[3]) 
m = 2; 
else m = 3;
 
 6125                  if (count > 100) 
break;
 
 6130            if (count > 100) 
continue;
 
 6143                  fH->TAttLine::Modify();
 
 6161   std::vector<Double_t> 
xp, 
yp;
 
 6222            if (
nadd == 0) 
break;
 
 6227         fH->TAttFill::Modify();
 
 
 6321   if (
gPad->PadInHighlightMode() && 
gPad->GetSelected() != 
fH) 
return;
 
 6338   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};
 
 6339   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};
 
 6375   fH->TAttLine::Modify();
 
 6376   fH->TAttFill::Modify();
 
 6377   fH->TAttMarker::Modify();
 
 6395         Error(
"PaintErrors", 
"too many points, out of memory");
 
 6425   for (k=first; k<=last; k++) {
 
 6449         if (
xp <= 0) 
goto L30;
 
 6602         for (i=1; i<
if1; i++) {
 
 6610      gPad->SetLogx(logx);
 
 6611      gPad->SetLogy(logy);
 
 
 6621   fH->TAttMarker::Modify();
 
 6622   fH->TAttLine::Modify();
 
 6631   fLego = std::make_unique<TPainter3dAlgorithms>(
fXbuf.data(), 
fYbuf.data());
 
 6634      Error(
"Paint2DErrors", 
"no TView in current pad");
 
 6644   fLego->SetFillStyle(
gPad->GetFrameFillStyle());
 
 6645   fLego->SetFillColor(
gPad->GetFrameFillColor());
 
 6646   fLego->TAttFill::Modify();
 
 6652   fLego->TAttFill::Modify();
 
 6656      fLego->InitMoveScreen(-1.1,1.1);
 
 6761      fLego->InitMoveScreen(-1.1,1.1);
 
 6763      fLego->FrontBox(90);
 
 
 6788      if (frame) 
gPad->GetListOfPrimitives()->Remove(frame);
 
 6794   if (!
gPad->PadInSelectionMode() && !
gPad->PadInHighlightMode())
 
 
 6806      auto obj = 
lnk->GetObject();
 
 6815               f2->
Paint(
"surf same");
 
 6817               obj->Paint(
"cont3 same");
 
 6820      } 
else if (obj->InheritsFrom(
TF1::Class())) {
 
 6824         gPad->PushSelectableObject(obj);
 
 6828         if (!
gPad->PadInHighlightMode() || (
gPad->PadInHighlightMode() && obj == 
gPad->GetSelected()))
 
 6829            obj->Paint(
lnk->GetOption());
 
 
 6843   if (
gPad->PadInHighlightMode() && 
gPad->GetSelected() != 
fH)
 
 6868   nbins = last - first + 1;
 
 6874   else        keepx.resize(nbins+1);
 
 6875   keepy.resize(nbins);
 
 6881   for (
j=first; 
j<=last;
j++) {
 
 
 7021      cmd.Form(
"TPolyMarker3D::PaintH3((TH1 *)0x%zx,\"%s\");",(
size_t)
fH,
option);
 
 7022      gROOT->ProcessLine(cmd.Data());
 
 7066   while (
auto obj = next()) {
 
 
 7089   static const char *
where = 
"PaintInit";
 
 7110         Error(
where, 
"cannot set X axis to log scale");
 
 7117            TIter next(
gPad->GetListOfPrimitives());
 
 7118            while ((obj = (
TObject *)next())) {
 
 7129               Error(
where, 
"undefined user's coordinates. Cannot use option SAME");
 
 7133            for (i=first; i<=last; i++) {
 
 7145               Error(
where, 
"cannot set X axis to log scale");
 
 7171   for (i=first; i<=last;i++) {
 
 7232      Error(
where, 
"log scale requested with a negative argument (%f)", 
xm);
 
 7253         } 
else if (
ymin < 0) {
 
 7273   if (allchan) factor /= allchan;
 
 7274   if (factor == 0) factor = 1;
 
 7292         Error(
where, 
"Cannot set Y axis to log scale");
 
 
 7338   static const char *
where = 
"PaintInitH";
 
 7363         Error(
where, 
"cannot set Y axis to log scale");
 
 7385   for (i=first; i<=last;i++) {
 
 7422      Error(
where, 
"log scale requested with zero or negative argument (%f)", 
xm);
 
 7438         } 
else if (
xmin < 0) {
 
 7452   if (allchan) factor /= allchan;
 
 7453   if (factor == 0) factor = 1;
 
 7464         Error(
where, 
"Cannot set Y axis to log scale");
 
 
 7503   Double_t wxyz[8][3] = { {-1,-1,-1}, {1,-1,-1}, {1,1,-1}, {-1,1,-1},
 
 7504                           {-1,-1, 1}, {1,-1, 1}, {1,1, 1}, {-1,1, 1} };
 
 7506                         {0,1,5,4}, {1,2,6,5}, {2,3,7,6}, {3,0,4,7} };
 
 7520   fLego = std::make_unique<TPainter3dAlgorithms>(
fXbuf.data(), 
fYbuf.data());
 
 7525      Error(
"PaintH3", 
"no TView in current pad");
 
 7538   fLego->InitMoveScreen(-1.1,1.1);
 
 7567   fH->TAttFill::Modify();
 
 7568   fH->TAttLine::Modify();
 
 7594            if (
w < 
wmin) 
continue;
 
 7597            if (
scale == 0) 
continue;
 
 7598            for (
Int_t i=0; i<3; ++i) {
 
 7601               for (
Int_t k=0; k<8; ++k) { 
 
 7605            for (
Int_t k=0; k<8; ++k) { 
 
 7609            for (
Int_t k=0; k<6; ++k) {
 
 7610               for (
Int_t i=0; i<4; ++i) {
 
 7615               x[4] = 
x[0] ; 
y[4] = 
y[0];
 
 7617                  x[5] = 
x[2] ; 
y[5] = 
y[2];
 
 7618                  x[6] = 
x[3] ; 
y[6] = 
y[3];
 
 7619                  x[7] = 
x[1] ; 
y[7] = 
y[1];
 
 7625               if (z <= 0.) 
continue;
 
 7630                  if (k == 3 || k == 5) {
 
 7632                  } 
else if (k == 0 || k == 1) {
 
 7638               fH->TAttFill::Modify();
 
 7639               gPad->PaintFillArea(4, 
x, 
y);
 
 7669   while (
auto obj = next()) {
 
 7685   fH->TAttFill::Modify();
 
 
 7695      {-1,-1,-1}, {1,-1,-1}, {1,1,-1}, {-1,1,-1}, 
 
 7696      {-1,-1, 1}, {1,-1, 1}, {1,1, 1}, {-1,1, 1}  
 
 7699      {0,3,2,1}, {4,5,6,7},                       
 
 7700      {0,1,5,4}, {1,2,6,5}, {2,3,7,6}, {3,0,4,7}  
 
 7704      {0,-1,0}, {1,0,0}, {0,1,0}, {-1,0,0}        
 
 7719   fLego = std::make_unique<TPainter3dAlgorithms>(
fXbuf.data(), 
fYbuf.data());
 
 7724      Error(
"PaintH3", 
"no TView in current pad");
 
 7738      fLego->InitMoveScreen(-1.1,1.1);
 
 7743   fLego->InitRaster(-1.1,-1.1,1.1,1.1,1000,800);
 
 7759   fH->TAttLine::Modify();
 
 7783            if (
w < 
wmin) 
continue;
 
 7786            if (
scale == 0) 
continue;
 
 7787            for (
Int_t i=0; i<3; ++i) {
 
 7790               for (
Int_t k=0; k<8; ++k) { 
 
 7794            for (
Int_t k=0; k<8; ++k) { 
 
 7797            for (
Int_t k=0; k<6; ++k) { 
 
 7799               view->
FindNormal(normal[k][0], normal[k][1], normal[k][2], 
zn);
 
 7800               if (
zn <= 0) 
continue;
 
 7801               for (
Int_t i=0; i<4; ++i) {
 
 7806               for (
Int_t i=0; i<4; ++i) {
 
 7808                  Int_t i2 = (i == 3) ? 0 : i + 1;
 
 7814                  for (
Int_t it = 0; it < 
nt; ++it) {
 
 7819                     gPad->PaintPolyLine(2, 
x, 
y);
 
 7830                  for (
Int_t it = 0; it < 
nt; ++it) {
 
 7835                     gPad->PaintPolyLine(2, 
x, 
y);
 
 7842                  for (
Int_t it = 0; it < 
nt; ++it) {
 
 7847                     gPad->PaintPolyLine(2, 
x, 
y);
 
 7850               fLego->FillPolygonBorder(4, &pp[0][0]); 
 
 7875   while (
auto obj = next()) {
 
 
 7917   std::vector<Double_t> 
x(
nx);
 
 7918   std::vector<Double_t> 
y(
ny);
 
 7919   std::vector<Double_t> z(
nz);
 
 7921   for (i=0; i<
nx; i++) 
x[i] = 
xaxis->GetBinCenter(i+1);
 
 7922   for (i=0; i<
ny; i++) 
y[i] = 
yaxis->GetBinCenter(i+1);
 
 7923   for (i=0; i<
nz; i++) z[i] = 
zaxis->GetBinCenter(i+1);
 
 7937   fLego = std::make_unique<TPainter3dAlgorithms>(
fXbuf.data(), 
fYbuf.data());
 
 7941      Error(
"PaintH3Iso", 
"no TView in current pad");
 
 7968   fLego->InitMoveScreen(-1.1,1.1);
 
 7983   fLego->IsoSurface(1, s, 
nx, 
ny, 
nz, 
x.data(), 
y.data(), z.data(), 
"BF");
 
 7986      fLego->InitMoveScreen(-1.1,1.1);
 
 7988      fLego->FrontBox(90);
 
 8000   while (
auto obj = next()) {
 
 
 8110         fLego->SetEdgeAtt(
hid->GetLineColor(),
hid->GetLineStyle(),
hid->GetLineWidth(),
id);
 
 8136      Error(
"PaintLego", 
"no TView in current pad");
 
 8149   fLego->SetFillStyle(
gPad->GetFrameFillStyle());
 
 8150   fLego->SetFillColor(
gPad->GetFrameFillColor());
 
 8151   fLego->TAttFill::Modify();
 
 8159   fLego->TAttFill::Modify();
 
 8163   if (
raster) 
fLego->InitRaster(-1.1,-1.1,1.1,1.1,1000,800);
 
 8164   else        fLego->InitMoveScreen(-1.1,1.1);
 
 8218      fLego->InitMoveScreen(-1.1,1.1);
 
 
 8249      Error(
"PaintLegoAxis", 
"no TView in current pad");
 
 8275   for (i = 1; i <= 8; ++i) {
 
 8276      r[i*3 - 3] = 
av[i*3 - 3] + 
av[i*3 - 2]*
cosa;
 
 8277      r[i*3 - 2] = 
av[i*3 - 2]*
sina;
 
 8278      r[i*3 - 1] = 
av[i*3 - 1];
 
 8409      if (
ztit.Index(
";")>0) {
 
 
 8463   fH->TAttMarker::Modify();
 
 8471   if (zmin == 0 && zmax == 0) 
return;
 
 8482      if (zmin == 0 && zmax == 0) 
return;
 
 8489      if (
dz >= 
kNMAX || zmax < 1) {
 
 8498         if (zmin >= 0) zmin = 0;
 
 8499         else           zmin -= 
yMARGIN*(zmax-zmin);
 
 8502         if (zmin >= 0 && (zmin-
dzmin <= 0)) zmin  = 0;
 
 8530         if (z < zmin) z = zmin;
 
 8531         if (z > zmax) z = zmax;
 
 8537         if (z <= 0) 
continue;
 
 8541            for (
Int_t loop=0; loop<k; loop++) {
 
 8542               if (k+marker >= 
kNMAX) {
 
 8556               if (
fXbuf[marker] < 
gPad->GetUxmin()) 
break;
 
 8557               if (
fYbuf[marker] < 
gPad->GetUymin()) 
break;
 
 8558               if (
fXbuf[marker] > 
gPad->GetUxmax()) 
break;
 
 8559               if (
fYbuf[marker] > 
gPad->GetUymax()) 
break;
 
 8565   if (marker > 0) 
gPad->PaintPolyMarker(marker, 
fXbuf.data(), 
fYbuf.data());
 
 
 8620   while (
auto obj = next()) {
 
 8633   if (!
dofit) fit = 
nullptr;
 
 8655      else                nlinesf += fit->GetNpar();
 
 8692      stats->SetName(
"stats");
 
 8695      stats->SetTextAlign(12);
 
 8711                                                  ,
"%",
stats->GetStatFormat());
 
 8721                                                      ,
"%",
stats->GetStatFormat());
 
 8733                                                  ,
"%",
stats->GetStatFormat());
 
 8743                                                     ,
"%",
stats->GetStatFormat());
 
 8775                                                     ,
"%",
stats->GetStatFormat());
 
 8786                                                     ,
"%",
stats->GetStatFormat());
 
 8795      tf.Form(
"#chi^{2} / ndf = %s%s / %d",
"%",
stats->GetFitFormat(),
ndf);
 
 8796      tt.Form(
tf.Data(),fit->GetChisquare());
 
 8799         tf.Form(
"Prob  = %s%s",
"%",
stats->GetFitFormat());
 
 8805         for (
Int_t ipar=0;ipar<fit->GetNpar();ipar++) {
 
 8809               tf.Form(
"%-8s = %s%s #pm %s ", fit->GetParName(ipar), 
"%",
stats->GetFitFormat(),
 
 8810                       GetBestFormat(fit->GetParameter(ipar), fit->GetParError(ipar), 
stats->GetFitFormat()));
 
 8811               tt.Form(
tf.Data(),fit->GetParameter(ipar)
 
 8812                               ,fit->GetParError(ipar));
 
 8814               tf.Form(
"%-8s = %s%s ",fit->GetParName(ipar), 
"%",
stats->GetFitFormat());
 
 8815               tt.Form(
tf.Data(),fit->GetParameter(ipar));
 
 
 8839   while (
auto obj = next()) {
 
 8894      stats->SetName(
"stats");
 
 8897      stats->SetTextAlign(12);
 
 8915         tt.Form(
tf.Data(),h2->GetMean(1));
 
 8918         tt.Form(
tf.Data(),h2->GetMean(2));
 
 8922                                                   ,
"%",
stats->GetStatFormat());
 
 8923         tt.Form(
tf.Data(),h2->GetMean(1),h2->GetMeanError(1));
 
 8926                                                   ,
"%",
stats->GetStatFormat());
 
 8927         tt.Form(
tf.Data(),h2->GetMean(2),h2->GetMeanError(2));
 
 8934         tt.Form(
tf.Data(),h2->GetStdDev(1));
 
 8937         tt.Form(
tf.Data(),h2->GetStdDev(2));
 
 8941                                                  ,
"%",
stats->GetStatFormat());
 
 8942         tt.Form(
tf.Data(),h2->GetStdDev(1),h2->GetStdDevError(1));
 
 8945                                                  ,
"%",
stats->GetStatFormat());
 
 8946         tt.Form(
tf.Data(),h2->GetStdDev(2),h2->GetStdDevError(2));
 
 8958         tt.Form(
tf.Data(),h2->GetSkewness(1));
 
 8961         tt.Form(
tf.Data(),h2->GetSkewness(2));
 
 8965                                                       ,
"%",
stats->GetStatFormat());
 
 8966         tt.Form(
tf.Data(),h2->GetSkewness(1),h2->GetSkewness(11));
 
 8969                                                       ,
"%",
stats->GetStatFormat());
 
 8970         tt.Form(
tf.Data(),h2->GetSkewness(2),h2->GetSkewness(12));
 
 8977         tt.Form(
tf.Data(),h2->GetKurtosis(1));
 
 8980         tt.Form(
tf.Data(),h2->GetKurtosis(2));
 
 8984                                                       ,
"%",
stats->GetStatFormat());
 
 8985         tt.Form(
tf.Data(),h2->GetKurtosis(1),h2->GetKurtosis(11));
 
 8988                                                       ,
"%",
stats->GetStatFormat());
 
 8989         tt.Form(
tf.Data(),h2->GetKurtosis(2),h2->GetKurtosis(12));
 
 8999      Int_t firstX = std::max(1, h2->GetXaxis()->GetFirst());
 
 9000      Int_t firstY = std::max(1, h2->GetYaxis()->GetFirst());
 
 9001      Int_t lastX  = std::min(h2->GetXaxis()->GetLast(), h2->GetXaxis()->GetNbins());
 
 9002      Int_t lastY  = std::min(h2->GetYaxis()->GetLast(), h2->GetYaxis()->GetNbins());
 
 9025      tt.Form(
"#chi^{2} / ndf = %6.4g / %d",fit->GetChisquare(),
ndf);
 
 9027      for (
Int_t ipar=0;ipar<fit->GetNpar();ipar++) {
 
 9028         tt.Form(
"%-8s = %5.4g #pm %5.4g ",fit->GetParName(ipar)
 
 9029                                   ,fit->GetParameter(ipar)
 
 9030                                   ,fit->GetParError(ipar));
 
 
 9052   while (
auto obj = next()) {
 
 9107      stats->SetName(
"stats");
 
 9110      stats->SetTextAlign(12);
 
 9126         tt.Form(
tf.Data(),h3->GetMean(1));
 
 9129         tt.Form(
tf.Data(),h3->GetMean(2));
 
 9132         tt.Form(
tf.Data(),h3->GetMean(3));
 
 9136                                                   ,
"%",
stats->GetStatFormat());
 
 9137         tt.Form(
tf.Data(),h3->GetMean(1),h3->GetMeanError(1));
 
 9140                                                   ,
"%",
stats->GetStatFormat());
 
 9141         tt.Form(
tf.Data(),h3->GetMean(2),h3->GetMeanError(2));
 
 9144                                                   ,
"%",
stats->GetStatFormat());
 
 9145         tt.Form(
tf.Data(),h3->GetMean(3),h3->GetMeanError(3));
 
 9152         tt.Form(
tf.Data(),h3->GetStdDev(1));
 
 9155         tt.Form(
tf.Data(),h3->GetStdDev(2));
 
 9158         tt.Form(
tf.Data(),h3->GetStdDev(3));
 
 9162                                                  ,
"%",
stats->GetStatFormat());
 
 9163         tt.Form(
tf.Data(),h3->GetStdDev(1),h3->GetStdDevError(1));
 
 9166                                                  ,
"%",
stats->GetStatFormat());
 
 9167         tt.Form(
tf.Data(),h3->GetStdDev(2),h3->GetStdDevError(2));
 
 9170                                                  ,
"%",
stats->GetStatFormat());
 
 9171         tt.Form(
tf.Data(),h3->GetStdDev(3),h3->GetStdDevError(3));
 
 9182         tt.Form(
tf.Data(),h3->GetSkewness(1));
 
 9185         tt.Form(
tf.Data(),h3->GetSkewness(2));
 
 9188         tt.Form(
tf.Data(),h3->GetSkewness(3));
 
 9192                                                       ,
"%",
stats->GetStatFormat());
 
 9193         tt.Form(
tf.Data(),h3->GetSkewness(1),h3->GetSkewness(11));
 
 9196                                                       ,
"%",
stats->GetStatFormat());
 
 9197         tt.Form(
tf.Data(),h3->GetSkewness(2),h3->GetSkewness(12));
 
 9200                                                       ,
"%",
stats->GetStatFormat());
 
 9201         tt.Form(
tf.Data(),h3->GetSkewness(3),h3->GetSkewness(13));
 
 9208         tt.Form(
tf.Data(),h3->GetKurtosis(1));
 
 9211         tt.Form(
tf.Data(),h3->GetKurtosis(2));
 
 9214         tt.Form(
tf.Data(),h3->GetKurtosis(3));
 
 9218                                                       ,
"%",
stats->GetStatFormat());
 
 9219         tt.Form(
tf.Data(),h3->GetKurtosis(1),h3->GetKurtosis(11));
 
 9222                                                       ,
"%",
stats->GetStatFormat());
 
 9223         tt.Form(
tf.Data(),h3->GetKurtosis(2),h3->GetKurtosis(12));
 
 9226                                                       ,
"%",
stats->GetStatFormat());
 
 9227         tt.Form(
tf.Data(),h3->GetKurtosis(3),h3->GetKurtosis(13));
 
 9239      tt.Form(
"#chi^{2} / ndf = %6.4g / %d",fit->GetChisquare(),
ndf);
 
 9241      for (
Int_t ipar=0;ipar<fit->GetNpar();ipar++) {
 
 9242         tt.Form(
"%-8s = %5.4g #pm %5.4g ",fit->GetParName(ipar)
 
 9243                                   ,fit->GetParameter(ipar)
 
 9244                                   ,fit->GetParError(ipar));
 
 
 9346      Error(
"PaintSurface", 
"no TView in current pad");
 
 9357      fLego->SetFillStyle(0);
 
 9358      fLego->SetFillColor(1);
 
 9360      fLego->SetFillStyle(
gPad->GetFrameFillStyle());
 
 9361      fLego->SetFillColor(
gPad->GetFrameFillColor());
 
 9363   fLego->TAttFill::Modify();
 
 9371   fLego->TAttFill::Modify();
 
 9391   if (
raster) 
fLego->InitRaster(-1.1,-1.1,1.1,1.1,1000,800);
 
 9392   else        fLego->InitMoveScreen(-1.1,1.1);
 
 9466      fLego->InitMoveScreen(-1.1,1.1);
 
 9486      fLego->InitMoveScreen(-1.1,1.1);
 
 
 9524         Error(
"PaintTriangles", 
"no TView in current pad, do not use option SAME");
 
 9549   fLego = std::make_unique<TPainter3dAlgorithms>(
fXbuf.data(), 
fYbuf.data());
 
 9552      Error(
"PaintTriangles", 
"no TView in current pad");
 
 9562   fLego->SetFillStyle(
gPad->GetFrameFillStyle());
 
 9563   fLego->SetFillColor(
gPad->GetFrameFillColor());
 
 9564   fLego->TAttFill::Modify();
 
 9570   fLego->TAttFill::Modify();
 
 9574      fLego->InitMoveScreen(-1.1,1.1);
 
 9585      fLego->InitMoveScreen(-1.1,1.1);
 
 9587      fLego->FrontBox(90);
 
 
 9611      Warning(
"PaintSurface", 
"too many color levels, %d >= 100, reset to 99", 
ndivz);
 
 9618   for (i = 0; i < 
ndivz; ++i) {
 
 
 9692   while (
auto obj = next()) {
 
 9700         if (!
gPad->PadInSelectionMode() && !
gPad->PadInHighlightMode()) {
 
 
 9720   if (
gPad->PadInHighlightMode() && 
gPad->GetSelected() != 
fH) 
return;
 
 9737   while ((obj=next())) {
 
 9739      z = 
b->GetContent();
 
 9741      poly  = 
b->GetPolygon();
 
 9746         g->TAttLine::Modify();
 
 9747         g->TAttMarker::Modify();
 
 9748         g->TAttFill::Modify();
 
 9756            g->SetFillStyle(
fs);
 
 9758         if (fill) 
g->Paint(
"F");
 
 9759         if (mark) 
g->Paint(
"P");
 
 9770            g->TAttLine::Modify();
 
 9771            g->TAttMarker::Modify();
 
 9772            g->TAttFill::Modify();
 
 9780               g->SetFillStyle(
fs);
 
 9782            if (fill) 
g->Paint(
"F");
 
 9783            if (mark) 
g->Paint(
"P");
 
 
 9796   if (
gPad->PadInHighlightMode() && 
gPad->GetSelected() != 
fH)
 
 9827   while (
auto obj = next()) {
 
 9831      z = 
b->GetContent();
 
 9837      if (z < zmin) 
continue;
 
 9842         if (z < 
zc) 
continue;
 
 9844         for (
Int_t k=0; k<ndiv; k++) {
 
 9862         g->TAttFill::Modify();
 
 9875            g->TAttFill::Modify();
 
 
 9890   if (
gPad->PadInHighlightMode() && 
gPad->GetSelected() != 
fH)
 
 9893   Int_t k, loop, marker=0;
 
 9922   while ((obj=next())) {
 
 9930   while ((obj=next())) {
 
 9932      poly  = 
b->GetPolygon();
 
 9933      z     = 
b->GetContent();
 
 9934      if (z < zmin) z = zmin;
 
 9935      if (z > zmax) z = zmax;
 
 9950         if (k <= 0 || z <= 0) 
continue;
 
 9953            if (k+marker >= 
kNMAX) {
 
 9959            if (
g->IsInside(
xp,
yp)) {
 
 9966         if (marker > 0) 
gPad->PaintPolyMarker(marker, 
fXbuf.data(), 
fYbuf.data());
 
 9974         if (k <= 0 || z <= 0) 
continue;
 
 9977            if (k+marker >= 
kNMAX) {
 
 9990         if (marker > 0) 
gPad->PaintPolyMarker(marker, 
fXbuf.data(), 
fYbuf.data());
 
 
10013   text.SetTextAlign(22);
 
10016   text.TAttText::Modify();
 
10023   while ((obj=next())) {
 
10025      p = 
b->GetPolygon();
 
10026      x = (
b->GetXMin()+
b->GetXMax())/2;
 
10031      y = (
b->GetYMin()+
b->GetYMax())/2;
 
10036      z = 
b->GetContent();
 
10040         tf.Form(
"#splitline{%s%s}{#pm %s%s}",
 
10043         tt.Form(
tf.Data(),z,
e);
 
10045         tt.Form(
tf.Data(),z);
 
 
10080      text.SetTextAlign(11);
 
10081      if (
angle == 90) 
text.SetTextAlign(12);
 
10083      text.TAttText::Modify();
 
10097         if (
yt == 0.) 
continue;
 
10107         if (
y >= 
gPad->GetY2()) 
continue;
 
10114      text.SetTextAlign(22);
 
10117      text.TAttText::Modify();
 
10136               tf.Form(
"#splitline{%s%s}{#pm %s%s}",
 
10139               tt.Form(
tf.Data(),z,
e);
 
10141               tt.Form(
tf.Data(),z);
 
 
10169   fLego = std::make_unique<TPainter3dAlgorithms>(
fXbuf.data(), 
fYbuf.data());
 
10173      Error(
"PaintTF3", 
"no TView in current pad");
 
10181   fLego->InitMoveScreen(-1.1,1.1);
 
10186      fLego->BackBox(90);
 
10196      fLego->InitMoveScreen(-1.1,1.1);
 
10198      fLego->FrontBox(90);
 
 
10235   TIter next(
gPad->GetListOfPrimitives());
 
10236   while ((obj = next())) {
 
10239      if (
strcmp(title->
GetName(),
"title")) {title = 
nullptr; 
continue;}
 
10243      if (title) 
delete title;
 
10258   if (
ht <= 0) 
ht = 0.05;
 
10295   ptitle->SetName(
"title");
 
 
10418   for (
int i = 0; i < 100; i++) {
 
10427      theta -= num / 
den;
 
 
10526   if (
h == 
nullptr)  
return;
 
 
10540   static const char *
where = 
"TableInit";
 
10568         Error(
where, 
"cannot set X axis to log scale");
 
10597         Error(
where, 
"cannot set Y axis to log scale");
 
10633      if (!
Hoption.
Same) 
Error(
where, 
"log scale is requested but maximum is less or equal 0 (%f)", zmax);
 
10639   if (zmin >= zmax) {
 
10641         if (zmax > 0) zmin = 0.001*zmax;
 
10643            if (!
Hoption.
Same) 
Error(
where, 
"log scale is requested but maximum is less or equal 0 (%f)", zmax);
 
10653   if (allchan) factor /= allchan;
 
10654   if (factor == 0) factor = 1;
 
10656   zmax = factor*zmax;
 
10657   zmin = factor*zmin;
 
10691         if (zmin >= 0) zmin = 0;
 
10692         else           zmin -= 
yMARGIN*(zmax-zmin);
 
10695         if (zmin >= 0 && (zmin-
dzmin <= 0)) zmin  = 0;
 
10696         else                                zmin -= 
dzmin;
 
 
10722   tf.Form(
"%s%s",
"%",
f);
 
10723   tv.Form(
tf.Data(),
v);
 
10726   int ie = 
tv.Index(
"e");
 
10727   int iE = 
tv.Index(
"E");
 
10728   int id = 
tv.Index(
".");
 
10732   if (
ie >= 0 || 
iE >= 0) {
 
10733      if (
tv.Index(
"+") >= 0) {
 
10735            ef.Form(
"%s.1f",
"%");
 
10738               ef.Form(
"%s.%de",
"%",
ie-
id-1);
 
10740               ef.Form(
"%s.%dE",
"%",
iE-
id-1);
 
10745            ef.Form(
"%s.%de",
"%",
ie-
id-1);
 
10747            ef.Form(
"%s.%dE",
"%",
iE-
id-1);
 
10752   } 
else if (
id < 0) {
 
10753      ef.Form(
"%s.1f",
"%");
 
10758      ef.Form(
"%s.%df",
"%",
tv.Length()-
id-1);
 
 
10772      if (
c2) 
c2->Close();
 
10778      if (
c1) 
c1->Close();
 
10782   if (nbins <= 0) 
return;
 
10800   gROOT->MakeDefCanvas();
 
 
10810      if (
c2) 
c2->Close();
 
10816      if (
c1) 
c1->Close();
 
10839   gROOT->MakeDefCanvas();
 
10842   gROOT->MakeDefCanvas();
 
 
10855   gPad->SetDoubleBuffer(0); 
 
10891   c->SetLogy(
ctxt.GetSaved()->GetLogz());
 
10892   c->SetLogx(
ctxt.GetSaved()->GetLogx());
 
10898      hp->SetFillColor(38);
 
 
10940   gPad->SetDoubleBuffer(0);             
 
10979   c->SetLogy(
ctxt.GetSaved()->GetLogz());
 
10980   c->SetLogx(
ctxt.GetSaved()->GetLogy());
 
10986      hp->SetFillColor(38);
 
 
11045   gPad->SetDoubleBuffer(0);             
 
11102            if (line1[0].GetX()) 
gVirtualX->DrawPolyLine(2,line1);
 
11103            if (nbins>1 && line1[0].GetX()) {
 
11155               endface1[0].SetX(line1[0].GetX());
 
11156               endface1[0].SetY(line1[0].GetY());
 
11157               endface1[1].SetX(line2[0].GetX());
 
11158               endface1[1].SetY(line2[0].GetY());
 
11163               endface1[4].SetX(line1[0].GetX());
 
11164               endface1[4].SetY(line1[0].GetY());
 
11166               endface2[0].SetX(line1[1].GetX());
 
11167               endface2[0].SetY(line1[1].GetY());
 
11168               endface2[1].SetX(line2[1].GetX());
 
11169               endface2[1].SetY(line2[1].GetY());
 
11174               endface2[4].SetX(line1[1].GetX());
 
11175               endface2[4].SetY(line1[1].GetY());
 
11185            TH1 *
hp = h3->Project3D(
"x");
 
11189               hp->SetFillColor(38);
 
11198               hp->SetYTitle(
"Number of Entries");
 
11217            if (line1[0].GetX()) 
gVirtualX->DrawPolyLine(2,line1);
 
11218            if (nbins>1 && line1[0].GetX()) {
 
11270               endface1[0].SetX(line1[0].GetX());
 
11271               endface1[0].SetY(line1[0].GetY());
 
11272               endface1[1].SetX(line2[0].GetX());
 
11273               endface1[1].SetY(line2[0].GetY());
 
11278               endface1[4].SetX(line1[0].GetX());
 
11279               endface1[4].SetY(line1[0].GetY());
 
11281               endface2[0].SetX(line1[1].GetX());
 
11282               endface2[0].SetY(line1[1].GetY());
 
11283               endface2[1].SetX(line2[1].GetX());
 
11284               endface2[1].SetY(line2[1].GetY());
 
11289               endface2[4].SetX(line1[1].GetX());
 
11290               endface2[4].SetY(line1[1].GetY());
 
11300            TH1 *
hp = h3->Project3D(
"y");
 
11304               hp->SetFillColor(38);
 
11312               hp->SetYTitle(
"Number of Entries");
 
11331            if (line1[0].GetX()) 
gVirtualX->DrawPolyLine(2,line1);
 
11332            if (nbins>1 && line1[0].GetX()) {
 
11384               endface1[0].SetX(line1[0].GetX());
 
11385               endface1[0].SetY(line1[0].GetY());
 
11386               endface1[1].SetX(line2[0].GetX());
 
11387               endface1[1].SetY(line2[0].GetY());
 
11392               endface1[4].SetX(line1[0].GetX());
 
11393               endface1[4].SetY(line1[0].GetY());
 
11395               endface2[0].SetX(line1[1].GetX());
 
11396               endface2[0].SetY(line1[1].GetY());
 
11397               endface2[1].SetX(line2[1].GetX());
 
11398               endface2[1].SetY(line2[1].GetY());
 
11403               endface2[4].SetX(line1[1].GetX());
 
11404               endface2[4].SetY(line1[1].GetY());
 
11414            TH1 *
hp = h3->Project3D(
"z");
 
11418               hp->SetFillColor(38);
 
11426               hp->SetYTitle(
"Number of Entries");
 
11489            TH2 *
hp = (
TH2*)h3->Project3D(
"xy");
 
11490            zaxis->SetRange(first,last);
 
11492               hp->SetFillColor(38);
 
11497               hp->SetZTitle(
"Number of Entries");
 
11559            TH2 *
hp = (
TH2*)h3->Project3D(
"yx");
 
11560            zaxis->SetRange(first,last);
 
11562               hp->SetFillColor(38);
 
11567               hp->SetZTitle(
"Number of Entries");
 
11629            TH2 *
hp = (
TH2*)h3->Project3D(
"xz");
 
11630            yaxis->SetRange(first,last);
 
11632               hp->SetFillColor(38);
 
11637               hp->SetZTitle(
"Number of Entries");
 
11699            TH2 *
hp = (
TH2*)h3->Project3D(
"zx");
 
11700            yaxis->SetRange(first,last);
 
11702               hp->SetFillColor(38);
 
11707               hp->SetZTitle(
"Number of Entries");
 
11769            TH2 *
hp = (
TH2*)h3->Project3D(
"yz");
 
11770            xaxis->SetRange(first,last);
 
11772               hp->SetFillColor(38);
 
11777               hp->SetZTitle(
"Number of Entries");
 
11839            TH2 *
hp = (
TH2*)h3->Project3D(
"zy");
 
11840            xaxis->SetRange(first,last);
 
11842               hp->SetFillColor(38);
 
11847               hp->SetZTitle(
"Number of Entries");
 
 
Handle_t Window_t
Window handle.
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
winID h TVirtualViewer3D TVirtualGLPainter p
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void pixel
 
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 wid
 
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 np
 
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 GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t index
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize id
 
Option_t Option_t TPoint TPoint const char x2
 
Option_t Option_t TPoint TPoint const char x1
 
Option_t Option_t TPoint TPoint angle
 
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 mode
 
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 backcolor
 
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 fs
 
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 text
 
Option_t Option_t TPoint TPoint const char y1
 
R__EXTERN TH1 * gCurrentHist
 
R__EXTERN Hoption_t Hoption
 
static TString gStringStdDevZ
 
static TString gStringStdDevX
 
static TString gStringIntegralBinWidth
 
const UInt_t kCannotRotate
 
static TString gStringStdDev
 
static TString gStringOverflow
 
static TString gStringUnderflow
 
static TString gStringSkewnessY
 
static TString gStringMean
 
static TString gStringKurtosis
 
static TString gStringMeanX
 
static TString gStringEntries
 
static TString gStringIntegral
 
static TString gStringKurtosisY
 
static TString gStringStdDevY
 
static TString gStringMeanY
 
static TString gStringSkewnessX
 
static TString gStringKurtosisX
 
static std::unique_ptr< TBox > gXHighlightBox
 
static std::unique_ptr< TBox > gYHighlightBox
 
static TString gStringSkewnessZ
 
static TString gStringMeanZ
 
static TString gStringSkewness
 
static TString gStringKurtosisZ
 
R__EXTERN TStyle * gStyle
 
R__EXTERN TSystem * gSystem
 
Draw all kinds of Arrows.
 
virtual Int_t GetNdivisions() const
 
virtual Float_t GetLabelOffset() const
 
virtual Float_t GetLabelSize() const
 
virtual Float_t GetTickLength() const
 
virtual Float_t GetTitleOffset() const
 
virtual Color_t GetFillColor() const
Return the fill area color.
 
virtual Style_t GetFillStyle() const
Return the fill area style.
 
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
 
virtual void SetFillStyle(Style_t fstyle)
Set the fill area style.
 
virtual Color_t GetLineColor() const
Return the line color.
 
virtual void SetLineStyle(Style_t lstyle)
Set the line style.
 
virtual Width_t GetLineWidth() const
Return the line width.
 
virtual void SetLineWidth(Width_t lwidth)
Set the line width.
 
virtual void SetLineColor(Color_t lcolor)
Set the line color.
 
virtual Style_t GetLineStyle() const
Return the line style.
 
virtual Style_t GetMarkerStyle() const
Return the marker style.
 
virtual void SetMarkerColor(Color_t mcolor=1)
Set the marker color.
 
virtual Color_t GetMarkerColor() const
Return the marker color.
 
virtual Size_t GetMarkerSize() const
Return the marker size.
 
static Style_t GetMarkerStyleBase(Style_t style)
Internal helper function that returns the corresponding marker style with line width 1 for the given ...
 
virtual Font_t GetTextFont() const
Return the text font.
 
virtual void SetTextAngle(Float_t tangle=0)
Set the text angle.
 
Class to manage histogram axis.
 
virtual Bool_t GetTimeDisplay() const
 
Bool_t IsAlphanumeric() const
 
const char * GetTitle() const override
Returns title of object.
 
virtual Double_t GetBinCenter(Int_t bin) const
Return center of bin.
 
const TArrayD * GetXbins() const
 
const char * GetBinLabel(Int_t bin) const
Return label for bin.
 
virtual Int_t FindBin(Double_t x)
Find bin number corresponding to abscissa x.
 
virtual Double_t GetBinLowEdge(Int_t bin) const
Return low edge of bin.
 
virtual Int_t FindFixBin(Double_t x) const
Find bin number corresponding to abscissa x.
 
const char * ChooseTimeFormat(Double_t axislength=0)
Choose a reasonable time format from the coordinates in the active pad and the number of divisions in...
 
Int_t GetLast() const
Return last bin on the axis i.e.
 
virtual const char * GetTimeFormatOnly() const
Return only the time format from the string fTimeFormat.
 
virtual void SetRangeUser(Double_t ufirst, Double_t ulast)
Set the viewing range for the axis from ufirst to ulast (in user coordinates, that is,...
 
virtual const char * GetTimeFormat() const
 
virtual Double_t GetBinWidth(Int_t bin) const
Return bin width.
 
virtual Double_t GetBinUpEdge(Int_t bin) const
Return up edge of bin.
 
Int_t GetFirst() const
Return first bin on the axis i.e.
 
THashList * GetLabels() const
 
The candle plot painter class.
 
static Bool_t SupportAlpha()
Static function returning "true" if transparency is supported.
 
static TClass * GetClass(const char *name, Bool_t load=kTRUE, Bool_t silent=kFALSE)
Static method returning pointer to TClass of the specified class name.
 
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
 
The color creation and management class.
 
static void RGBtoHLS(Float_t r, Float_t g, Float_t b, Float_t &h, Float_t &l, Float_t &s)
 
static Int_t GetColor(const char *hexcolor)
Static method returning color number for color specified by hex color string of form: "#rrggbb",...
 
static Int_t GetColorBright(Int_t color)
Static function: Returns the bright color number corresponding to n If the TColor object does not exi...
 
static Int_t GetColorDark(Int_t color)
Static function: Returns the dark color number corresponding to n If the TColor object does not exist...
 
static void HLStoRGB(Float_t h, Float_t l, Float_t s, Float_t &r, Float_t &g, Float_t &b)
 
virtual Int_t GetValue(const char *name, Int_t dflt) const
Returns the integer value for a resource.
 
virtual Double_t GetXmax() const
 
virtual void SetMaximum(Double_t maximum=-1111)
Set the maximum value along Y for this function In case the function is already drawn,...
 
virtual Double_t GetMaximumStored() const
 
virtual void SetMinimum(Double_t minimum=-1111)
Set the minimum value along Y for this function In case the function is already drawn,...
 
virtual Double_t Eval(Double_t x, Double_t y=0, Double_t z=0, Double_t t=0) const
Evaluate this function.
 
virtual Double_t GetXmin() const
 
A 2-Dim function with parameters.
 
void Paint(Option_t *option="") override
Paint this 2-D function with its current attributes.
 
void SetRange(Double_t xmin, Double_t xmax) override
Initialize the upper and lower bounds to draw the function.
 
A 3-Dim function with parameters.
 
void SetTimeFormat(const char *tformat)
Change the format used for time plotting.
 
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 SetTitleOffset(Float_t titleoffset=1)
 
virtual void SetTitle(const char *title="")
Change the title of the axis.
 
void SetLabelOffset(Float_t labeloffset)
 
virtual void ImportAxisAttributes(TAxis *axis)
Internal method to import TAxis attributes to this TGaxis.
 
void SetTickSize(Float_t ticksize)
 
void SetLabelSize(Float_t labelsize)
 
void SetOption(Option_t *option="")
To set axis options.
 
Graphics object made of three arrays X, Y and Z with the same number of points each.
 
TGraphDelaunay2D generates a Delaunay triangulation of a TGraph2D.
 
TGraphDelaunay generates a Delaunay triangulation of a TGraph2D.
 
A TGraph is an object made of two arrays X and Y with npoints each.
 
@ kClipFrame
Clip to the frame boundary.
 
1-D histogram with a double per channel (see TH1 documentation)
 
1-D histogram with a float per channel (see TH1 documentation)
 
TH1 is the base class of all histogram classes in ROOT.
 
virtual EBinErrorOpt GetBinErrorOption() const
 
virtual Float_t GetBarWidth() const
 
virtual Double_t GetMinimumStored() const
 
virtual Float_t GetBarOffset() const
 
virtual Double_t GetStdDev(Int_t axis=1) const
Returns the Standard Deviation (Sigma).
 
virtual Int_t GetNbinsY() const
 
virtual Double_t GetBinError(Int_t bin) const
Return value of error associated to bin number bin.
 
virtual Int_t GetNbinsZ() const
 
virtual Double_t GetNormFactor() const
 
virtual Double_t GetMean(Int_t axis=1) const
For axis = 1,2 or 3 returns the mean value of the histogram along X,Y or Z axis.
 
virtual Double_t GetSkewness(Int_t axis=1) const
 
virtual Double_t GetContourLevelPad(Int_t level) const
Return the value of contour number "level" in Pad coordinates.
 
virtual Int_t GetDimension() const
 
static void AddDirectory(Bool_t add=kTRUE)
Sets the flag controlling the automatic add of histograms in memory.
 
@ kNoTitle
Don't draw the histogram title.
 
@ kUserContour
User specified contour levels.
 
@ kNoStats
Don't draw stats box.
 
virtual Int_t GetBin(Int_t binx, Int_t biny=0, Int_t binz=0) const
Return Global bin number corresponding to binx,y,z.
 
virtual Double_t GetMaximum(Double_t maxval=FLT_MAX) const
Return maximum value smaller than maxval of bins in the range, unless the value has been overridden b...
 
virtual Int_t GetNbinsX() const
 
virtual void SetMaximum(Double_t maximum=-1111)
 
virtual Double_t GetBinErrorLow(Int_t bin) const
Return lower error associated to bin number bin.
 
virtual void SetMinimum(Double_t minimum=-1111)
 
virtual Double_t Integral(Option_t *option="") const
Return integral of bin contents.
 
virtual void SetBinContent(Int_t bin, Double_t content)
Set bin content see convention for numbering bins in TH1::GetBin In case the bin number is greater th...
 
virtual Double_t GetBinLowEdge(Int_t bin) const
Return bin lower edge for 1D histogram.
 
virtual Double_t GetEntries() const
Return the current number of entries.
 
TList * GetListOfFunctions() const
 
virtual Double_t GetMeanError(Int_t axis=1) const
Return standard error of mean of this histogram along the X axis.
 
virtual Double_t GetMaximumStored() const
 
virtual void GetMinimumAndMaximum(Double_t &min, Double_t &max) const
Retrieve the minimum and maximum values in the histogram.
 
@ kNormal
Errors with Normal (Wald) approximation: errorUp=errorLow= sqrt(N)
 
virtual Double_t GetBinContent(Int_t bin) const
Return content of bin number bin.
 
virtual Int_t GetContour(Double_t *levels=nullptr)
Return contour values into array levels if pointer levels is non zero.
 
const Double_t * GetBuffer() const
 
virtual Bool_t IsHighlight() const
 
virtual Double_t GetBinWidth(Int_t bin) const
Return bin width for 1D histogram.
 
virtual void SetContour(Int_t nlevels, const Double_t *levels=nullptr)
Set the number and values of contour levels.
 
virtual Double_t GetBinErrorUp(Int_t bin) const
Return upper error associated to bin number bin.
 
virtual Int_t GetSumw2N() const
 
virtual Double_t GetStdDevError(Int_t axis=1) const
Return error of standard deviation estimation for Normal distribution.
 
virtual Double_t GetMinimum(Double_t minval=-FLT_MAX) const
Return minimum value larger than minval of bins in the range, unless the value has been overridden by...
 
virtual Double_t GetSumOfWeights() const
Return the sum of weights excluding under/overflows.
 
static Bool_t AddDirectoryStatus()
Static function: cannot be inlined on Windows/NT.
 
virtual void LabelsDeflate(Option_t *axis="X")
Reduce the number of bins for the axis passed in the option to the number of bins having a label.
 
virtual Int_t BufferEmpty(Int_t action=0)
Fill histogram with all entries in the buffer.
 
virtual Double_t GetKurtosis(Int_t axis=1) const
 
2-D histogram with a double per channel (see TH1 documentation)
 
2-D histogram with a float per channel (see TH1 documentation)
 
Helper class to represent a bin in the TH2Poly histogram.
 
2D Histogram with Polygonal Bins
 
Service class for 2-D histogram classes.
 
The 3-D histogram classes derived from the 1-D histogram classes.
 
The Histogram stack class.
 
The histogram painter class.
 
static Int_t ProjectSinusoidal2xy(Double_t l, Double_t b, Double_t &Al, Double_t &Ab)
Static function code for sinusoidal projection from Ernst-Jan Buis Source https://en....
 
void Paint(Option_t *option="") override
Control routine to paint any kind of histograms
 
TAxis * fYaxis
Pointer to Y axis.
 
std::unique_ptr< TPainter3dAlgorithms > fLego
Pointer to a TPainter3dAlgorithms object.
 
std::vector< Double_t > fXbuf
X buffer coordinates.
 
Int_t fXHighlightBin
X highlight bin.
 
TF3 * fCurrentF3
Current TF3 function.
 
virtual void PaintErrors(Option_t *option)
Draw 1D histograms error bars.
 
~THistPainter() override
destructor.
 
Int_t fShowProjection2
True if a second projection must be drawn (when calling SetShowProjectionXY on a TH2)
 
virtual void PaintTF3()
Control function to draw a 3D implicit functions.
 
virtual Int_t TableInit()
Initialize various options to draw 2D histograms.
 
virtual void PaintTH2PolyScatterPlot(Option_t *option)
Control function to draw a TH2Poly as a scatter plot.
 
static Int_t ProjectMollweide2xy(Double_t l, Double_t b, Double_t &Al, Double_t &Ab)
Static function.
 
static Int_t ProjectAitoff2xy(Double_t l, Double_t b, Double_t &Al, Double_t &Ab)
Static function.
 
virtual void PaintText(Option_t *option)
Control function to draw a 1D/2D histograms with the bin values.
 
Int_t DistancetoPrimitive(Int_t px, Int_t py) override
Compute the distance from the point px,py to a line.
 
virtual void PaintAxis(Bool_t drawGridOnly=kFALSE)
Draw axis (2D case) of an histogram.
 
virtual void PaintColorLevelsFast(Option_t *option)
[Rendering scheme for the COL2 and COLZ2 options] (HP14)
 
virtual Int_t PaintInit()
Compute histogram parameters used by the drawing routines.
 
virtual void Paint2DErrors(Option_t *option)
Draw 2D histograms errors.
 
Int_t fYHighlightBin
Y highlight bin.
 
virtual void PaintCandlePlot(Option_t *option)
Control function to draw a 2D histogram as a candle (box) plot or violin plot
 
virtual void PaintScatterPlot(Option_t *option)
Control function to draw a 2D histogram as a scatter plot.
 
void SetShowProjectionXY(const char *option, Int_t nbinsY, Int_t nbinsX) override
 
virtual void PaintLego(Option_t *option)
Control function to draw a 2D histogram as a lego plot.
 
virtual void PaintH3(Option_t *option="")
Control function to draw a 3D histograms.
 
Int_t fNcuts
Number of graphical cuts.
 
TString fShowOption
Option to draw the projection.
 
virtual void PaintHighlightBin(Option_t *option="")
Paint highlight bin as TBox object.
 
virtual void PaintTH2PolyBins(Option_t *option)
Control function to draw a TH2Poly bins' contours.
 
virtual Int_t PaintContourLine(Double_t elev1, Int_t icont1, Double_t x1, Double_t y1, Double_t elev2, Int_t icont2, Double_t x2, Double_t y2, Double_t *xarr, Double_t *yarr, Int_t *itarr, Double_t *levels)
Fill the matrix xarr and yarr for Contour Plot.
 
Int_t fShowProjection
True if a projection must be drawn.
 
virtual void PaintLegoAxis(TGaxis *axis, Double_t ang)
Draw the axis for legos and surface plots.
 
virtual void PaintTriangles(Option_t *option)
Control function to draw a table using Delaunay triangles.
 
virtual void HighlightBin(Int_t px, Int_t py)
Check on highlight bin.
 
virtual void PaintH3Box(Int_t iopt)
Control function to draw a 3D histogram with boxes.
 
Int_t MakeCuts(char *cutsopt) override
Decode string choptin and fill Graphical cuts structure.
 
TList * fFunctions
Pointer to histogram list of functions.
 
void DrawPanel() override
Display a panel with all histogram drawing options.
 
std::unique_ptr< TPie > fPie
Pointer to a TPie in case of option PIE.
 
static void PaintSpecialObjects(const TObject *obj, Option_t *option)
Static function to paint special objects like vectors and matrices.
 
virtual void PaintTitle()
new TGaxis/////////////////// Draw the histogram title
 
virtual void PaintTH2PolyColorLevels(Option_t *option)
Control function to draw a TH2Poly as a color plot.
 
virtual std::vector< THistRenderingRegion > ComputeRenderingRegions(TAxis *pAxis, Int_t nPixels, bool isLog)
Returns the rendering regions for an axis to use in the COL2 option.
 
virtual void ShowProjectionX(Int_t px, Int_t py)
Show projection onto X.
 
virtual void PaintPalette()
Paint the color palette on the right side of the pad.
 
TAxis * fXaxis
Pointer to X axis.
 
virtual void PaintStat2(Int_t dostat, TF1 *fit)
Draw the statistics box for 2D histograms.
 
virtual void PaintArrows(Option_t *option)
Control function to draw a table as an arrow plot
 
virtual void RecalculateRange()
Recompute the histogram range following graphics operations.
 
void PaintStat(Int_t dostat, TF1 *fit) override
Draw the statistics box for 1D and profile histograms.
 
static Int_t ProjectParabolic2xy(Double_t l, Double_t b, Double_t &Al, Double_t &Ab)
Static function code for parabolic projection from Ernst-Jan Buis.
 
std::unique_ptr< TGraph2DPainter > fGraph2DPainter
Pointer to a TGraph2DPainter object.
 
virtual void PaintBarH(Option_t *option)
Draw a bar char in a rotated pad (X vertical, Y horizontal)
 
virtual void PaintStat3(Int_t dostat, TF1 *fit)
Draw the statistics box for 3D histograms.
 
virtual void PaintSurface(Option_t *option)
Control function to draw a 2D histogram as a surface plot.
 
TList * fStack
Pointer to stack of histograms (if any)
 
THistPainter()
Default constructor.
 
TH1 * fH
Pointer to histogram to paint.
 
virtual void PaintTH2PolyText(Option_t *option)
Control function to draw a TH2Poly as a text plot.
 
virtual void ShowProjection3(Int_t px, Int_t py)
Show projection (specified by fShowProjection) of a TH3.
 
TAxis * fZaxis
Pointer to Z axis.
 
void SetHistogram(TH1 *h) override
Set current histogram to h
 
virtual void PaintFunction(Option_t *option)
[Paint functions associated to an histogram.](HP28")
 
virtual void PaintBar(Option_t *option)
Draw a bar-chart in a normal pad.
 
static Int_t ProjectMercator2xy(Double_t l, Double_t b, Double_t &Al, Double_t &Ab)
Static function.
 
virtual void PaintBoxes(Option_t *option)
Control function to draw a 2D histogram as a box plot
 
virtual Int_t MakeChopt(Option_t *option)
Decode string choptin and fill Hoption structure.
 
char * GetObjectInfo(Int_t px, Int_t py) const override
Display the histogram info (bin number, contents, integral up to bin corresponding to cursor position...
 
TList * GetContourList(Double_t contour) const override
Get a contour (as a list of TGraphs) using the Delaunay triangulation.
 
void ProcessMessage(const char *mess, const TObject *obj) override
Process message mess.
 
void SetShowProjection(const char *option, Int_t nbins) override
Set projection.
 
virtual void ShowProjectionY(Int_t px, Int_t py)
Show projection onto Y.
 
static const char * GetBestFormat(Double_t v, Double_t e, const char *f)
This function returns the best format to print the error value (e) knowing the parameter value (v) an...
 
virtual void PaintContour(Option_t *option)
Control function to draw a 2D histogram as a contour plot.
 
TCutG * fCuts[kMaxCuts]
Pointers to graphical cuts.
 
virtual void PaintTable(Option_t *option)
Control function to draw 2D/3D histograms (tables).
 
void ExecuteEvent(Int_t event, Int_t px, Int_t py) override
Execute the actions corresponding to event.
 
virtual Int_t PaintInitH()
Compute histogram parameters used by the drawing routines for a rotated pad.
 
virtual void PaintFrame()
Calculate range and clear pad (canvas).
 
Int_t fCutsOpt[kMaxCuts]
Sign of each cut.
 
virtual void PaintH3Iso()
Control function to draw a 3D histogram with Iso Surfaces.
 
std::vector< Double_t > fYbuf
Y buffer coordinates.
 
virtual void PaintH3BoxRaster()
Control function to draw a 3D histogram with boxes.
 
virtual void PaintHist(Option_t *option)
Control routine to draw 1D histograms
 
void SetHighlight() override
Set highlight (enable/disable) mode for fH.
 
virtual void DefineColorLevels(Int_t ndivz)
Define the color levels used to paint legos, surfaces etc..
 
virtual void PaintColorLevels(Option_t *option)
Control function to draw a 2D histogram as a color plot.
 
Bool_t IsInside(Int_t x, Int_t y) override
Return kTRUE if the cell ix, iy is inside one of the graphical cuts.
 
A class to define a conversion from pixel values to pixel color.
 
static TImagePalette * CreateCOLPalette(Int_t nContours)
Factory method to creates an image palette for histogram plotting.
 
An abstract interface to image processing library.
 
static TImage * Create()
Create an image.
 
To draw Mathematical Formula.
 
TObject * FindObject(const char *name) const override
Find an object in this list using its name.
 
void Add(TObject *obj) override
 
TObject * Remove(TObject *obj) override
Remove object from the list.
 
TObject * First() const override
Return the first object in the list. Returns 0 when list is empty.
 
virtual TObjLink * FirstLink() const
 
TObject * At(Int_t idx) const override
Returns the object at position idx. Returns 0 if idx is out of range.
 
void AddFirst(TObject *obj) override
Add object at the beginning of the list.
 
A TMultiGraph is a collection of TGraph (or derived) objects.
 
TList * GetListOfGraphs() const
 
virtual Int_t IsInside(Double_t x, Double_t y) const
Return 1 if the point (x,y) is inside one of the graphs 0 otherwise.
 
const char * GetName() const override
Returns name of object.
 
const char * GetTitle() const override
Returns title of object.
 
Mother of all ROOT objects.
 
virtual const char * GetName() const
Returns name of object.
 
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
 
virtual Option_t * GetDrawOption() const
Get option used by the graphics system to draw this object.
 
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
 
virtual TObject * FindObject(const char *name) const
Must be redefined in derived classes.
 
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
 
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
 
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()
 
void DrawFaceMove3(Int_t *icodes, Double_t *xyz, Int_t np, Int_t *iface, Double_t *tt)
Draw face - 3rd variant for "MOVING SCREEN" algorithm (draw level lines only)
 
void DrawLevelLines(Int_t *icodes, Double_t *xyz, Int_t np, Int_t *iface, Double_t *tt)
Draw level lines without hidden line removal.
 
void SurfaceFunction(Int_t ia, Int_t ib, Double_t *f, Double_t *t)
Service function for Surfaces.
 
void DrawFaceMode1(Int_t *icodes, Double_t *xyz, Int_t np, Int_t *iface, Double_t *t)
Draw face - 1st variant (2 colors: 1st for external surface, 2nd for internal)
 
void GouraudFunction(Int_t ia, Int_t ib, Double_t *f, Double_t *t)
Find part of surface with luminosity in the corners.
 
void DrawFaceMove1(Int_t *icodes, Double_t *xyz, Int_t np, Int_t *iface, Double_t *tt)
Draw face - 1st variant for "MOVING SCREEN" algorithm (draw face with level lines)
 
void DrawFaceRaster2(Int_t *icodes, Double_t *xyz, Int_t np, Int_t *iface, Double_t *tt)
Draw face - 2nd variant for "RASTER SCREEN" algorithm (draw face for stacked lego plot)
 
void LegoFunction(Int_t ia, Int_t ib, Int_t &nv, Double_t *ab, Double_t *vv, Double_t *t)
Service function for Legos.
 
void DrawFaceMove2(Int_t *icodes, Double_t *xyz, Int_t np, Int_t *iface, Double_t *tt)
Draw face - 2nd variant for "MOVING SCREEN" algorithm (draw face for stacked lego plot)
 
void DrawFaceRaster1(Int_t *icodes, Double_t *xyz, Int_t np, Int_t *iface, Double_t *tt)
Draw face - 1st variant for "RASTER SCREEN" algorithm (draw face with level lines)
 
void DrawFaceMode3(Int_t *icodes, Double_t *xyz, Int_t np, Int_t *iface, Double_t *t)
Draw face - 3rd option (draw face for stacked lego plot)
 
void DrawFaceMode2(Int_t *icodes, Double_t *xyz, Int_t np, Int_t *iface, Double_t *t)
Draw face - 2nd option (fill in correspondence with function levels)
 
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)
 
Profile2D histograms are used to display the mean value of Z and its error for each cell in X,...
 
Random number generator class based on the maximally quidistributed combined Tausworthe generator by ...
 
Sequenceable collection abstract base class.
 
void ToLower()
Change string to lower-case.
 
const char * Data() const
 
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
 
void Form(const char *fmt,...)
Formats a string using a printf style format descriptor.
 
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
 
Ssiz_t Index(const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const
 
Color_t GetStatTextColor() const
 
Float_t GetTitleX() const
 
Int_t GetOptTitle() const
 
Float_t GetStatFontSize() const
 
Float_t GetBarOffset() const
 
Float_t GetTitleSize(Option_t *axis="X") const
Return title size.
 
Float_t GetTitleY() const
 
Style_t GetTitleFont(Option_t *axis="X") const
Return title font.
 
Bool_t GetHistMinimumZero() const
 
Color_t GetTitleFillColor() const
 
Style_t GetTitleStyle() const
 
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 GetErrorX() const
 
Double_t GetHistTopMargin() const
 
void SetBarOffset(Float_t baroff=0.5)
 
Float_t GetEndErrorSize() const
 
Int_t GetDrawBorder() const
 
Width_t GetStatBorderSize() const
 
Color_t GetTitleTextColor() const
 
void SetBarWidth(Float_t barwidth=0.5)
 
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.
 
Int_t GetNumberContours() const
 
const char * GetPaintTextFormat() const
 
Style_t GetStatFont() const
 
Float_t GetTitleFontSize() const
 
Int_t GetTitleAlign() const
 
Float_t GetTitleW() const
 
virtual int Load(const char *module, const char *entry="", Bool_t system=kFALSE)
Load a shared library.
 
Base class for several text objects.
 
virtual Double_t GetPsi()=0
 
virtual Double_t * GetRmax()=0
 
virtual void SetAxisNDC(const Double_t *x1, const Double_t *x2, const Double_t *y1, const Double_t *y2, const Double_t *z1, const Double_t *z2)=0
 
virtual Double_t * GetRmin()=0
 
virtual void WCtoNDC(const Float_t *pw, Float_t *pn)=0
 
virtual void SetOutlineToCube()=0
 
virtual Int_t GetDistancetoAxis(Int_t axis, Int_t px, Int_t py, Double_t &ratio)=0
 
virtual Double_t * GetTnorm()=0
 
virtual void ExecuteRotateView(Int_t event, Int_t px, Int_t py)=0
 
virtual TSeqCollection * GetOutline()=0
 
virtual void PadRange(Int_t rback)=0
 
virtual void SetRange(const Double_t *min, const Double_t *max)=0
 
virtual void FindNormal(Double_t x, Double_t y, Double_t z, Double_t &zn)=0
 
virtual void AxisVertex(Double_t ang, Double_t *av, Int_t &ix1, Int_t &ix2, Int_t &iy1, Int_t &iy2, Int_t &iz1, Int_t &iz2)=0
 
virtual void SetView(Double_t longitude, Double_t latitude, Double_t psi, Int_t &irep)=0
 
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
 
TVirtualPad is an abstract base class for the Pad and Canvas classes.
 
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...
 
Double_t ATan(Double_t)
Returns the principal value of the arc tangent of x, expressed in radians.
 
constexpr Double_t PiOver2()
 
Double_t Log(Double_t x)
Returns the natural logarithm of x.
 
constexpr Double_t DegToRad()
Conversion from degree to radian: .
 
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.
 
Bool_t AreEqualRel(Double_t af, Double_t bf, Double_t relPrec)
Comparing floating points.
 
Double_t Sin(Double_t)
Returns the sine of an angle of x radians.
 
Double_t Tan(Double_t)
Returns the tangent of an angle of x radians.
 
Long64_t BinarySearch(Long64_t n, const T *array, T value)
Binary search in an array of n values to locate value.
 
constexpr Double_t RadToDeg()
Conversion from radian to degree: .
 
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.
 
Histograms' drawing options structure.
 
int Curve
"C" A smooth Curve is drawn.
 
int Proj
"AITOFF", "MERCATOR", "SINUSOIDAL" and "PARABOLIC" projections for 2d plots.
 
int Axis
"A" Axis are not drawn around the graph.
 
int Box
"BOX" Draw 2D plot with proportional Boxes.
 
int Scat
"SCAT" Draw 2D plot a Scatter plot.
 
int Text
"TEXT" Draw 2D plot with the content of each cell.
 
int Color
"COL" Draw 2D plot with Colored boxes.
 
int AxisPos
"X+" and "Y+" Axis position
 
int List
"LIST" Generate the TObjArray "contours". To be used with option "CONT"
 
int Logx
log scale in X. Also set by histogram option
 
int Zscale
"Z" Display the color palette.
 
int MinimumZero
"MIN0" or gStyle->GetHistMinimumZero()
 
int Contour
"CONTn" Draw 2D plot as a Contour plot (0 <= n <= 5).
 
int Off
"][" The first and last vertical lines are not drawn.
 
int Func
"FUNC" Draw only the function (for example in case of fit).
 
long Candle
"CANDLE" and "VIOLIN" Draw a 2D histogram as candle/box plot or violin plot.
 
int Spec
"SPEC" TSpectrum graphics
 
int FrontBox
"FB" Suppress the front box for the 3D plots.
 
int Pie
"PIE" Draw 1D plot as a pie chart.
 
int Star
"*" With option "P", a * is plotted at each point.
 
int Zero
"0" if selected with any LEGO option the empty bins are not drawn.
 
int Logz
log scale in Z. Also set by histogram option
 
int Tri
"TRI" Draw TGraph2D with Delaunay triangles.
 
int BackBox
"BB" Suppress the back box for the 3D plots.
 
int Mark
"P" The current Marker is drawn at each point.
 
int Arrow
"ARR" Draw 2D plot with Arrows.
 
int Line
"L" A simple polyline through every point is drawn.
 
int Same
"SAME" Histogram is plotted in the current pad.
 
int Lego
"LEGO" and "LEGOn" Draw as a Lego plot(1 <= n <= 4).
 
int Bar
"B", "BAR" and "HBAR" A Bar chart is drawn at each point.
 
int Fill
"F" A fill area is drawn ("CF" draw a smooth fill area).
 
int Hist
"HIST" Draw only the histogram.
 
int Surf
"SURF" and "SURFn" Draw as a Surface ((1 <= n <= 4).
 
int Logy
log scale in Y. Also set by histogram option
 
int System
"POL", "CYL", "SPH" and "PSR" Type of coordinate system for 3D plots.
 
int Error
"En" Draw Errors with current marker type and size (0 <= n <=6).
 
Histogram parameters structure.
 
Double_t baroffset
Offset of bin for bars or legos [0,1].
 
Double_t ylowedge
Low edge of axis.
 
Double_t xmin
Minimum value along X.
 
Int_t ylast
Last bin number along Y.
 
Int_t xfirst
First bin number along X.
 
Double_t zmin
Minimum value along Z.
 
Double_t xbinsize
Bin size in case of equidistant bins.
 
Double_t ymin
Minimum value along y.
 
Double_t allchan
Integrated sum of contents.
 
Double_t xlowedge
Low edge of axis.
 
Double_t ymax
Maximum value along y.
 
Double_t factor
Multiplication factor (normalization)
 
Int_t xlast
Last bin number along X.
 
Double_t ybinsize
Bin size in case of equidistant bins.
 
Double_t barwidth
Width of bin for bars and legos [0,1].
 
Double_t zmax
Maximum value along Z.
 
Double_t xmax
Maximum value along X.
 
Int_t yfirst
First bin number along Y.