132   fPadPointer = 
nullptr;
 
  133   fPrimitives = 
nullptr;
 
  148   fPadView3D  = 
nullptr;
 
  178   fFixedAspectRatio = 
kFALSE;
 
  181   fNumPaletteColor = 0;
 
  182   fNextPaletteColor = 0;
 
  183   fCollideGrid = 
nullptr;
 
  197   fUxmin = fUymin = fUxmax = fUymax = 0;
 
  246          : 
TVirtualPad(
name,title,xlow,ylow,xup,yup,color,bordersize,bordermode)
 
  330      Error(
"TPad", 
"You must create a TCanvas before creating a TPad");
 
  337   if ((xlow < 0) || (xlow > 1) || (ylow < 0) || (ylow > 1)) {
 
  338      Error(
"TPad", 
"illegal bottom left position: x=%f, y=%f", xlow, ylow);
 
  341   if ((xup < 0) || (xup > 1) || (yup < 0) || (yup > 1)) {
 
  342      Error(
"TPad", 
"illegal top right position: x=%f, y=%f", xup, yup);
 
  353   SetPad(
name, title, xlow, ylow, xup, yup, color, bordersize, bordermode);
 
  451   while ((exec = (
TExec*)next())) {
 
  492                           const char* title, 
Option_t *option)
 
  501   while( (o=next()) ) {
 
  507               mes = ((
TNamed *)o)->GetTitle();
 
  512            if (strlen(option)) {
 
  523         TIter nextgraph(grlist);
 
  526         while ((obj = nextgraph())) {
 
  531            if (strlen(option))              opt = option;
 
  533            leg->AddEntry( obj, mes.
Data(), opt );
 
  538         TIter nexthist(hlist);
 
  541         while ((obj = nexthist())) {
 
  546            if (strlen(option))                opt = option;
 
  548            leg->AddEntry( obj, mes.
Data(), opt );
 
  559      Info(
"BuildLegend(void)",
"No object to build a TLegend.");
 
  602   while ((obj = next())) {
 
  605         if (
n == subpadnumber) {
 
  606            return ((
TPad*)obj)->
cd();
 
  675   for (
Int_t i=0;i<2;i++) {
 
  688   while(code1 + code2) {
 
  699      if (ic == 0) ic = code2;
 
  701         yt = 
y[0] + (
y[1]-
y[0])*(xclipl-
x[0])/(
x[1]-
x[0]);
 
  705         yt = 
y[0] + (
y[1]-
y[0])*(xclipr-
x[0])/(
x[1]-
x[0]);
 
  709         xt = 
x[0] + (
x[1]-
x[0])*(yclipb-
y[0])/(
y[1]-
y[0]);
 
  713         xt = 
x[0] + (
x[1]-
x[0])*(yclipt-
y[0])/(
y[1]-
y[0]);
 
  719         code1 = 
ClippingCode(xt,yt,xclipl,yclipb,xclipr,yclipt);
 
  723         code2 = 
ClippingCode(xt,yt,xclipl,yclipb,xclipr,yclipt);
 
  746   for (
Int_t i=0;i<2;i++) {
 
  755   if (
x[0] < xclipl) code1 = code1 | 0x1;
 
  756   if (
x[0] > xclipr) code1 = code1 | 0x2;
 
  757   if (
y[0] < yclipb) code1 = code1 | 0x4;
 
  758   if (
y[0] > yclipt) code1 = code1 | 0x8;
 
  760   if (
x[1] < xclipl) code2 = code2 | 0x1;
 
  761   if (
x[1] > xclipr) code2 = code2 | 0x2;
 
  762   if (
y[1] < yclipb) code2 = code2 | 0x4;
 
  763   if (
y[1] > yclipt) code2 = code2 | 0x8;
 
  767   while(code1 + code2) {
 
  778      if (ic == 0) ic = code2;
 
  780         yt = 
y[0] + (
y[1]-
y[0])*(xclipl-
x[0])/(
x[1]-
x[0]);
 
  784         yt = 
y[0] + (
y[1]-
y[0])*(xclipr-
x[0])/(
x[1]-
x[0]);
 
  788         xt = 
x[0] + (
x[1]-
x[0])*(yclipb-
y[0])/(
y[1]-
y[0]);
 
  792         xt = 
x[0] + (
x[1]-
x[0])*(yclipt-
y[0])/(
y[1]-
y[0]);
 
  798         code1 = 
ClippingCode(xt,yt,xclipl,yclipb,xclipr,yclipt);
 
  802         code2 = 
ClippingCode(xt,yt,xclipl,yclipb,xclipr,yclipt);
 
  815   if (
x < xcl1) code = code | 0x1;
 
  816   if (
x > xcl2) code = code | 0x2;
 
  817   if (
y < ycl1) code = code | 0x4;
 
  818   if (
y > ycl2) code = code | 0x8;
 
  873   for (i=0; i<
n; i++) {
 
  874      x2 = 
x[i]; y2 = 
y[i];
 
  878         slope = (y2-y1)/(
x2-
x1);
 
  882            xc2[nc2] = xclipl; yc2[nc2++] = slope*(xclipl-
x1)+y1;
 
  884            xc2[nc2] = 
x2; yc2[nc2++] = y2;
 
  888            xc2[nc2] = xclipl; yc2[nc2++] = slope*(xclipl-
x1)+y1;
 
  889            xc2[nc2] = 
x2; yc2[nc2++] = y2;
 
  896   x1 = xc2[nc2-1]; y1 = yc2[nc2-1];
 
  898   for (i=0; i<nc2; i++) {
 
  899      x2 = xc2[i]; y2 = yc2[i];
 
  903         slope = (
x2-
x1)/(y2-y1);
 
  907            xc[nc] = 
x1+(yclipt-y1)*slope; yc[nc++] = yclipt;
 
  909            xc[nc] = 
x2; yc[nc++] = y2;
 
  913            xc[nc] = 
x1+(yclipt-y1)*slope; yc[nc++] = yclipt;
 
  914            xc[nc] = 
x2; yc[nc++] = y2;
 
  923      x1 = xc[nc-1]; y1 = yc[nc-1];
 
  925      for (i=0; i<nc; i++) {
 
  926         x2 = xc[i]; y2 = yc[i];
 
  930            slope = (y2-y1)/(
x2-
x1);
 
  934               xc2[nc2] = xclipr; yc2[nc2++] = slope*(xclipr-
x1)+y1;
 
  936               xc2[nc2] = 
x2; yc2[nc2++] = y2;
 
  940               xc2[nc2] = xclipr; yc2[nc2++] = slope*(xclipr-
x1)+y1;
 
  941               xc2[nc2] = 
x2; yc2[nc2++] = y2;
 
  948      x1 = xc2[nc2-1]; y1 = yc2[nc2-1];
 
  950      for (i=0; i<nc2; i++) {
 
  951         x2 = xc2[i]; y2 = yc2[i];
 
  955            slope = (
x2-
x1)/(y2-y1);
 
  959               xc[nc] = 
x1+(yclipb-y1)*slope; yc[nc++] = yclipb;
 
  961               xc[nc] = 
x2; yc[nc++] = y2;
 
  965               xc[nc] = 
x1+(yclipb-y1)*slope; yc[nc++] = yclipb;
 
  966               xc[nc] = 
x2; yc[nc++] = y2;
 
 1008         if (!
gPad->IsBatch())
 
 1013      if (!
gROOT->GetListOfCanvases()) 
return;
 
 1015         gROOT->GetListOfCanvases()->Remove(
this);
 
 1036   if (
gROOT->GetSelectedPad() == 
this) 
gROOT->SetSelectedPad(
nullptr);
 
 1061   while ((obj = next())) {
 
 1063         ((
TPad*)obj)->CopyPixmap();
 
 1064         ((
TPad*)obj)->CopyPixmaps();
 
 1090   Int_t pxl, pyl, pxt, pyt;
 
 1095   if (px1 < px2) {pxl = px1; pxt = px2;}
 
 1096   else           {pxl = px2; pxt = px1;}
 
 1097   if (py1 < py2) {pyl = py1; pyt = py2;}
 
 1098   else           {pyl = py2; pyt = py1;}
 
 1102   if ( (px > pxl && px < pxt) && (py > pyl && py < pyt) ) {
 
 1109   if (py < pyl) dxl += pyl - py;
 
 1110   if (py > pyt) dxl += py - pyt;
 
 1112   if (py < pyl) dxt += pyl - py;
 
 1113   if (py > pyt) dxt += py - pyt;
 
 1115   if (px < pxl) dyl += pxl - px;
 
 1116   if (px > pxt) dyl += px - pxt;
 
 1118   if (px < pxl) dyt += pxl - px;
 
 1119   if (px > pxt) dyt += px - pxt;
 
 1121   Int_t distance = dxl;
 
 1122   if (dxt < distance) distance = dxt;
 
 1123   if (dyl < distance) distance = dyl;
 
 1124   if (dyt < distance) distance = dyt;
 
 1170      arr[1] = 
this; arr[2] = (
void*)&nx;arr[3] = (
void*)& ny;
 
 1171      arr[4] = (
void*)&xmargin; arr[5] = (
void *)& ymargin; arr[6] = (
void *)&color;
 
 1172      if ((*
gThreadXAR)(
"PDCD", 7, arr, 0)) 
return;
 
 1177   if (nx <= 0) nx = 1;
 
 1178   if (ny <= 0) ny = 1;
 
 1185   char *
name  = 
new char [nchname];
 
 1186   char *title = 
new char [nchtitle];
 
 1189   if (xmargin > 0 && ymargin > 0) {
 
 1193      for (iy=0;iy<ny;iy++) {
 
 1194         y2 = 1 - iy*dy - ymargin;
 
 1195         y1 = y2 - dy + 2*ymargin;
 
 1197         if (y1 > y2) 
continue;
 
 1198         for (ix=0;ix<nx;ix++) {
 
 1199            x1 = ix*dx + xmargin;
 
 1200            x2 = 
x1 +dx -2*xmargin;
 
 1201            if (
x1 > 
x2) 
continue;
 
 1226      for (
Int_t i=0;i<nx;i++) {
 
 1230         if (i == nx-1) 
x2 = 1-xr;
 
 1231         for (
Int_t j=0;j<ny;j++) {
 
 1232            number = j*nx + i +1;
 
 1235            if (j == 0)    y2 = 1-yt;
 
 1236            if (j == ny-1) y1 = 0;
 
 1255   if (padsav) padsav->
cd();
 
 1276   Divide( w, 
h, xmargin, ymargin, color);
 
 1286      gROOT->MakeDefCanvas();
 
 1324   Int_t nd,nf,nc,nkd,nkf,i,j;
 
 1337   Range(0,0,xpad,ypad);
 
 1342   clevel[nlevel] = obj;
 
 1351      if (nlevel >= maxlev-1) 
break;
 
 1355   Int_t ilevel, nelem;
 
 1356   for (ilevel=nlevel;ilevel>=0;ilevel--) {
 
 1357      cl = clevel[ilevel];
 
 1359      if (nelem > maxelem) maxelem = nelem;
 
 1360      nc = (nelem/50) + 1;
 
 1370      if (dx < 1.3) dx = 1.3;
 
 1371      tsizcm = tsizcm - 0.03*
Double_t(ncdraw-5);
 
 1372      if (tsizcm < 0.27) tsizcm = 0.27;
 
 1377   for (ilevel=nlevel;ilevel>=0;ilevel--) {
 
 1378      cl    = clevel[ilevel];
 
 1380      if (nelem > maxelem) maxelem = nelem;
 
 1381      nc    = (nelem/50) + 1;
 
 1383      if (ilevel < nlevel) 
x1 = 
x2 + 0.5;
 
 1414         if (
box) 
box->SetFillColor(17);
 
 1427            if (i >= nkd) { i = 1; 
y = y1 - 0.5*dy; 
x += 1/
Double_t(nc); }
 
 1428            else { i++; 
y -= dy; }
 
 1432            Int_t dim = 
d->GetArrayDim();
 
 1436            while (indx < dim ){
 
 1437               ldname = strlen(dname);
 
 1438               snprintf(&dname[ldname],256-ldname,
"[%d]",
d->GetMaxIndex(indx));
 
 1459         while ((
m = (
TMethod *) nextm())) {
 
 1461               !strcmp( 
m->GetName(), 
"Dictionary"    ) ||
 
 1462               !strcmp( 
m->GetName(), 
"Class_Version" ) ||
 
 1463               !strcmp( 
m->GetName(), 
"DeclFileName"  ) ||
 
 1464               !strcmp( 
m->GetName(), 
"DeclFileLine"  ) ||
 
 1465               !strcmp( 
m->GetName(), 
"ImplFileName"  ) ||
 
 1466               !strcmp( 
m->GetName(), 
"ImplFileLine"  )
 
 1469            if (fcount > nf) 
break;
 
 1470            if (i >= nkf) { i = 1; 
y = ysep - 0.5*dy; 
x += 1/
Double_t(nc); }
 
 1471            else { i++; 
y -= dy; }
 
 1476            for (j=ilevel-1;j>=0;j--) {
 
 1477               if (cl == clevel[ilevel]) {
 
 1478                  if (clevel[j]->GetMethodAny((
char*)
m->GetName())) {
 
 1525   Int_t pxmin,pxmax,pymin,pymax,pxold,pyold,px,py;
 
 1537      pxmax = canvas->
GetWw();
 
 1539      pymax = cpad->
GetWh();
 
 1541   if(pxold) 
gVirtualX->DrawLine(pxold,pymin,pxold,pymax);
 
 1542   if(pyold) 
gVirtualX->DrawLine(pxmin,pyold,pxmax,pyold);
 
 1588   if (
this !=  padsav) {
 
 1589      Warning(
"DrawFrame",
"Must be called for the current pad only");
 
 1596   if (hframe) 
delete hframe;
 
 1606      for (
Int_t i=1;i<=nbins;i++) {
 
 1609      hframe = 
new TH1F(
"hframe",title,nbins,xbins);
 
 1622   if (padsav) padsav->
cd();
 
 1638   gPad->SetFillColor(0);
 
 1652   for (i=0;i<10;i++) {
 
 1659         box->SetFillStyle(1001);
 
 1660         box->SetFillColor(color);
 
 1661         box->DrawBox(xlow, ylow, xup, yup);
 
 1662         box->SetFillStyle(0);
 
 1663         box->SetLineColor(1);
 
 1664         box->DrawBox(xlow, ylow, xup, yup);
 
 1694   const Int_t kMaxDiff = 5;
 
 1695   const Int_t kMinSize = 20;
 
 1696   static Int_t pxorg, pyorg;
 
 1697   static Int_t px1, px2, py1, py2, pxl, pyl, pxt, pyt, pxold, pyold;
 
 1698   static Int_t px1p, px2p, py1p, py2p, pxlp, pylp, pxtp, pytp;
 
 1699   static Bool_t pA, pB, pC, pD, pTop, pL, pR, pBot, pINSIDE;
 
 1722      pA = pB = pC = pD = pTop = pL = pR = pBot = pINSIDE = 
kFALSE;
 
 1766      if (newcode) 
return;
 
 1833      pA = pB = pC = pD = pTop = pL = pR = pBot = pINSIDE = 
kFALSE;
 
 1837         pxold = pxl; pyold = pyl; pA = 
kTRUE;
 
 1842         pxold = pxt; pyold = pyl; pB = 
kTRUE;
 
 1847         pxold = pxt; pyold = pyt; pC = 
kTRUE;
 
 1852         pxold = pxl; pyold = pyt; pD = 
kTRUE;
 
 1856      if ((px > pxl+kMaxDiff && px < pxt-kMaxDiff) &&
 
 1858         pxold = pxl; pyold = pyl; pTop = 
kTRUE;
 
 1862      if ((px > pxl+kMaxDiff && px < pxt-kMaxDiff) &&
 
 1864         pxold = pxt; pyold = pyt; pBot = 
kTRUE;
 
 1868      if ((py > pyl+kMaxDiff && py < pyt-kMaxDiff) &&
 
 1870         pxold = pxl; pyold = pyl; pL = 
kTRUE;
 
 1874      if ((py > pyl+kMaxDiff && py < pyt-kMaxDiff) &&
 
 1876         pxold = pxt; pyold = pyt; pR = 
kTRUE;
 
 1880      if ((px > pxl+kMaxDiff && px < pxt-kMaxDiff) &&
 
 1881          (py > pyl+kMaxDiff && py < pyt-kMaxDiff)) {    
 
 1882         pxold = px; pyold = py; pINSIDE = 
kTRUE;
 
 1890      if (pA || pB || pC || pD || pTop || pL || pR || pBot)
 
 1893      if (!pA && !pB && !pC && !pD && !pTop && !pL && !pR && !pBot && !pINSIDE)
 
 1906         if (px > pxt-kMinSize) { px = pxt-kMinSize; wx = px; }
 
 1907         if (py > pyt-kMinSize) { py = pyt-kMinSize; wy = py; }
 
 1908         if (px < pxlp) { px = pxlp; wx = px; }
 
 1909         if (py < pylp) { py = pylp; wy = py; }
 
 1927         if (px < pxl+kMinSize) { px = pxl+kMinSize; wx = px; }
 
 1928         if (py > pyt-kMinSize) { py = pyt-kMinSize; wy = py; }
 
 1929         if (px > pxtp) { px = pxtp; wx = px; }
 
 1930         if (py < pylp) { py = pylp; wy = py; }
 
 1948         if (px < pxl+kMinSize) { px = pxl+kMinSize; wx = px; }
 
 1949         if (py < pyl+kMinSize) { py = pyl+kMinSize; wy = py; }
 
 1950         if (px > pxtp) { px = pxtp; wx = px; }
 
 1951         if (py > pytp) { py = pytp; wy = py; }
 
 1969         if (px > pxt-kMinSize) { px = pxt-kMinSize; wx = px; }
 
 1970         if (py < pyl+kMinSize) { py = pyl+kMinSize; wy = py; }
 
 1971         if (px < pxlp) { px = pxlp; wx = px; }
 
 1972         if (py > pytp) { py = pytp; wy = py; }
 
 1991         if (py2 > py1-kMinSize) { py2 = py1-kMinSize; wy = py2; }
 
 1992         if (py2 < py2p) { py2 = py2p; wy = py2; }
 
 2007         if (py1 < py2+kMinSize) { py1 = py2+kMinSize; wy = py1; }
 
 2008         if (py1 > py1p) { py1 = py1p; wy = py1; }
 
 2023         if (px1 > px2-kMinSize) { px1 = px2-kMinSize; wx = px1; }
 
 2024         if (px1 < px1p) { px1 = px1p; wx = px1; }
 
 2040         if (px2 < px1+kMinSize) { px2 = px1+kMinSize; wx = px2; }
 
 2041         if (px2 > px2p) { px2 = px2p; wx = px2; }
 
 2056         Int_t dx = px - pxold;
 
 2057         Int_t dy = py - pyold;
 
 2058         px1 += dx; py1 += dy; px2 += dx; py2 += dy;
 
 2059         if (px1 < px1p) { dx = px1p - px1; px1 += dx; px2 += dx; wx = px+dx; }
 
 2060         if (px2 > px2p) { dx = px2 - px2p; px1 -= dx; px2 -= dx; wx = px-dx; }
 
 2061         if (py1 > py1p) { dy = py1 - py1p; py1 -= dy; py2 -= dy; wy = py-dy; }
 
 2062         if (py2 < py2p) { dy = py2p - py2; py1 += dy; py2 += dy; wy = py+dy; }
 
 2076      x1 = 
x2 = y1 = y2 = 0;
 
 2103         if (pTop || pBot || pL || pR || pINSIDE) {
 
 2110         if (px != pxorg || py != pyorg) {
 
 2134         if (pINSIDE) 
gPad->ShowGuidelines(
this, event);
 
 2135         if (pTop) 
gPad->ShowGuidelines(
this, event, 
't', 
true);
 
 2136         if (pBot) 
gPad->ShowGuidelines(
this, event, 
'b', 
true);
 
 2137         if (pL) 
gPad->ShowGuidelines(
this, event, 
'l', 
true);
 
 2138         if (pR) 
gPad->ShowGuidelines(
this, event, 
'r', 
true);
 
 2139         if (pA) 
gPad->ShowGuidelines(
this, event, 
'1', 
true);
 
 2140         if (pB) 
gPad->ShowGuidelines(
this, event, 
'2', 
true);
 
 2141         if (pC) 
gPad->ShowGuidelines(
this, event, 
'3', 
true);
 
 2142         if (pD) 
gPad->ShowGuidelines(
this, event, 
'4', 
true);
 
 2151      if (
gROOT->IsEscaped()) {
 
 2156      if (opaque||ropaque) {
 
 2159         x1 = 
x2 = y1 = y2 = 0;
 
 2185         if (pTop || pBot || pL || pR || pINSIDE) {
 
 2192         if (pA || pB || pC || pD || pTop || pL || pR || pBot)
 
 2198         if (px != pxorg || py != pyorg) {
 
 2235         event = 
gVirtualX->RequestLocator(1, 1, px, py);
 
 2274   static Int_t axisNumber;
 
 2276   static Int_t px1old, py1old, px2old, py2old;
 
 2280   static TBox *zoombox;
 
 2281   Double_t zbx1=0,zbx2=0,zby1=0,zby2=0;
 
 2288   if (strstr(opt,
"cont4")) {
 
 2297      if (!strcmp(axis->
GetName(),
"xaxis")) {
 
 2301      if (!strcmp(axis->
GetName(),
"yaxis")) {
 
 2305      if (!strcmp(axis->
GetName(),
"zaxis")) {
 
 2311         if (axisNumber == 1) {
 
 2317         } 
else if (axisNumber == 2) {
 
 2333            if (axisNumber == 1) {
 
 2338            } 
else if (axisNumber == 2) {
 
 2352            zoombox = 
new TBox(zbx1, zby1, zbx2, zby2);
 
 2363      if (!opaque) 
gVirtualX->SetLineColor(-1);
 
 2371         if (axisNumber == 1) {
 
 2381            if (axisNumber == 1) {
 
 2386            } 
else if (axisNumber == 2) {
 
 2401               zoombox->
SetX1(zbx1);
 
 2402               zoombox->
SetY1(zby1);
 
 2403               zoombox->
SetX2(zbx2);
 
 2404               zoombox->
SetY2(zby2);
 
 2437      if (
gROOT->IsEscaped()) {
 
 2439         if (opaque && zoombox) {
 
 2448         if (ratio1 > ratio2) {
 
 2453         if (ratio2 - ratio1 > 0.05) {
 
 2455            if (axisNumber == 3 && hobj && hobj->
GetDimension() != 3) {
 
 2464               Float_t newmin = zmin + (zmax-zmin)*ratio1;
 
 2465               Float_t newmax = zmin + (zmax-zmin)*ratio2;
 
 2489         if (axisNumber == 1) {
 
 2497         } 
else if (axisNumber == 2) {
 
 2525            xmin = ((
xmin-xmi)/(xma-xmi))*(up-low)+low;
 
 2526            xmax = ((
xmax-xmi)/(xma-xmi))*(up-low)+low;
 
 2529         if (!strcmp(axis->
GetName(),
"xaxis")) axisNumber = 1;
 
 2530         if (!strcmp(axis->
GetName(),
"yaxis")) axisNumber = 2;
 
 2531         if (ratio2 - ratio1 > 0.05) {
 
 2538            if (axisNumber == 1) axis->
SetRange(bin1,bin2);
 
 2539            if (axisNumber == 2 && hobj1) {
 
 2556            while ((obj= next())) {
 
 2559               if (hobj == hobj1) 
continue;
 
 2562               if (axisNumber == 1) {
 
 2564               } 
else if (axisNumber == 2) {
 
 2607   if (found) 
return found;
 
 2610   while ((cur = next())) {
 
 2613         if (found) 
return found;
 
 2628   if (found) 
return found;
 
 2631   while ((cur = next())) {
 
 2634         if (found) 
return found;
 
 2709   if (
fCanvas == 
this) 
return nullptr;
 
 2718   if (
fCanvas == 
this) 
return nullptr;
 
 2727   if (
fCanvas == 
this) 
return nullptr;
 
 2870   while ((obj=next())) {
 
 2874      if (found) 
return found;
 
 2884   if (!subpadnumber) {
 
 2891   while ((obj = next())) {
 
 2894         if (pad->
GetNumber() == subpadnumber) 
return pad;
 
 2941   if (color <= 0) 
return;
 
 2959      gROOT->SetSelectedPad(
this);
 
 2976        <<
" Name= "<<
GetName()<<
" Title= "<<
GetTitle()<<
" Option="<<option<<std::endl;
 
 2988   if (opt.
Index(
"pfc")>=0 || opt.
Index(
"plc")>=0 || opt.
Index(
"pmc")>=0) {
 
 3006      if (i>=ncolors) i = ncolors-1;
 
 3018   Int_t const cellSize = 10; 
 
 3037      for (
int i = 0; i<
fCGnx; i++) {
 
 3038         for (
int j = 0; j<
fCGny; j++) {
 
 3049   for (
int i=0; i<np; i++) {
 
 3058            TIter nextgraph(grlist);
 
 3064            TIter nexthist(hlist);
 
 3066            while ((oh = nexthist())) {
 
 3080   for (
int r=i; 
r<w+i; 
r++) {
 
 3081      for (
int c=j; 
c<
h+j; 
c++) {
 
 3108   for (
Int_t i = 0; i<nxmax; i++) {
 
 3109      for (
Int_t j = 0; j<=nymax; j++) {
 
 3122#define NotFree(i, j) fCollideGrid[TMath::Max(TMath::Min(i+j*fCGnx,fCGnx*fCGny),0)] = kFALSE; 
 3149         yt = y1; y1 = y2; y2 = yt;
 
 3151      for (i=
x1+1; i<
x2; i++) {
 
 3158         yt = y1; y1 = y2; y2 = yt;
 
 3161      for (j=y1+1; j<y2; j++) {
 
 3181   for (
int i = 
x1; i<=
x2; i++) {
 
 3182      for (
int j = y1; j<=y2; j++) 
NotFree(i, j);
 
 3200   for (i = 
x1; i<=
x2; i++) {
 
 3205   for (i = y1; i<=y2; i++) {
 
 3223   for (
Int_t i=1; i<
n; i++) {
 
 3224      g->GetPoint(i-1,
x1,y1);
 
 3225      g->GetPoint(i  ,
x2,y2);
 
 3239                  (
int)((y1-
fY1)/ys), (
int)((y2-
fY1)/ys));
 
 3252   if (
name.Index(
"hframe") >= 0) 
return;
 
 3257   bool haserrors = 
false;
 
 3258   TString drawOption = 
h->GetDrawOption();
 
 3262   if (drawOption.
Index(
"hist") < 0) {
 
 3263      if (drawOption.
Index(
"e") >= 0) haserrors = 
true;
 
 3266   Int_t nx = 
h->GetNbinsX();
 
 3271   for (i = 1; i<nx; i++) {
 
 3273         x1l = 
h->GetBinCenter(i);
 
 3279         y1l = 
h->GetBinContent(i)-
h->GetBinErrorLow(i);
 
 3285         y2l = 
h->GetBinContent(i)+
h->GetBinErrorUp(i);
 
 3291         for (j=y1; j<=y2; j++) {
 
 3295      x1l = 
h->GetBinLowEdge(i);
 
 3301      y1l = 
h->GetBinContent(i);
 
 3308      x1l = 
h->GetBinLowEdge(i)+
h->GetBinWidth(i);
 
 3313      x1 = (int)((x1l-
fX1)/xs);
 
 3329   box->SetFillColorAlpha(
kRed,0.5);
 
 3340   for (
int i = 0; i<
fCGnx; i++) {
 
 3343      for (
int j = 0; j<
fCGny; j++) {
 
 3344         if (
gPad->GetLogx()) {
 
 3351         if (
gPad->GetLogy()) {
 
 3360            box->DrawBox(X1L, Y1L, X2L, Y2L);
 
 3362            box->SetFillColorAlpha(
kRed,t);
 
 3363            box->DrawBox(X1L, Y1L, X2L, Y2L);
 
 3367         if (t==0.15) t = 0.1;
 
 3461         began3DScene = 
kTRUE;
 
 3468   if (padsav) padsav->
cd();
 
 3497   if (color < 0) color = -color;
 
 3504   if (bordersize <= 0) bordersize = 2;
 
 3525   if (px1 < px2) {xl = 
fX1; xt = 
fX2; }
 
 3526   else           {xl = 
fX2; xt = 
fX1;}
 
 3527   if (py1 > py2) {yl = 
fY1; yt = 
fY2;}
 
 3528   else           {yl = 
fY2; yt = 
fY1;}
 
 3530   Double_t frameXs[7] = {}, frameYs[7] = {};
 
 3534      frameXs[0] = xl;           frameYs[0] = yl;
 
 3535      frameXs[1] = xl + realBsX; frameYs[1] = yl + realBsY;
 
 3536      frameXs[2] = frameXs[1];   frameYs[2] = yt - realBsY;
 
 3537      frameXs[3] = xt - realBsX; frameYs[3] = frameYs[2];
 
 3538      frameXs[4] = xt;           frameYs[4] = yt;
 
 3539      frameXs[5] = xl;           frameYs[5] = yt;
 
 3540      frameXs[6] = xl;           frameYs[6] = yl;
 
 3547      frameXs[0] = xl;              frameYs[0] = yl;
 
 3548      frameXs[1] = xl + realBsX;    frameYs[1] = yl + realBsY;
 
 3549      frameXs[2] = xt - realBsX;    frameYs[2] = frameYs[1];
 
 3550      frameXs[3] = frameXs[2];      frameYs[3] = yt - realBsY;
 
 3551      frameXs[4] = xt;              frameYs[4] = yt;
 
 3552      frameXs[5] = xt;              frameYs[5] = yl;
 
 3553      frameXs[6] = xl;              frameYs[6] = yl;
 
 3686         ((
TPad*)obj)->PaintModified();
 
 3698            began3DScene = 
kTRUE;
 
 3706   if (padsav) padsav->
cd();
 
 3727   if (!
gPad->IsBatch()) {
 
 3730      if (option[0] == 
's') {
 
 3743               xb[0] = 
x1; xb[1] = 
x1; xb[2] = 
x2; xb[3] = 
x2;
 
 3744               yb[0] = y1; yb[1] = y2; yb[2] = y2; yb[3] = y1;
 
 3793      if (option[0] == 
's') {
 
 3796         if (style0 >= 3100 && style0 < 4000) {
 
 3798            xb[0] = 
x1; xb[1] = 
x1; xb[2] = 
x2; xb[3] = 
x2;
 
 3799            yb[0] = y1; yb[1] = y2; yb[2] = y2; yb[3] = y1;
 
 3805      if (option[0] == 
'l') {
 
 3824   while ((obj = next())) {
 
 3826         if (obj == stop) 
break;
 
 3827         ((
TPad*)obj)->CopyBackgroundPixmap(
x, 
y);
 
 3828         ((
TPad*)obj)->CopyBackgroundPixmaps((
TPad*)obj, stop, 
x, 
y);
 
 3847   Warning(
"TPad::PaintFillArea", 
"Float_t signature is obsolete. Use Double_t signature.");
 
 3865   std::vector<Double_t> 
x(nc, 0.);
 
 3866   std::vector<Double_t> 
y(nc, 0.);
 
 3875   if (fillstyle >= 3100 && fillstyle < 4000) {
 
 3880   if (!
gPad->IsBatch())
 
 3897   for (
int i=0; i<
n; i++) {
 
 3941   static Double_t ang1[10] = {  0., 10., 20., 30., 45.,5., 60., 70., 80., 89.99};
 
 3942   static Double_t ang2[10] = {180.,170.,160.,150.,135.,5.,120.,110.,100., 89.99};
 
 3947   Int_t iAng1 = fasi%10;
 
 3955   if (!
gPad->IsBatch()) {
 
 3968   if (!
gPad->IsBatch()) {
 
 3980   if (ang1[iAng1] != 5.) 
PaintHatches(dy, ang1[iAng1], nn, xx, yy);
 
 3981   if (ang2[iAng2] != 5.) 
PaintHatches(dy, ang2[iAng2], nn, xx, yy);
 
 3984   if (!
gPad->IsBatch()) {
 
 4008   const Int_t maxnbi = 100;
 
 4009   Double_t xli[maxnbi], xlh[2], ylh[2], xt1, xt2, yt1, yt2;
 
 4010   Double_t ll, 
x, 
y, 
x1, 
x2, y1, y2, 
a, 
b, xi, xip, xin, yi, yip;
 
 4016   ratiox = 1./(rwxmax-rwxmin);
 
 4017   ratioy = 1./(rwymax-rwymin);
 
 4030   gPad->GetPadPar(x1p,y1p,x2p,y2p);
 
 4039   for (i=1; i<=nn; i++) {
 
 4040      x    = wndc*ratiox*(xx[i-1]-rwxmin);
 
 4041      y    = hndc*ratioy*(yy[i-1]-rwymin);
 
 4042      yrot = sina*
x+cosa*
y;
 
 4048   for (ycur=
ymax; ycur>=
ymin; ycur=ycur-dy) {
 
 4050      for (i=2; i<=nn+1; i++) {
 
 4053         if (i == nn+1) i2=1;
 
 4054         x1  = wndc*ratiox*(xx[i1-1]-rwxmin);
 
 4055         y1  = hndc*ratioy*(yy[i1-1]-rwymin);
 
 4056         x2  = wndc*ratiox*(xx[i2-1]-rwxmin);
 
 4057         y2  = hndc*ratioy*(yy[i2-1]-rwymin);
 
 4058         xt1 = cosa*
x1-sina*y1;
 
 4059         yt1 = sina*
x1+cosa*y1;
 
 4060         xt2 = cosa*
x2-sina*y2;
 
 4061         yt2 = sina*
x2+cosa*y2;
 
 4072            if ((yi <= ycur) && (ycur < yip)) {
 
 4074               if (nbi >= maxnbi) 
return;
 
 4084               if (nbi >= maxnbi) 
return;
 
 4087               if (nbi >= maxnbi) 
return;
 
 4094         a = (yt1-yt2)/(xt1-xt2);
 
 4095         b = (yt2*xt1-xt2*yt1)/(xt1-xt2);
 
 4104         if  ((xi <= xin) && (xin < xip) &&
 
 4108            if (nbi >= maxnbi) 
return;
 
 4117      for (i=1; i<=
m; i++) {
 
 4118         if (xli[i] < xli[i-1]) {
 
 4126      if (
inv == 0) 
goto L50;
 
 4132      if (nbi%2 != 0) 
continue;
 
 4134      for (i=1; i<=nbi; i=i+2) {
 
 4136         xlh[0] = cosb*xli[i-1]-sinb*ycur;
 
 4137         ylh[0] = sinb*xli[i-1]+cosb*ycur;
 
 4138         xlh[1] = cosb*xli[i]  -sinb*ycur;
 
 4139         ylh[1] = sinb*xli[i]  +cosb*ycur;
 
 4141         xlh[0] = (xlh[0]/wndc)*(rwxmax-rwxmin)+rwxmin;
 
 4142         ylh[0] = (ylh[0]/hndc)*(rwymax-rwymin)+rwymin;
 
 4143         xlh[1] = (xlh[1]/wndc)*(rwxmax-rwxmin)+rwxmin;
 
 4144         ylh[1] = (ylh[1]/hndc)*(rwymax-rwymin)+rwymin;
 
 4145         gPad->PaintLine(xlh[0], ylh[0], xlh[1], ylh[1]);
 
 4156   x[0] = 
x1;   
x[1] = 
x2;   
y[0] = y1;   
y[1] = y2;
 
 4165   if (!
gPad->IsBatch())
 
 4181   if (!
gPad->IsBatch())
 
 4206   for (i=0;i<3;i++) temp[i] = p1[i];
 
 4208   for (i=0;i<3;i++) temp[i] = p2[i];
 
 4210   PaintLine(xpad[0],xpad[1],xpad[3],xpad[4]);
 
 4224   for (i=0;i<3;i++) temp[i] = p1[i];
 
 4226   for (i=0;i<3;i++) temp[i] = p2[i];
 
 4228   PaintLine(xpad[0],xpad[1],xpad[3],xpad[4]);
 
 4244   Int_t i, i1=-1,np=1;
 
 4245   for (i=0; i<
n-1; i++) {
 
 4257      if (iclip == 0 && i < 
n-2) 
continue;
 
 4258      if (!
gPad->IsBatch())
 
 4291      if (option && (option[0] == 
'C')) mustClip = 
kFALSE;
 
 4294   Int_t i, i1=-1, np=1, iclip=0;
 
 4296   for (i=0; i < 
n-1; i++) {
 
 4310      if (iclip == 0 && i < 
n-2) 
continue;
 
 4311      if (!
gPad->IsBatch())
 
 4336   if (!
gPad->IsBatch())
 
 4342      for (
Int_t i=0; i<
n; i++) {
 
 4361   for (
Int_t i = 1; i < 
n; i++)
 
 4380   for (i=0; i<
n; i++) {
 
 4384         if (i < 
n-1) 
continue;
 
 4386      if (np == 0) 
continue;
 
 4387      if (!
gPad->IsBatch())
 
 4411   for (i=0; i<
n; i++) {
 
 4415         if (i < 
n-1) 
continue;
 
 4417      if (np == 0) 
continue;
 
 4418      if (!
gPad->IsBatch())
 
 4436   if (!
gPad->IsBatch())
 
 4449   if (!
gPad->IsBatch())
 
 4462   if (!
gPad->IsBatch())
 
 4479   if (!
gPad->IsBatch())
 
 4507   if (
gPad == 0) 
return 0; 
 
 4514   if (
this != 
gPad->GetCanvas()) {
 
 4523   TPad *picked = 
this;
 
 4527      pickobj = &dummyLink;
 
 4556         pick = ((
TPad*)obj)->
Pick(px, py, pickobj);
 
 4561      } 
else if (!
gROOT->GetEditorMode()) {
 
 4568                  if (
dist == 0) 
break;
 
 4583   if (
fView && !gotPrim) {
 
 4607      if (picked == 
this) {
 
 4630   while ((obj = next()))
 
 4659   ((
TPad*)
this)->SaveAs(filename);
 
 4671   while ((obj = next())) {
 
 4826   TString psname, fs1 = filenam;
 
 4843   const char *opt_default = 
"ps";
 
 4845   TString opt = !option ? opt_default : option;
 
 4867   if (strstr(opt, 
"gif+")) {
 
 4870   } 
else if (strstr(opt, 
"gif")) {
 
 4873   } 
else if (strstr(opt, 
"png")) {
 
 4876   } 
else if (strstr(opt, 
"jpg")) {
 
 4879   } 
else if (strstr(opt, 
"tiff")) {
 
 4882   } 
else if (strstr(opt, 
"xpm")) {
 
 4885   } 
else if (strstr(opt, 
"bmp")) {
 
 4892   if (!
gROOT->IsBatch() && image) {
 
 4895         Color_t hc = 
gPad->GetCanvas()->GetHighLightColor();
 
 4896         gPad->GetCanvas()->SetHighLightColor(-1);
 
 4902            Info(
"Print", 
"GIF file %s has been created", psname.
Data());
 
 4904         gPad->GetCanvas()->SetHighLightColor(hc);
 
 4908         Color_t hc = 
gPad->GetCanvas()->GetHighLightColor();
 
 4909         gPad->GetCanvas()->SetHighLightColor(-1);
 
 4916            Info(
"Print", 
"file %s has been created", psname.
Data());
 
 4918         gPad->GetCanvas()->SetHighLightColor(hc);
 
 4920         Warning(
"Print", 
"Unsupported image format %s", psname.
Data());
 
 4926   if (strstr(opt,
"cxx")) {
 
 4932   if (strstr(opt,
"root")) {
 
 4938   if (strstr(opt,
"xml")) {
 
 4945   if (strstr(opt,
"json")) {
 
 4951   if (strstr(opt,
"svg")) {
 
 4966         if ((
h = 
gROOT->GetPluginManager()->FindHandler(
"TVirtualPS", 
"svg"))) {
 
 4967            if (
h->LoadPlugin() == -1)
 
 4993   if (strstr(opt,
"tex")) {
 
 5008         if ((
h = 
gROOT->GetPluginManager()->FindHandler(
"TVirtualPS", 
"tex"))) {
 
 5009            if (
h->LoadPlugin() == -1)
 
 5044      copen   = psname.
EndsWith(
"("); 
if (copen)   psname[psname.
Length()-1] = 0;
 
 5045      cclose  = psname.
EndsWith(
")"); 
if (cclose)  psname[psname.
Length()-1] = 0;
 
 5046      copenb  = psname.
EndsWith(
"["); 
if (copenb)  psname[psname.
Length()-1] = 0;
 
 5047      ccloseb = psname.
EndsWith(
"]"); 
if (ccloseb) psname[psname.
Length()-1] = 0;
 
 5051   if (copen  || copenb)  mustClose = 
kFALSE;
 
 5052   if (cclose || ccloseb) mustClose = 
kTRUE;
 
 5063   if (ratio < 1)               pstype = 112;
 
 5064   if (strstr(opt,
"Portrait"))  pstype = 111;
 
 5065   if (strstr(opt,
"Landscape")) pstype = 112;
 
 5066   if (strstr(opt,
"eps"))       pstype = 113;
 
 5067   if (strstr(opt,
"Preview"))   pstype = 113;
 
 5075      if (strstr(opt,
"pdf") || strstr(opt,
"Title:") || strstr(opt,
"EmbedFonts")) {
 
 5076         if ((
h = 
gROOT->GetPluginManager()->FindHandler(
"TVirtualPS", 
"pdf"))) {
 
 5077            if (
h->LoadPlugin() == -1) 
return;
 
 5082         if ((
h = 
gROOT->GetPluginManager()->FindHandler(
"TVirtualPS", 
"image"))) {
 
 5083            if (
h->LoadPlugin() == -1) 
return;
 
 5087         if ((
h = 
gROOT->GetPluginManager()->FindHandler(
"TVirtualPS", 
"ps"))) {
 
 5088            if (
h->LoadPlugin() == -1) 
return;
 
 5096      if (titlePos != 
kNPOS) {
 
 5103         if (!strstr(opt,
"pdf") || image) {
 
 5120         if (!copen) 
Info(
"Print", 
"%s file %s has been created", opt.
Data(), psname.
Data());
 
 5121         else        Info(
"Print", 
"%s file %s has been created using the current canvas", opt.
Data(), psname.
Data());
 
 5130      if (titlePos != 
kNPOS) {
 
 5137         if (cclose) 
Info(
"Print", 
"Current canvas added to %s file %s and file closed", opt.
Data(), psname.
Data());
 
 5138         else        Info(
"Print", 
"%s file %s has been closed", opt.
Data(), psname.
Data());
 
 5143         Info(
"Print", 
"Current canvas added to %s file %s", opt.
Data(), psname.
Data());
 
 5149   if (strstr(opt,
"EmbedFonts")) {
 
 5150      gSystem->
Exec(
Form(
"gs -quiet -dSAFER -dNOPLATFONTS -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dUseCIEColor -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dCompatibilityLevel=1.4 -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true -sOutputFile=pdf_temp.pdf -f %s",
 
 5165   if ((
x1 >= 
x2) || (y1 >= y2)) {
 
 5166      Error(
"Range", 
"illegal world coordinates range: x1=%f, y1=%f, x2=%f, y2=%f",
x1,y1,
x2,y2);
 
 5204      Error(
"RangeAxis", 
"illegal axis coordinates range: xmin=%f, ymin=%f, xmax=%f, ymax=%f",
 
 5257   while ((obj = next())) {
 
 5267            TH1F *h1f = 
mg->GetHistogram();
 
 5268            if (h1f) h1f->
DrawCopy(
"sameaxis");
 
 5274         if (
g) 
g->GetHistogram()->DrawCopy(
"sameaxis");
 
 5287   if (padsav) padsav->
cd();
 
 5417      Error(
"ResizePad", 
"Cannot resize pad. No current pad available.");
 
 5423   if (
this == 
gPad->GetCanvas()) {
 
 5476   while ((obj = next())) {
 
 5478         ((
TPad*)obj)->ResizePad(option);
 
 5482   if (
gPad->IsBatch())
 
 5500            Warning(
"ResizePad", 
"Inf/NaN propagated to the pad. Check drawn objects.");
 
 5501         if (w <= 0 || w > 10000) {
 
 5502            Warning(
"ResizePad", 
"%s width changed from %d to %d\n",
GetName(),w,10);
 
 5505         if (h <= 0 || h > 10000) {
 
 5506            Warning(
"ResizePad", 
"%s height changed from %d to %d\n",
GetName(),
h,10);
 
 5521      if (padsav == 
this) {
 
 5555   Int_t lenfil =  filename ? strlen(filename) : 0;
 
 5558   else            psname = filename;
 
 5569      ((
TPad*)
this)->Print(psname,
"gif");
 
 5621   const char *cname = 
GetName();
 
 5622   Int_t nch = strlen(cname);
 
 5624      strlcpy(lcname,cname,10);
 
 5625      for (
Int_t k=1;k<=nch;k++) {
if (lcname[nch-k] == 
' ') lcname[nch-k] = 0;}
 
 5626      if (lcname[0] == 0) {
 
 5627         if (
this == 
gPad->GetCanvas()) {strlcpy(lcname,
"c1",10);  nch = 2;}
 
 5628         else                           {strlcpy(lcname,
"pad",10); nch = 3;}
 
 5634   if (
this != 
gPad->GetCanvas()) {
 
 5635      out <<
"  "<<std::endl;
 
 5636      out <<
"// ------------>Primitives in pad: "<<
GetName()<<std::endl;
 
 5638      out<<
"   TPad *"<<cname<<
" = new TPad("<<quote<<
GetName()<<quote<<
", "<<quote<<
GetTitle()
 
 5645      out<<
"   "<<cname<<
"->Draw();"<<std::endl;
 
 5646      out<<
"   "<<cname<<
"->cd();"<<std::endl;
 
 5648   out<<
"   "<<cname<<
"->Range("<<
fX1<<
","<<
fY1<<
","<<
fX2<<
","<<
fY2<<
");"<<std::endl;
 
 5653      static Int_t viewNumber = 0;
 
 5654      out<<
"   TView *view"<<++viewNumber<<
" = TView::CreateView(1);"<<std::endl;
 
 5655      out<<
"   view"<<viewNumber<<
"->SetRange("<<rmin[0]<<
","<<rmin[1]<<
","<<rmin[2]<<
"," 
 5656                               <<rmax[0]<<
","<<rmax[1]<<
","<<rmax[2]<<
");"<<std::endl;
 
 5661         out<<
"   "<<cname<<
"->SetFillColor(ci);" << std::endl;
 
 5663         out<<
"   "<<cname<<
"->SetFillColor("<<
GetFillColor()<<
");"<<std::endl;
 
 5666      out<<
"   "<<cname<<
"->SetFillStyle("<<
GetFillStyle()<<
");"<<std::endl;
 
 5669      out<<
"   "<<cname<<
"->SetBorderMode("<<
GetBorderMode()<<
");"<<std::endl;
 
 5672      out<<
"   "<<cname<<
"->SetBorderSize("<<
GetBorderSize()<<
");"<<std::endl;
 
 5675      out<<
"   "<<cname<<
"->SetLogx();"<<std::endl;
 
 5678      out<<
"   "<<cname<<
"->SetLogy();"<<std::endl;
 
 5681      out<<
"   "<<cname<<
"->SetLogz();"<<std::endl;
 
 5684      out<<
"   "<<cname<<
"->SetGridx();"<<std::endl;
 
 5687      out<<
"   "<<cname<<
"->SetGridy();"<<std::endl;
 
 5690      out<<
"   "<<cname<<
"->SetTickx("<<
GetTickx()<<
");"<<std::endl;
 
 5693      out<<
"   "<<cname<<
"->SetTicky("<<
GetTicky()<<
");"<<std::endl;
 
 5696      out<<
"   "<<cname<<
"->SetTheta("<<
GetTheta()<<
");"<<std::endl;
 
 5699      out<<
"   "<<cname<<
"->SetPhi("<<
GetPhi()<<
");"<<std::endl;
 
 5702      out<<
"   "<<cname<<
"->SetLeftMargin("<<
GetLeftMargin()<<
");"<<std::endl;
 
 5705      out<<
"   "<<cname<<
"->SetRightMargin("<<
GetRightMargin()<<
");"<<std::endl;
 
 5708      out<<
"   "<<cname<<
"->SetTopMargin("<<
GetTopMargin()<<
");"<<std::endl;
 
 5711      out<<
"   "<<cname<<
"->SetBottomMargin("<<
GetBottomMargin()<<
");"<<std::endl;
 
 5717         out<<
"   "<<cname<<
"->SetFrameFillColor(ci);" << std::endl;
 
 5730         out<<
"   "<<cname<<
"->SetFrameLineColor(ci);" << std::endl;
 
 5750            out<<
"   "<<cname<<
"->SetFrameFillColor(ci);" << std::endl;
 
 5752            out<<
"   "<<cname<<
"->SetFrameFillColor("<<frame->
GetFillColor()<<
");"<<std::endl;
 
 5755         out<<
"   "<<cname<<
"->SetFrameFillStyle("<<frame->
GetFillStyle()<<
");"<<std::endl;
 
 5758         out<<
"   "<<cname<<
"->SetFrameLineStyle("<<frame->
GetLineStyle()<<
");"<<std::endl;
 
 5763            out<<
"   "<<cname<<
"->SetFrameLineColor(ci);" << std::endl;
 
 5765            out<<
"   "<<cname<<
"->SetFrameLineColor("<<frame->
GetLineColor()<<
");"<<std::endl;
 
 5768         out<<
"   "<<cname<<
"->SetFrameLineWidth("<<frame->
GetLineWidth()<<
");"<<std::endl;
 
 5771         out<<
"   "<<cname<<
"->SetFrameBorderMode("<<frame->
GetBorderMode()<<
");"<<std::endl;
 
 5774         out<<
"   "<<cname<<
"->SetFrameBorderSize("<<frame->
GetBorderSize()<<
");"<<std::endl;
 
 5782   while ((obj = next())) {
 
 5784         if (!strcmp(obj->
GetName(),
"Graph")) ((
TGraph*)obj)->SetName(
Form(
"Graph%d",grnum++));
 
 5787   out<<
"   "<<cname<<
"->Modified();"<<std::endl;
 
 5789   if (padsav) padsav->
cd();
 
 5802            Error(
"SetAspectRatio", 
"cannot fix aspect ratio, height of pad is 0");
 
 5826   while ((obj = next())) {
 
 5840   if (fstyle == 0) fstyle = 4000;
 
 5935   SetPad(xlow, ylow, xup, yup);
 
 5943   if (!view) 
delete fView;
 
 6016   x1 = 
x2 = y1 = y2 = 0;
 
 6018      if (aBBox.
fX<bBBox.
fX) {
 
 6034   else if (mode == 
'y') {
 
 6035      if (aBBox.
fY<bBBox.
fY) {
 
 6053   A->SetFillColor(lineColor);
 
 6055   A->SetLineColor(lineColor);
 
 6073      : fa(0), fb(0), fdist(0), fdir(
' ')
 
 6077      : fa(
a), fb(
b), fdist(
dist), fdir(direction)
 
 6103   std::vector<dField> curDist;
 
 6104   std::vector<dField> otherDist;
 
 6114   Int_t dSizeArrow = 12;   
 
 6116   movedX = movedY = 
false;
 
 6119   if (mode != 
'i') resize = 
true;
 
 6121   TPad *is_pad = 
dynamic_cast<TPad *
>( object );
 
 6126   static TPad * tmpGuideLinePad;
 
 6129   if (tmpGuideLinePad) {
 
 6130      if (
object == tmpGuideLinePad) { 
 
 6131         tmpGuideLinePad->
Delete();
 
 6132         tmpGuideLinePad = 0;
 
 6135      tmpGuideLinePad->
Delete();
 
 6136      tmpGuideLinePad = 0;
 
 6140   prims = 
gPad->GetListOfPrimitives();
 
 6147      if (!tmpGuideLinePad){
 
 6148         tmpGuideLinePad = 
new TPad(
"tmpGuideLinePad", 
"tmpGuideLinePad", 0, 0, 1, 1);
 
 6154         tmpGuideLinePad->
Draw();
 
 6155         tmpGuideLinePad->
cd();
 
 6158      if (cling && !
log) threshold = 7;
 
 6171         MX  = 
gPad->GetX1() + 0.5 * (
gPad->GetX2()-
gPad->GetX1());
 
 6172         MY  = 
gPad->GetY1() + 0.5 * (
gPad->GetY2()-
gPad->GetY1());
 
 6173         pMX = 
gPad->XtoPixel(MX);
 
 6174         pMY = 
gPad->YtoPixel(MY);
 
 6177            if (cling && (!resize)) {
 
 6185            L->SetLineColor(lineColor);
 
 6189            if (cling && (!resize)) {
 
 6197            L->SetLineColor(lineColor);
 
 6201         for (
UInt_t i = 0; i<
n; i++) {
 
 6207                     if (cling && (!resize)) {
 
 6214                     L->SetLineColor(lineColor);
 
 6219                     if (cling && (!resize)) {
 
 6227                     L->SetLineColor(lineColor);
 
 6234         for (
UInt_t i = 0; i<
n; i++) {
 
 6237               aBBox = 
a->GetBBox();
 
 6238               for (
UInt_t j = i+1; j<
n; j++) {
 
 6241                     bBBox = 
b->GetBBox();
 
 6246                           dField abDist = dField();
 
 6249                           if ((
b != cur)&&(
a != cur)) otherDist.push_back(abDist);
 
 6250                           else curDist.push_back(abDist);
 
 6254                           dField abDist = dField();
 
 6257                           if ((
b != cur)&&(
a != cur)) otherDist.push_back(abDist);
 
 6258                           else                        curDist.push_back(abDist);
 
 6266         for (
UInt_t i = 0; i<curDist.size(); i++) {
 
 6267            for (
UInt_t j = 0; j<otherDist.size(); j++) {
 
 6268               if ((curDist[i].fdir == otherDist[j].fdir)&&(otherDist[j].fdir==
'x')&&(
TMath::Abs(curDist[i].fdist-otherDist[j].fdist)<threshold)) {
 
 6269                  if (cling && (!movedX) && (!resize)) {
 
 6275                  DrawDist(curDist[i].fa->GetBBox(), curDist[i].fb->GetBBox(), 
'x');
 
 6276                  DrawDist(otherDist[j].fa->GetBBox(), otherDist[j].fb->GetBBox(), 
'x');
 
 6278               if ((curDist[i].fdir == otherDist[j].fdir)&&(otherDist[j].fdir==
'y')&&(
TMath::Abs(curDist[i].fdist-otherDist[j].fdist)<threshold)) {
 
 6279                  if (cling && (!movedY) && (!resize)) {
 
 6285                  DrawDist(curDist[i].fa->GetBBox(), curDist[i].fb->GetBBox(), 
'y');
 
 6286                  DrawDist(otherDist[j].fa->GetBBox(), otherDist[j].fb->GetBBox(), 
'y');
 
 6289            for (
UInt_t j = i; j<curDist.size(); j++) {
 
 6291                  if ((curDist[i].fdir == curDist[j].fdir)&&(curDist[j].fdir==
'x')&&(
TMath::Abs(curDist[i].fdist-curDist[j].fdist)<threshold)) {
 
 6292                     if (cling && (!movedX) && (!resize)) {
 
 6297                     DrawDist(curDist[i].fa->GetBBox(), curDist[i].fb->GetBBox(), 
'x');
 
 6298                     DrawDist(curDist[j].fa->GetBBox(), curDist[j].fb->GetBBox(), 
'x');
 
 6301                  if ((curDist[i].fdir == curDist[j].fdir)&&(curDist[j].fdir==
'y')&&(
TMath::Abs(curDist[i].fdist-curDist[j].fdist)<threshold)) {
 
 6302                     if (cling && (!movedY) && (!resize)) {
 
 6307                     DrawDist(curDist[i].fa->GetBBox(), curDist[i].fb->GetBBox(), 
'y');
 
 6308                     DrawDist(curDist[j].fa->GetBBox(), curDist[j].fb->GetBBox(), 
'y');
 
 6315            for (
UInt_t i = 0; i<
n; i++) {
 
 6317               if (
a && (cur != 
a)) {
 
 6318                  aBBox = 
a->GetBBox();
 
 6330                                    gPad->PixeltoX(aBBox.
fX+aBBox.
fWidth), 
gPad->PixeltoY(aBBox.
fY-dSizeArrow-
gPad->VtoPixel(0)), 0.01, 
"<|>");
 
 6332                     A->SetLineColor(lineColor);
 
 6333                     A->SetFillColor(lineColor);
 
 6339                     A->SetLineColor(lineColor);
 
 6340                     A->SetFillColor(lineColor);
 
 6354                     A->SetLineColor(lineColor);
 
 6355                     A->SetFillColor(lineColor);
 
 6361                     A->SetLineColor(lineColor);
 
 6362                     A->SetFillColor(lineColor);
 
 6372         if (tmpGuideLinePad) {
 
 6375            tmpGuideLinePad->
Delete();
 
 6376            tmpGuideLinePad = 0;
 
 6462   Int_t nch, nobjects;
 
 6465   if (
b.IsReading()) {
 
 6482         while ((obj = next())) {
 
 6501            TObject::Streamer(
b);
 
 6502            TAttLine::Streamer(
b);
 
 6503            TAttFill::Streamer(
b);
 
 6504            b >> single; 
fX1 = single;
 
 6505            b >> single; 
fY1 = single;
 
 6506            b >> single; 
fX2 = single;
 
 6507            b >> single; 
fY2 = single;
 
 6510            TAttPad::Streamer(
b);
 
 6512            TVirtualPad::Streamer(
b);
 
 6513            TAttPad::Streamer(
b);
 
 6514            b >> single; 
fX1 = single;
 
 6515            b >> single; 
fY1 = single;
 
 6516            b >> single; 
fX2 = single;
 
 6517            b >> single; 
fY2 = single;
 
 6544         b >> single; 
fWNDC         = single;
 
 6545         b >> single; 
fHNDC         = single;
 
 6555         TVirtualPad::Streamer(
b);
 
 6556         TAttPad::Streamer(
b);
 
 6615         char drawoption[64];
 
 6616         for (
Int_t i = 0; i < nobjects; i++) {
 
 6619            b.ReadFastArray(drawoption,nch);
 
 6642         b >> single; 
fPhi   = single;
 
 6657      b.CheckByteCount(R__s, R__c, TPad::IsA());
 
 6706   while ((obj = next())) {
 
 6790   if (!
gPad) 
return 0;
 
 6792   if (strlen(emode)) 
gROOT->SetEditorMode(emode);
 
 6793   if (
gROOT->GetEditorMode() == 0 && strlen(pname) > 2) 
gROOT->SetEditorMode(&pname[1]);
 
 6797   TObject *oldlast = 
gPad->GetListOfPrimitives()->Last();
 
 6800   Bool_t hasname = strlen(pname) > 0;
 
 6801   if (!pname[0] && !emode[0]) testlast = 
kTRUE;
 
 6802   if (testlast) 
gROOT->SetEditorMode();
 
 6804      if (
gROOT->GetEditorMode() == 0) {
 
 6807            if (obj) 
return obj;
 
 6810            obj = 
gPad->GetListOfPrimitives()->Last();
 
 6811            if (obj != oldlast) 
return obj;
 
 6832   if (
gPad->IsBatch()) 
return 0;
 
 6833   return (
TObject*)
gROOT->ProcessLineFast(
Form(
"new TGToolTip((TBox*)0x%lx,\"%s\",%d)",
 
 6844   gROOT->ProcessLineFast(
Form(
"delete (TGToolTip*)0x%lx", (
Long_t)tip));
 
 6855   gROOT->ProcessLineFast(
Form(
"((TGToolTip*)0x%lx)->Reset((TPad*)0x%lx)",
 
 6866   gROOT->ProcessLineFast(
Form(
"((TGToolTip*)0x%lx)->Hide()",(
Long_t)tip));
 
 6874   ::Info(
"TPad::x3d()", 
"This function is deprecated. Use %s->GetViewer3D(\"x3d\") instead",this->
GetName());
 
 6877   if (!type || !
type[0]) {
 
 6922   if (!strstr(
type,
"pad")) {
 
 6926         Warning(
"TPad::CreateViewer3D", 
"Cannot create 3D viewer of type: %s", 
type);
 
 6932      if (strstr(
type, 
"gl") && !strstr(
type, 
"ogl"))
 
 6935         createdExternal = 
kTRUE;
 
 6951   if (createdExternal) {
 
 6988   Emit(
"RecordPave(const TObject*)", (
Long_t)obj);
 
 6996   Emit(
"RecordLatex(const TObject*)", (
Long_t)obj);
 
static const double x2[5]
 
static const double x1[5]
 
static Bool_t ContainsTImage(TList *li)
Auxiliary function.
 
R__EXTERN TPluginManager * gPluginMgr
 
R__EXTERN TVirtualMutex * gROOTMutex
 
char * Form(const char *fmt,...)
 
char * StrDup(const char *str)
Duplicate the string str.
 
R__EXTERN TStyle * gStyle
 
R__EXTERN TSystem * gSystem
 
#define R__LOCKGUARD(mutex)
 
R__EXTERN TVirtualPS * gVirtualPS
 
R__EXTERN Int_t(* gThreadXAR)(const char *xact, Int_t nb, void **ar, Int_t *iret)
 
Draw all kinds of Arrows.
 
Abstract base class for elements drawn in the editor.
 
virtual void SetBBoxCenterY(const Int_t y)=0
 
virtual void SetBBoxCenterX(const Int_t x)=0
 
virtual void SetBBoxX1(const Int_t x)=0
 
virtual void SetBBoxY1(const Int_t y)=0
 
virtual void SetBBoxX2(const Int_t x)=0
 
virtual void SetBBoxY2(const Int_t y)=0
 
virtual Rectangle_t GetBBox()=0
 
virtual TPoint GetBBoxCenter()=0
 
virtual Color_t GetFillColor() const
Return the fill area color.
 
virtual Style_t GetFillStyle() const
Return the fill area style.
 
virtual void Modify()
Change current fill area attributes if necessary.
 
Style_t fFillStyle
Fill area style.
 
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
 
virtual Bool_t IsTransparent() const
 
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.
 
Width_t fLineWidth
Line width.
 
virtual void SetLineColor(Color_t lcolor)
Set the line color.
 
virtual Style_t GetLineStyle() const
Return the line style.
 
virtual void Modify()
Change current line attributes if necessary.
 
virtual void SetMarkerColor(Color_t mcolor=1)
Set the marker color.
 
virtual void SetMarkerStyle(Style_t mstyle=1)
Set the marker style.
 
virtual void SetMarkerSize(Size_t msize=1)
Set the marker size.
 
virtual void SetBottomMargin(Float_t bottommargin)
Set Pad bottom margin in fraction of the pad height.
 
Color_t GetFrameFillColor() const
 
virtual void SetLeftMargin(Float_t leftmargin)
Set Pad left margin in fraction of the pad width.
 
Color_t GetFrameLineColor() const
 
Style_t GetFrameLineStyle() const
 
Float_t fRightMargin
RightMargin.
 
Style_t GetFrameFillStyle() const
 
Float_t fLeftMargin
LeftMargin.
 
Float_t fTopMargin
TopMargin.
 
Float_t GetLeftMargin() const
 
Width_t GetFrameLineWidth() const
 
Float_t GetBottomMargin() const
 
virtual void SetRightMargin(Float_t rightmargin)
Set Pad right margin in fraction of the pad width.
 
Float_t GetRightMargin() const
 
Int_t GetFrameBorderMode() const
 
virtual void SetTopMargin(Float_t topmargin)
Set Pad top margin in fraction of the pad height.
 
Width_t GetFrameBorderSize() const
 
Float_t fBottomMargin
BottomMargin.
 
Float_t GetTopMargin() const
 
virtual Float_t GetTextSize() const
Return the text size.
 
virtual void SetTextAlign(Short_t align=11)
Set the text alignment.
 
virtual Short_t GetTextAlign() const
Return the text alignment.
 
virtual Font_t GetTextFont() const
Return the text font.
 
virtual Color_t GetTextColor() const
Return the text color.
 
virtual void SetTextAngle(Float_t tangle=0)
Set the text angle.
 
virtual Float_t GetTextAngle() const
Return the text angle.
 
virtual void SetTextColor(Color_t tcolor=1)
Set the text color.
 
virtual void SetTextFont(Font_t tfont=62)
Set the text font.
 
virtual void SetTextSize(Float_t tsize=1)
Set the text size.
 
Class to manage histogram axis.
 
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.
 
Int_t GetLast() const
Return last bin on the axis i.e.
 
virtual void SetLimits(Double_t xmin, Double_t xmax)
 
virtual TObject * GetParent() const
 
virtual void SetRange(Int_t first=0, Int_t last=0)
Set the viewing range for the axis from bin first to last.
 
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.
 
Each class (see TClass) has a linked list of its base class(es).
 
TClass * GetClassPointer(Bool_t load=kTRUE)
Get pointer to the base class TClass.
 
virtual void SetY2(Double_t y2)
 
virtual void SetX1(Double_t x1)
 
virtual void Draw(Option_t *option="")
Draw this box with its current attributes.
 
virtual void SetX2(Double_t x2)
 
virtual void SetY1(Double_t y1)
 
Using a TBrowser one can browse all ROOT objects.
 
Buffer base class used for serializing objects.
 
ABC describing GUI independent main window (with menubar, scrollbars and a drawing area).
 
Bool_t IsRetained() const
Is pad retained ?
 
UInt_t GetWindowHeight() const
 
TObject * GetClickSelected() const
 
TVirtualPad * GetClickSelectedPad() const
 
UInt_t GetWh() const
Get Wh.
 
void SetClickSelectedPad(TPad *pad)
 
void SetCanvasSize(UInt_t ww, UInt_t wh)
Set Width and Height of canvas to ww and wh respectively.
 
void SetSelectedPad(TPad *pad)
 
Bool_t OpaqueResizing() const
Is pad resizing in opaque mode ?
 
virtual void SetDoubleBuffer(Int_t mode=1)
Set Double Buffer On/Off.
 
static Bool_t SupportAlpha()
Static function returning "true" if transparency is supported.
 
TVirtualPadPainter * GetCanvasPainter()
Access and (probably) creation of pad painter.
 
Int_t GetEventY() const
Get Y event.
 
Color_t GetHighLightColor() const
Get highlight color.
 
Bool_t IsGrayscale()
Check whether this canvas is to be drawn in grayscale mode.
 
void SetSelected(TObject *obj)
Set selected canvas.
 
void SaveSource(const char *filename="", Option_t *option="")
Save primitives in this canvas as a C++ macro file.
 
Int_t GetEvent() const
Get Event.
 
virtual void HandleInput(EEventType button, Int_t x, Int_t y)
Handle Input Events.
 
Int_t GetEventX() const
Get X event.
 
Bool_t IsBatch() const
Is pad in batch mode ?
 
TCanvasImp * GetCanvasImp() const
Get canvas implementation pointer if any.
 
Int_t GetCanvasID() const
Get canvas identifier.
 
Bool_t OpaqueMoving() const
Is pad moving in opaque mode ?
 
virtual void Update()
Update canvas pad buffers.
 
TVirtualPad * GetSelectedPad() const
 
virtual void SetCursor(ECursor cursor)
Set cursor.
 
TVirtualPad * GetPadSave() const
 
UInt_t GetWindowWidth() const
 
void FeedbackMode(Bool_t set)
Turn rubberband feedback mode on or off.
 
UInt_t GetWw() const
Get Ww.
 
void SetClickSelected(TObject *obj)
 
TObject * GetSelected() const
Get selected.
 
virtual void Cleared(TVirtualPad *pad)
Emit pad Cleared signal.
 
void SetBatch(Bool_t batch=kTRUE)
Toggle batch mode.
 
TClass instances represent classes, structs and namespaces in the ROOT type system.
 
TList * GetListOfMethods(Bool_t load=kTRUE)
Return list containing the TMethods of a class.
 
Int_t GetNmethods()
Return the number of methods of this class Note that in case the list of methods is not yet created,...
 
Int_t GetNdata()
Return the number of data members of this class Note that in case the list of data members is not yet...
 
TList * GetListOfDataMembers(Bool_t load=kTRUE)
Return list containing the TDataMembers of a class.
 
TList * GetListOfBases()
Return list containing the TBaseClass(es) of a class.
 
virtual void ls(Option_t *option="") const
List (ls) all objects in this collection.
 
void Browse(TBrowser *b)
Browse this collection (called by TBrowser).
 
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
 
The color creation and management class.
 
static Int_t GetColor(const char *hexcolor)
Static method returning color number for color specified by hex color string of form: "#rrggbb",...
 
static void SaveColor(std::ostream &out, Int_t ci)
Save a color with index > 228 as a C++ statement(s) on output stream out.
 
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...
 
virtual void SetAlpha(Float_t a)
 
static void SetGrayscale(Bool_t set=kTRUE)
Set whether all colors should return grayscale values.
 
static void Pave(Int_t event, Int_t px, Int_t py, Int_t mode)
Create a new pavetext in gPad.
 
static void Line(Int_t event, Int_t px, Int_t py, Int_t mode)
Create a new line/arrow in this gPad.
 
static void PolyLine(Int_t event, Int_t px, Int_t py, Int_t mode)
Create a new PolyLine in gPad.
 
static void Text(Int_t event, Int_t px, Int_t py, Int_t mode)
Create a new TLatex at the cursor position in gPad.
 
static void Ellipse(Int_t event, Int_t px, Int_t py, Int_t mode)
Create a new arc/ellipse in this gPad.
 
static void Pad(Int_t event, Int_t px, Int_t py, Int_t)
Create a new pad in gPad.
 
All ROOT classes may have RTTI (run time type identification) support added.
 
This class stores the date and time with a precision of one second in an unsigned 32 bit word (950130...
 
const char * AsSQLString() const
Return the date & time in SQL compatible string format, like: 1997-01-15 20:16:28.
 
const char * AsString() const
Return the date & time as a string (ctime() format).
 
virtual Int_t GetValue(const char *name, Int_t dflt) const
Returns the integer value for a resource.
 
TExec is a utility class that can be used to execute a C++ command when some event happens in a pad.
 
virtual void Exec(const char *command="")
Execute the command referenced by this object.
 
virtual void Paint(Option_t *option="")
Paint this wbox with its current attributes.
 
virtual void UseCurrentStyle()
Replace current frame attributes by current style.
 
A Graph is a graphics object made of two arrays X and Y with npoints each.
 
@ kClipFrame
clip to the frame boundary
 
1-D histogram with a float per channel (see TH1 documentation)}
 
virtual void SetDirectory(TDirectory *dir)
By default when an histogram is created, it is added to the list of histogram objects in the current ...
 
virtual Double_t GetNormFactor() const
 
virtual Int_t GetDimension() const
 
@ kNoStats
don't draw stats box
 
@ kIsZoomed
bit set when zooming on Y axis
 
TAxis * GetXaxis()
Get the behaviour adopted by the object about the statoverflows. See EStatOverflows for more informat...
 
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 void SetMaximum(Double_t maximum=-1111)
 
virtual void SetMinimum(Double_t minimum=-1111)
 
virtual TH1 * DrawCopy(Option_t *option="", const char *name_postfix="_copy") const
Copy this histogram and Draw in the current pad.
 
virtual void Draw(Option_t *option="")
Draw this histogram with options.
 
virtual Int_t GetMaximumBin() const
Return location of bin with maximum value in the range.
 
virtual Double_t GetBinContent(Int_t bin) const
Return content of bin number bin.
 
virtual Int_t GetMinimumBin() const
Return location of bin with minimum value in the range.
 
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.
 
The Histogram stack class.
 
TH1 * GetHistogram() const
Returns a pointer to the histogram used to draw the axis Takes into account the two following cases.
 
Option_t * GetOption() const
 
This class displays a legend box (TPaveText) containing several legend entries.
 
virtual void Draw(Option_t *option="")
Draw this legend with its current attributes.
 
Option_t * GetOption() const
Returns the object option stored in the list.
 
virtual void Add(TObject *obj)
 
virtual TObject * After(const TObject *obj) const
Returns the object after object obj.
 
virtual TObjLink * LastLink() const
 
virtual TObject * Remove(TObject *obj)
Remove object from the list.
 
virtual void AddFirst(TObject *obj)
Add object at the beginning of the list.
 
virtual TObject * FindObject(const char *name) const
Find an object in this list using its name.
 
virtual TObjLink * FirstLink() const
 
virtual TObject * At(Int_t idx) const
Returns the object at position idx. Returns 0 if idx is out of range.
 
virtual TObject * Last() const
Return the last object in the list. Returns 0 when list is empty.
 
virtual void RecursiveRemove(TObject *obj)
Remove object from this collection and recursively remove the object from all other objects (and coll...
 
virtual TObject * First() const
Return the first object in the list. Returns 0 when list is empty.
 
virtual void AddLast(TObject *obj)
Add object at the end of the list.
 
virtual void Clear(Option_t *option="")
Remove all objects from the list.
 
Each ROOT class (see TClass) has a linked list of methods.
 
A TMultiGraph is a collection of TGraph (or derived) objects.
 
The TNamed class is the base class for all named ROOT classes.
 
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
 
virtual void SetName(const char *name)
Set the name of the TNamed.
 
virtual const char * GetTitle() const
Returns title of object.
 
virtual const char * GetName() const
Returns name of object.
 
Wrapper around a TObject so it can be stored in a TList.
 
void SetObject(TObject *obj)
 
TObject * GetObject() const
 
Option_t * GetOption() const
 
Mother of all ROOT objects.
 
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
Computes distance from point (px,py) to the object.
 
virtual const char * GetName() const
Returns name of object.
 
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
 
@ kNotDeleted
object has not been deleted
 
virtual const char * ClassName() const
Returns name of class to which the object belongs.
 
virtual void UseCurrentStyle()
Set current style settings in this object This function is called when either TCanvas::UseCurrentStyl...
 
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.
 
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
Save a primitive as a C++ statement(s) on output stream "out".
 
virtual void Delete(Option_t *option="")
Delete this object.
 
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 void Paint(Option_t *option="")
This method must be overridden if a class wants to paint itself.
 
@ 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()
 
virtual void Info(const char *method, const char *msgfmt,...) const
Issue info message.
 
The most important graphics class in the ROOT system.
 
Bool_t PlaceBox(TObject *o, Double_t w, Double_t h, Double_t &xl, Double_t &yb)
Place a box in NDC space.
 
void HighLight(Color_t col=kRed, Bool_t set=kTRUE)
Highlight pad.
 
virtual void Divide(Int_t nx=1, Int_t ny=1, Float_t xmargin=0.01, Float_t ymargin=0.01, Int_t color=0)
Automatic pad generation by division.
 
void PaintLine3D(Float_t *p1, Float_t *p2)
Paint 3-D line in the CurrentPad.
 
virtual void Pop()
Pop pad to the top of the stack.
 
TVirtualPad * GetSelectedPad() const
Get selected pad.
 
virtual void CloseToolTip(TObject *tip)
Hide tool tip.
 
virtual Int_t Clip(Float_t *x, Float_t *y, Float_t xclipl, Float_t yclipb, Float_t xclipr, Float_t yclipt)
Clipping routine: Cohen Sutherland algorithm.
 
void PaintPolyLineNDC(Int_t n, Double_t *x, Double_t *y, Option_t *option="")
Paint polyline in CurrentPad NDC coordinates.
 
virtual void HideToolTip(Int_t event)
Hide tool tip depending on the event type.
 
Double_t fAbsYlowNDC
Absolute Y top left corner of pad in NDC [0,1].
 
Double_t fXtoAbsPixelk
Conversion coefficient for X World to absolute pixel.
 
virtual void DivideSquare(Int_t n, Float_t xmargin=0.01, Float_t ymargin=0.01, Int_t color=0)
"n" is the total number of sub-pads.
 
virtual void DrawClassObject(const TObject *obj, Option_t *option="")
Draw class inheritance tree of the class to which obj belongs.
 
virtual Bool_t IsBatch() const
Is pad in batch mode ?
 
void PaintPadFrame(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax)
Paint histogram/graph frame.
 
virtual void SetBBoxX2(const Int_t x)
Set right hand side of BoundingBox to a value (resize in x direction on right)
 
void PaintFillAreaNDC(Int_t n, Double_t *x, Double_t *y, Option_t *option="")
Paint fill area in CurrentPad NDC coordinates.
 
Double_t fWNDC
Width of pad along X in Normalized Coordinates (NDC)
 
virtual void SetLogy(Int_t value=1)
Set Lin/Log scale for Y.
 
void PaintBorder(Color_t color, Bool_t tops)
Paint the pad border.
 
virtual Bool_t OpaqueResizing() const
Is pad resizing in opaque mode ?
 
Double_t YtoPad(Double_t y) const
Convert y from Y to pad.
 
void FillCollideGrid(TObject *o)
Initialise the grid used to find empty space when adding a box (Legend) in a pad.
 
void PaintPolyLine(Int_t n, Float_t *x, Float_t *y, Option_t *option="")
Paint polyline in CurrentPad World coordinates.
 
Double_t fPixeltoYk
Conversion coefficient for pixel to Y World.
 
Double_t PadtoY(Double_t y) const
Convert y from pad to Y.
 
void PaintHatches(Double_t dy, Double_t angle, Int_t nn, Double_t *xx, Double_t *yy)
This routine draw hatches inclined with the angle "angle" and spaced of "dy" in normalized device coo...
 
virtual void RedrawAxis(Option_t *option="")
Redraw the frame axis Redrawing axis may be necessary in case of superimposed histograms when one or ...
 
static Int_t fgMaxPickDistance
Maximum Pick Distance.
 
virtual void Close(Option_t *option="")
Delete all primitives in pad and pad itself.
 
Double_t fPhi
phi angle to view as lego/surface
 
Double_t fPixeltoY
yworld = fPixeltoYk + fPixeltoY*ypixel
 
@ kCannotMove
Fixed position.
 
@ kClearAfterCR
Clear after CR.
 
@ kHori
Pad is horizontal.
 
@ kPrintingPS
PS Printing.
 
@ kFraming
Frame is requested.
 
virtual void RecordLatex(const TObject *obj)
Emit RecordLatex() signal.
 
virtual void DeleteExec(const char *name)
Remove TExec name from the list of Execs.
 
void PaintLineNDC(Double_t u1, Double_t v1, Double_t u2, Double_t v2)
Paint line in normalized coordinates.
 
Double_t fAbsXlowNDC
Absolute X top left corner of pad in NDC [0,1].
 
Double_t fVtoPixelk
Conversion coefficient for V NDC to pixel.
 
Bool_t fGridx
Set to true if grid along X.
 
TObject * fPadView3D
! 3D View of this TPad
 
virtual TObject * GetSelected() const
Get selected.
 
void CopyBackgroundPixmaps(TPad *start, TPad *stop, Int_t x, Int_t y)
Copy pixmaps of pads laying below pad "stop" into pad "stop".
 
virtual void AddExec(const char *name, const char *command)
Add a new TExec object to the list of Execs.
 
Double_t GetYlowNDC() const
 
Double_t GetUymin() const
Returns the minimum y-coordinate value visible on the pad. If log axis the returned value is in decad...
 
virtual void ShowGuidelines(TObject *object, const Int_t event, const char mode='i', const bool cling=true)
Shows lines to indicate if a TAttBBox2D object is aligned to the center or to another object,...
 
virtual void GetPadPar(Double_t &xlow, Double_t &ylow, Double_t &xup, Double_t &yup)
Return lower and upper bounds of the pad in NDC coordinates.
 
Double_t fXtoPixel
xpixel = fXtoPixelk + fXtoPixel*xworld
 
TList * fExecs
List of commands to be executed when a pad event occurs.
 
virtual void CopyPixmaps()
Copy the sub-pixmaps of the pad to the canvas.
 
Int_t fTickx
Set to 1 if tick marks along X.
 
Int_t fTicky
Set to 1 if tick marks along Y.
 
virtual void SetBBoxCenterY(const Int_t y)
Set Y coordinate of the center of the Pad.
 
void AbsCoordinates(Bool_t set)
 
virtual void ReleaseViewer3D(Option_t *type="")
Release current (external) viewer.
 
virtual void XYtoAbsPixel(Double_t x, Double_t y, Int_t &xpixel, Int_t &ypixel) const
 
Double_t fX2
X of upper X coordinate.
 
virtual Bool_t HasCrosshair() const
Return kTRUE if the crosshair has been activated (via SetCrosshair).
 
TH1F * DrawFrame(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax, const char *title="")
Draw an empty pad frame with X and Y axis.
 
Bool_t IsModified() const
 
Int_t GetPixmapID() const
 
Int_t fCGnx
! Size of the collide grid along x
 
virtual void SetLogx(Int_t value=1)
Set Lin/Log scale for X.
 
Double_t fPixeltoX
xworld = fPixeltoXk + fPixeltoX*xpixel
 
void CopyBackgroundPixmap(Int_t x, Int_t y)
Copy pixmap of this pad as background of the current pad.
 
Double_t fYtoPixel
ypixel = fYtoPixelk + fYtoPixel*yworld
 
virtual void ls(Option_t *option="") const
List all primitives in pad.
 
Int_t YtoPixel(Double_t y) const
 
Double_t GetTheta() const
 
virtual Color_t GetHighLightColor() const
Get highlight color.
 
virtual TPoint GetBBoxCenter()
Return the center of the Pad as TPoint in pixels.
 
Double_t fAbsWNDC
Absolute Width of pad along X in NDC.
 
TVirtualPad * GetPadSave() const
Get save pad.
 
virtual Int_t GetEvent() const
Get Event.
 
Double_t GetUymax() const
Returns the maximum y-coordinate value visible on the pad. If log axis the returned value is in decad...
 
void PaintDate()
Paint the current date and time if the option date is on.
 
virtual TVirtualViewer3D * GetViewer3D(Option_t *type="")
Create/obtain handle to 3D viewer.
 
static void SetMaxPickDistance(Int_t maxPick=5)
static function to set the maximum Pick Distance fgMaxPickDistance This parameter is used in TPad::Pi...
 
virtual Int_t ClippingCode(Double_t x, Double_t y, Double_t xcl1, Double_t ycl1, Double_t xcl2, Double_t ycl2)
Compute the endpoint codes for TPad::Clip.
 
Double_t fX1
X of lower X coordinate.
 
Int_t GetGLDevice()
Get GL device.
 
Double_t fVtoPixel
ypixel = fVtoPixelk + fVtoPixel*vndc
 
Double_t GetHNDC() const
Get height of pad along Y in Normalized Coordinates (NDC)
 
virtual void SetSelected(TObject *obj)
Set selected.
 
virtual Rectangle_t GetBBox()
Return the bounding Box of the Pad.
 
virtual void DrawCrosshair()
Function called to draw a crosshair in the canvas.
 
virtual void RangeChanged()
 
Double_t fUymin
Minimum value on the Y axis.
 
virtual void GetRangeAxis(Double_t &xmin, Double_t &ymin, Double_t &xmax, Double_t &ymax)
Return pad axis coordinates range.
 
virtual void SetAttFillPS(Color_t color, Style_t style)
Set postscript fill area attributes.
 
Int_t fLogz
(=0 if Z linear scale, =1 if log scale)
 
Double_t fYtoPixelk
Conversion coefficient for Y World to pixel.
 
virtual void CopyPixmap()
Copy the pixmap of the pad to the canvas.
 
virtual void SetToolTipText(const char *text, Long_t delayms=1000)
Set tool tip text associated with this pad.
 
TPad()
Pad default constructor.
 
virtual Int_t GetCanvasID() const
Get canvas identifier.
 
Int_t YtoAbsPixel(Double_t y) const
 
virtual void SetDoubleBuffer(Int_t mode=1)
Set double buffer mode ON or OFF.
 
static Int_t GetMaxPickDistance()
Static function (see also TPad::SetMaxPickDistance)
 
Double_t AbsPixeltoY(Int_t py)
 
Int_t XtoAbsPixel(Double_t x) const
 
Double_t fUtoPixelk
Conversion coefficient for U NDC to pixel.
 
Double_t fPixeltoXk
Conversion coefficient for pixel to X World.
 
Double_t fY1
Y of lower Y coordinate.
 
Double_t GetWNDC() const
Get width of pad along X in Normalized Coordinates (NDC)
 
Double_t GetAbsWNDC() const
 
Int_t fGLDevice
! OpenGL off-screen pixmap identifier
 
const char * GetTitle() const
Returns title of object.
 
Double_t fYlowNDC
Y bottom left corner of pad in NDC [0,1].
 
const char * GetName() const
Returns name of object.
 
virtual Bool_t IsEditable() const
 
virtual Int_t GetEventX() const
Get X event.
 
Bool_t fModified
Set to true when pad is modified.
 
virtual void SetPad(const char *name, const char *title, Double_t xlow, Double_t ylow, Double_t xup, Double_t yup, Color_t color=35, Short_t bordersize=5, Short_t bordermode=-1)
Set all pad parameters.
 
virtual TPad * Pick(Int_t px, Int_t py, TObjLink *&pickobj)
Search for an object at pixel position px,py.
 
virtual void SetNumber(Int_t number)
 
Int_t fNumber
pad number identifier
 
virtual void SetAttLinePS(Color_t color, Style_t style, Width_t lwidth)
Set postscript line attributes.
 
virtual void SetBatch(Bool_t batch=kTRUE)
Set pad in batch mode.
 
virtual Bool_t OpaqueMoving() const
Is pad moving in opaque mode ?
 
Double_t fAbsPixeltoXk
Conversion coefficient for absolute pixel to X World.
 
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
Execute action corresponding to one event.
 
Double_t GetAbsHNDC() const
 
Double_t fAspectRatio
ratio of w/h in case of fixed ratio
 
virtual void RecordPave(const TObject *obj)
Emit RecordPave() signal.
 
virtual void Browse(TBrowser *b)
Browse pad.
 
Double_t fUymax
Maximum value on the Y axis.
 
Double_t GetUxmax() const
Returns the maximum x-coordinate value visible on the pad. If log axis the returned value is in decad...
 
virtual Int_t ClipPolygon(Int_t n, Double_t *x, Double_t *y, Int_t nn, Double_t *xc, Double_t *yc, Double_t xclipl, Double_t yclipb, Double_t xclipr, Double_t yclipt)
Clip polygon using the Sutherland-Hodgman algorithm.
 
TCanvas * fCanvas
! Pointer to mother canvas
 
TVirtualViewer3D * fViewer3D
! Current 3D viewer
 
virtual void x3d(Option_t *type="")
Deprecated: use TPad::GetViewer3D() instead.
 
virtual void SetCrosshair(Int_t crhair=1)
Set crosshair active/inactive.
 
Bool_t Collide(Int_t i, Int_t j, Int_t w, Int_t h)
Check if a box of size w and h collide some primitives in the pad at position i,j.
 
virtual UInt_t GetWw() const
Get Ww.
 
void Clear(Option_t *option="")
Delete all pad primitives.
 
Bool_t fFixedAspectRatio
True if fixed aspect ratio.
 
virtual void UseCurrentStyle()
Force a copy of current style for all objects in pad.
 
virtual ~TPad()
Pad destructor.
 
virtual void RecursiveRemove(TObject *obj)
Recursively remove object from a pad and its sub-pads.
 
Double_t fVtoAbsPixelk
Conversion coefficient for V NDC to absolute pixel.
 
virtual void SetBBoxX1(const Int_t x)
Set lefthandside of BoundingBox to a value (resize in x direction on left)
 
Int_t IncrementPaletteColor(Int_t i, TString opt)
Increment (i==1) or set (i>1) the number of autocolor in the pad.
 
void PaintPolyMarker(Int_t n, Float_t *x, Float_t *y, Option_t *option="")
Paint polymarker in CurrentPad World coordinates.
 
virtual void GetRange(Double_t &x1, Double_t &y1, Double_t &x2, Double_t &y2)
Return pad world coordinates range.
 
Double_t XtoPad(Double_t x) const
Convert x from X to pad.
 
virtual void ExecuteEventAxis(Int_t event, Int_t px, Int_t py, TAxis *axis)
Execute action corresponding to one event for a TAxis object (called by TAxis::ExecuteEvent....
 
virtual void ResetToolTip(TObject *tip)
Reset tool tip, i.e.
 
virtual void SetBorderMode(Short_t bordermode)
 
virtual TObject * FindObject(const char *name) const
Search if object named name is inside this pad or in pads inside this pad.
 
virtual TObject * CreateToolTip(const TBox *b, const char *text, Long_t delayms)
Create a tool tip and return its pointer.
 
virtual void PaintModified()
Traverse pad hierarchy and (re)paint only modified pads.
 
virtual void SetBBoxY1(const Int_t y)
Set top of BoundingBox to a value (resize in y direction on top)
 
void FillCollideGridTFrame(TObject *o)
 
virtual void SetAttMarkerPS(Color_t color, Style_t style, Size_t msize)
Set postscript marker attributes.
 
virtual void SetBBoxY2(const Int_t y)
Set bottom of BoundingBox to a value (resize in y direction on bottom)
 
void LineNotFree(Int_t x1, Int_t x2, Int_t y1, Int_t y2)
Mark as "not free" the cells along a line.
 
Double_t fAbsHNDC
Absolute Height of pad along Y in NDC.
 
virtual void RangeAxisChanged()
 
virtual void SetBBoxCenter(const TPoint &p)
Set center of the Pad.
 
TObject * fTip
! tool tip associated with box
 
void Modified(Bool_t flag=1)
 
virtual void SetCursor(ECursor cursor)
Set cursor type.
 
virtual void SetVertical(Bool_t vert=kTRUE)
Set pad vertical (default) or horizontal.
 
virtual TVirtualPad * GetVirtCanvas() const
Get virtual canvas.
 
Double_t AbsPixeltoX(Int_t px)
 
virtual void AutoExec()
Execute the list of Execs when a pad event occurs.
 
Bool_t fAbsCoord
Use absolute coordinates.
 
Int_t fNumPaletteColor
Number of objects with an automatic color.
 
Int_t fCrosshairPos
Position of crosshair.
 
void FillCollideGridTGraph(TObject *o)
 
virtual void SetFixedAspectRatio(Bool_t fixed=kTRUE)
Fix pad aspect ratio to current value if fixed is true.
 
virtual TLegend * BuildLegend(Double_t x1=0.3, Double_t y1=0.21, Double_t x2=0.3, Double_t y2=0.21, const char *title="", Option_t *option="")
Build a legend from the graphical objects in the pad.
 
virtual void Paint(Option_t *option="")
Paint all primitives in pad.
 
void DrawDist(Rectangle_t aBBox, Rectangle_t bBBox, char mode)
Draw Arrows to indicated equal distances of Objects with given BBoxes.
 
Int_t fLogx
(=0 if X linear scale, =1 if log scale)
 
Double_t fUtoPixel
xpixel = fUtoPixelk + fUtoPixel*undc
 
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
Compute distance from point px,py to a box.
 
void PaintBox(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Option_t *option="")
Paint box in CurrentPad World coordinates.
 
virtual TVirtualPad * GetMother() const
 
Int_t fCrosshair
Crosshair type (0 if no crosshair requested)
 
void PaintFillAreaHatches(Int_t n, Double_t *x, Double_t *y, Int_t FillStyle)
This function paints hatched fill area according to the FillStyle value The convention for the Hatch ...
 
virtual TCanvas * GetCanvas() const
 
Double_t fUtoAbsPixelk
Conversion coefficient for U NDC to absolute pixel.
 
Double_t GetUxmin() const
Returns the minimum x-coordinate value visible on the pad. If log axis the returned value is in decad...
 
virtual TObject * WaitPrimitive(const char *pname="", const char *emode="")
Loop and sleep until a primitive with name=pname is found in the pad.
 
TList * fPrimitives
->List of primitives (subpads)
 
Short_t fBorderSize
pad bordersize in pixels
 
virtual void Update()
Update pad.
 
TView * fView
! Pointer to 3-D view (if one exists)
 
virtual Short_t GetBorderMode() const
 
Bool_t * fCollideGrid
! Grid used to find empty space when adding a box (Legend) in a pad
 
virtual void Print(const char *filename="") const
Save Pad contents in a file in one of various formats.
 
Int_t NextPaletteColor()
Get the next autocolor in the pad.
 
virtual TVirtualPadPainter * GetPainter()
Get pad painter from TCanvas.
 
virtual Bool_t IsRetained() const
Is pad retained ?
 
void FillCollideGridTBox(TObject *o)
 
Double_t fTheta
theta angle to view as lego/surface
 
void DrawCollideGrid()
This method draws the collide grid on top of the canvas.
 
void FillCollideGridTH1(TObject *o)
 
Int_t fPadPaint
Set to 1 while painting the pad.
 
static void DrawColorTable()
Static function to Display Color Table in a pad.
 
virtual void SaveAs(const char *filename="", Option_t *option="") const
Save Pad contents in a file in one of various formats.
 
void PaintPolyLine3D(Int_t n, Double_t *p)
Paint 3-D polyline in the CurrentPad.
 
TList * GetListOfPrimitives() const
 
Int_t fPixmapID
! Off-screen pixmap identifier
 
Bool_t fEditable
True if canvas is editable.
 
Double_t GetAbsYlowNDC() const
 
void PaintText(Double_t x, Double_t y, const char *text)
Paint text in CurrentPad World coordinates.
 
virtual void RangeAxis(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax)
Set axis coordinate system for the pad.
 
virtual Short_t GetBorderSize() const
 
Double_t PadtoX(Double_t x) const
Convert x from pad to X.
 
Double_t GetAbsXlowNDC() const
 
virtual Int_t GetEventY() const
Get Y event.
 
Double_t fYtoAbsPixelk
Conversion coefficient for Y World to absolute pixel.
 
Double_t fXtoPixelk
Conversion coefficient for X World to pixel.
 
Int_t fLogy
(=0 if Y linear scale, =1 if log scale)
 
virtual void ResizePad(Option_t *option="")
Compute pad conversion coefficients.
 
TFrame * fFrame
! Pointer to 2-D frame (if one exists)
 
virtual void SetView(TView *view=0)
Set the current TView. Delete previous view if view=0.
 
virtual void Draw(Option_t *option="")
Draw Pad in Current pad (re-parent pad if necessary).
 
Double_t fHNDC
Height of pad along Y in Normalized Coordinates (NDC)
 
void PaintLine(Double_t x1, Double_t y1, Double_t x2, Double_t y2)
Paint line in CurrentPad World coordinates.
 
Int_t GetCrosshair() const
Return the crosshair type (from the mother canvas) crosshair type = 0 means no crosshair.
 
virtual void PaintBorderPS(Double_t xl, Double_t yl, Double_t xt, Double_t yt, Int_t bmode, Int_t bsize, Int_t dark, Int_t light)
Paint a frame border with Postscript.
 
Int_t fCGny
! Size of the collide grid along y
 
Double_t fXlowNDC
X bottom left corner of pad in NDC [0,1].
 
Double_t GetXlowNDC() const
 
Double_t fUxmin
Minimum value on the X axis.
 
virtual void SetAttTextPS(Int_t align, Float_t angle, Color_t color, Style_t font, Float_t tsize)
Set postscript text attributes.
 
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
Save primitives in this pad on the C++ source file out.
 
Int_t XtoPixel(Double_t x) const
 
virtual void SetLogz(Int_t value=1)
Set Lin/Log scale for Z.
 
Double_t fUxmax
Maximum value on the X axis.
 
virtual void SetEditable(Bool_t mode=kTRUE)
Set pad editable yes/no If a pad is not editable:
 
Bool_t HasFixedAspectRatio() const
 
Double_t fY2
Y of upper Y coordinate.
 
Double_t fAbsPixeltoYk
Conversion coefficient for absolute pixel to Y World.
 
virtual void Range(Double_t x1, Double_t y1, Double_t x2, Double_t y2)
Set world coordinate system for the pad.
 
Short_t fBorderMode
Bordermode (-1=down, 0 = no border, 1=up)
 
virtual void SetBBoxCenterX(const Int_t x)
Set X coordinate of the center of the Pad.
 
Int_t fNextPaletteColor
Next automatic color.
 
TVirtualPad * cd(Int_t subpadnumber=0)
Set Current pad.
 
TFrame * GetFrame()
Get frame.
 
virtual Bool_t IsVertical() const
 
virtual TVirtualPad * GetPad(Int_t subpadnumber) const
Get a pointer to subpadnumber of this pad.
 
virtual void DeleteToolTip(TObject *tip)
Delete tool tip object.
 
TObject * fPadPointer
! free pointer
 
void PaintTextNDC(Double_t u, Double_t v, const char *text)
Paint text in CurrentPad NDC coordinates.
 
virtual UInt_t GetWh() const
Get Wh.
 
virtual void SetFillStyle(Style_t fstyle)
Override TAttFill::FillStyle for TPad because we want to handle style=0 as style 4000.
 
TPad * fMother
! pointer to mother of the list
 
virtual TObject * GetPrimitive(const char *name) const
Get primitive.
 
virtual void SetCanvasSize(UInt_t ww, UInt_t wh)
Set canvas size.
 
void PaintFillArea(Int_t n, Float_t *x, Float_t *y, Option_t *option="")
 
Bool_t fGridy
Set to true if grid along Y.
 
virtual TCanvasImp * GetCanvasImp() const
Get canvas implementation pointer if any.
 
The histogram statistics painter class.
 
A Pave (see TPave) with text, lines or/and boxes inside.
 
virtual TText * AddText(Double_t x1, Double_t y1, const char *label)
Add a new Text line to this pavetext at given coordinates.
 
virtual void Draw(Option_t *option="")
Draw this pavetext with its current attributes.
 
virtual TLine * AddLine(Double_t x1=0, Double_t y1=0, Double_t x2=0, Double_t y2=0)
Add a new graphics line to this pavetext.
 
virtual TBox * AddBox(Double_t x1, Double_t y1, Double_t x2, Double_t y2)
Add a new graphics box to this pavetext.
 
Int_t GetBorderSize() const
 
virtual void SetBorderSize(Int_t bordersize=4)
 
TPluginHandler * FindHandler(const char *base, const char *uri=0)
Returns the handler if there exists a handler for the specified URI.
 
void Emit(const char *signal, const T &arg)
Activate signal with single parameter.
 
static Int_t IncreaseDirLevel()
Increase the indentation level for ls().
 
static void IndentLevel()
Functions used by ls() to indent an object hierarchy.
 
static Int_t DecreaseDirLevel()
Decrease the indentation level for ls().
 
void ToLower()
Change string to lower-case.
 
Bool_t EndsWith(const char *pat, ECaseCompare cmp=kExact) const
Return true if string ends with the specified string.
 
TString & Replace(Ssiz_t pos, Ssiz_t n, const char *s)
 
const char * Data() const
 
TString & ReplaceAll(const TString &s1, const TString &s2)
 
Bool_t BeginsWith(const char *s, ECaseCompare cmp=kExact) const
 
TString & Prepend(const char *cs)
 
TString & Append(const char *cs)
 
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
 
Ssiz_t Index(const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const
 
void SetPadBorderMode(Int_t mode=1)
 
void SetPadTopMargin(Float_t margin=0.1)
 
void SetOptLogx(Int_t logx=1)
 
void SetPadBottomMargin(Float_t margin=0.1)
 
Int_t GetOptTitle() const
 
Int_t GetPadTickX() const
 
Color_t GetPadColor() const
 
void SetPadRightMargin(Float_t margin=0.1)
 
void SetTitleFont(Style_t font=62, Option_t *axis="X")
 
Float_t GetPadRightMargin() const
 
void SetTitleBorderSize(Width_t size=2)
 
Style_t GetTitleFont(Option_t *axis="X") const
Return title font.
 
void SetPadTickY(Int_t ticky)
 
Color_t GetTitleFillColor() const
 
void SetPadTickX(Int_t tickx)
 
Bool_t GetPadGridY() const
 
void SetPadGridX(Bool_t gridx)
 
void SetTitleTextColor(Color_t color=1)
 
Float_t GetPadLeftMargin() const
 
Double_t GetHatchesSpacing() const
 
Bool_t GetPadGridX() const
 
void SetPadLeftMargin(Float_t margin=0.1)
 
void SetPadGridY(Bool_t gridy)
 
void SetOptLogy(Int_t logy=1)
 
Int_t GetPadTickY() const
 
Width_t GetPadBorderSize() const
 
Width_t GetTitleBorderSize() const
 
Int_t GetColorPalette(Int_t i) const
Return color number i in current palette.
 
void SetTitleFillColor(Color_t color=1)
 
Float_t GetPadBottomMargin() const
 
void SetOptLogz(Int_t logz=1)
 
void SetPadColor(Color_t color=19)
 
Color_t GetTitleTextColor() const
 
Int_t GetPadBorderMode() const
 
Int_t GetNumberOfColors() const
Return number of colors in the color palette.
 
void SetPadBorderSize(Width_t size=1)
 
Int_t GetHatchesLineWidth() const
 
Float_t GetPadTopMargin() const
 
virtual Bool_t ExpandPathName(TString &path)
Expand a pathname getting rid of special shell characters like ~.
 
virtual Int_t Exec(const char *shellcmd)
Execute a command.
 
virtual Bool_t AccessPathName(const char *path, EAccessMode mode=kFileExists)
Returns FALSE if one can access a file using the specified access mode.
 
virtual int Rename(const char *from, const char *to)
Rename a file.
 
virtual void Sleep(UInt_t milliSec)
Sleep milliSec milli seconds.
 
virtual Bool_t ProcessEvents()
Process pending events (GUI, timers, sockets).
 
Base class for several text objects.
 
virtual TText * DrawText(Double_t x, Double_t y, const char *text)
Draw this text with new coordinates.
 
virtual void SetNDC(Bool_t isNDC=kTRUE)
Set NDC mode on if isNDC = kTRUE, off otherwise.
 
virtual void Paint(Option_t *option="")
Paint this text with its current attributes.
 
virtual void WCtoNDC(const Float_t *pw, Float_t *pn)=0
 
virtual Int_t GetDistancetoAxis(Int_t axis, Int_t px, Int_t py, Double_t &ratio)=0
 
virtual void ResizePad()=0
 
virtual void GetRange(Float_t *min, Float_t *max)=0
 
Provides 3D viewer interface (TVirtualViewer3D) support on a pad.
 
TVirtualPS is an abstract interface to Postscript, PDF, SVG.
 
virtual void Text(Double_t x, Double_t y, const char *string)=0
 
virtual void DrawPS(Int_t n, Float_t *xw, Float_t *yw)=0
 
virtual void DrawBox(Double_t x1, Double_t y1, Double_t x2, Double_t y2)=0
 
virtual void DrawPolyMarker(Int_t n, Float_t *x, Float_t *y)=0
 
virtual void Open(const char *filename, Int_t type=-111)=0
 
virtual void DrawFrame(Double_t xl, Double_t yl, Double_t xt, Double_t yt, Int_t mode, Int_t border, Int_t dark, Int_t light)=0
 
To make it possible to use GL for 2D graphic in a TPad/TCanvas.
 
virtual void DrawBox(Double_t x1, Double_t y1, Double_t x2, Double_t y2, EBoxMode mode)=0
 
virtual void ClearDrawable()=0
 
virtual void SetOpacity(Int_t percent)=0
 
virtual void DrawPolyLine(Int_t n, const Double_t *x, const Double_t *y)=0
 
virtual Color_t GetLineColor() const =0
 
virtual void SetLineStyle(Style_t lstyle)=0
 
virtual void SetFillColor(Color_t fcolor)=0
 
virtual void DestroyDrawable(Int_t device)=0
 
virtual void CopyDrawable(Int_t device, Int_t px, Int_t py)=0
 
virtual void DrawLine(Double_t x1, Double_t y1, Double_t x2, Double_t y2)=0
 
virtual void DrawFillArea(Int_t n, const Double_t *x, const Double_t *y)=0
 
virtual Int_t CreateDrawable(UInt_t w, UInt_t h)=0
 
virtual void SetLineColor(Color_t lcolor)=0
 
virtual Style_t GetLineStyle() const =0
 
virtual void SaveImage(TVirtualPad *pad, const char *fileName, Int_t type) const =0
 
virtual void DrawLineNDC(Double_t u1, Double_t v1, Double_t u2, Double_t v2)=0
 
virtual void SetFillStyle(Style_t fstyle)=0
 
virtual void SetTextSize(Float_t tsize=1)=0
 
virtual void SetLineWidth(Width_t lwidth)=0
 
virtual void DrawPolyLineNDC(Int_t n, const Double_t *u, const Double_t *v)=0
 
virtual void DrawTextNDC(Double_t u, Double_t v, const char *text, ETextMode mode)=0
 
virtual Width_t GetLineWidth() const =0
 
virtual void SelectDrawable(Int_t device)=0
 
virtual void DrawPolyMarker(Int_t n, const Double_t *x, const Double_t *y)=0
 
virtual void DrawText(Double_t x, Double_t y, const char *text, ETextMode mode)=0
 
virtual Style_t GetFillStyle() const =0
 
virtual void InvalidateCS()
Empty definition.
 
TVirtualPad is an abstract base class for the Pad and Canvas classes.
 
virtual Int_t YtoAbsPixel(Double_t y) const =0
 
virtual Double_t GetX2() const =0
 
virtual TVirtualPad * cd(Int_t subpadnumber=0)=0
 
virtual Int_t XtoAbsPixel(Double_t x) const =0
 
virtual Double_t GetY1() const =0
 
virtual Int_t GetNumber() const =0
 
virtual Int_t VtoPixel(Double_t v) const =0
 
virtual const char * GetName() const =0
Returns name of object.
 
virtual Int_t VtoAbsPixel(Double_t v) const =0
 
virtual Double_t GetY2() const =0
 
virtual Int_t UtoPixel(Double_t u) const =0
 
virtual Short_t GetBorderSize() const =0
 
virtual Bool_t IsEditable() const =0
 
virtual Double_t GetX1() const =0
 
Abstract 3D shapes viewer.
 
static TVirtualViewer3D * Viewer3D(TVirtualPad *pad=0, Option_t *type="")
Create a Viewer 3D of specified type.
 
virtual Bool_t BuildingScene() const =0
 
virtual void EndScene()=0
 
virtual void PadPaint(TVirtualPad *)
 
virtual void BeginScene()=0
 
virtual Bool_t CanLoopOnPrimitives() const
 
Short_t GetBorderSize() const
 
Short_t GetBorderMode() const
 
virtual void SetBorderMode(Short_t bordermode)
 
virtual void SetBorderSize(Short_t bordersize)
 
void box(Int_t pat, Double_t x1, Double_t y1, Double_t x2, Double_t y2)
 
double dist(Rotation3D const &r1, Rotation3D const &r2)
 
void CallRecursiveRemoveIfNeeded(TObject &obj)
call RecursiveRemove for obj if gROOT is valid and obj.TestBit(kMustCleanup) is true.
 
RooCmdArg FillStyle(Style_t style)
 
static constexpr double L
 
static constexpr double ps
 
static constexpr double mg
 
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)
 
Double_t Floor(Double_t x)
 
Double_t Ceil(Double_t x)
 
Int_t Finite(Double_t x)
Check if it is finite with a mask in order to be consistent in presence of fast math.
 
Double_t Sqrt(Double_t x)
 
LongDouble_t Power(LongDouble_t x, LongDouble_t y)
 
Short_t Min(Short_t a, Short_t b)
 
Double_t Log10(Double_t x)
 
void inv(rsa_NUMBER *, rsa_NUMBER *, rsa_NUMBER *)