ROOT logo
// @(#)root/histpainter:$Id: TGraphPainter.cxx,v 1.00
// Author: Olivier Couet

/*************************************************************************
 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#include "TROOT.h"
#include "TGraphPainter.h"
#include "TMath.h"
#include "TGraph.h"
#include "TPolyLine.h"
#include "TPolyMarker.h"
#include "TVirtualPad.h"
#include "TView.h"
#include "TStyle.h"
#include "TH1.h"
#include "TF1.h"
#include "TPaveStats.h"
#include "TGaxis.h"
#include "TGraphPolargram.h"
#include "TGraphPolar.h"
#include "TGraphQQ.h"
#include "TLatex.h"
#include "TArrow.h"
#include "TFrame.h"
#include "TVirtualPadEditor.h"

Double_t *gxwork, *gywork, *gxworkl, *gyworkl;

ClassImp(TGraphPainter);

//______________________________________________________________________________
/* Begin_Html
<center><h2>The graph painter class</h2></center>

<ul>
<li><a href="#GP00">Introduction</li></a>
<li><a href="#GP01">Graphs' plotting options</li></a>
<li><a href="#GP02">Exclusion graphs</li></a>
<li><a href="#GP03">Graphs with error bars</li></a>
<ul>
<li><a href="#GP03a">TGraphErrors</li></a>
<li><a href="#GP03b">TGraphAsymmErrors</li></a>
<li><a href="#GP03c">TGraphBentErrors</li></a>
</ul>
<li><a href="#GP04">TGraphPolar options</li></a>
</ul>

<a name="GP00"></a><h3>Introduction</h3>

Graphs are drawn via the painter <tt>TGraphPainter</tt> class. This class
implement all the various techniques need to display the various kind of
graphs ie: <tt>TGraph</tt>, <tt>TGraphAsymmErrors</tt>,
<tt>TGraphBentErrors</tt> and <tt>TGraphErrors</tt>.

<p>
To draw a graph "<tt>g</tt>" is enough to do:
<pre>
   g->Draw("AL");
</pre>


The option <tt>"AL"</tt> in the <tt>Draw()</tt> method means that the axis
syetem should be define (option <tt>"A"</tt>) and that the graph should
be drawn as a simple line (option <tt>"L"</tt>). By default a graph is drawn
in the current pad in the current coordinates system. To define a suitable
coordinates system and drawn the axis the option <tt>"A"</tt> must be
specified.
<p>
<tt>TGraphPainter</tt> offers many options to paint the various kind of graphs.
<p>
The <tt>TGraphPainter</tt> class specializes in the drawing of graphs. It is
separated from the graph so that one can have graphs without the
graphics overhead, for example in a batch program.
<p>
When a displayed graph is modified, there is not need to call the
<tt>Draw()</tt> method again; the image will be refreshed the next time the
pad will be updated.
<p>A pad is updated after one of these three actions:
<ol>
<li>  a carriage control on the ROOT command line,
<li>  a click inside the pad,
<li>  a call to <tt>TPad::Update</tt>.
</ol>

<a name="GP01"></a><h3>Graphs' plotting options</h3>
Graphs can be drawn with the following options:
<p>
<table border=0>

<tr><th valign=top>"A"</th><td>
Axis are drawn around the graph
</td></tr>

<tr><th valign=top>"L"</th><td>
A simple polyline between every points is drawn
</td></tr>

<tr><th valign=top>"F"</th><td>
A fill area is drawn ('CF' draw a smooth fill area)
</td></tr>

<tr><th valign=top>"C"</th><td>
A smooth Curve is drawn
</td></tr>

<tr><th valign=top>"*"</th><td>
A Star is plotted at each point
</td></tr>

<tr><th valign=top>"P"</th><td>
Idem with the current marker
</td></tr>

<tr><th valign=top>"B"</th><td>
A Bar chart is drawn at each point
</td></tr>

<tr><th valign=top>"1"</th><td>
ylow=rwymin
</td></tr>

<tr><th valign=top>"X+"</th><td>
The X-axis is drawn on the top side of the plot.
</td></tr>

<tr><th valign=top>"Y+"</th><td>
The Y-axis is drawn on the right side of the plot.
</td></tr>

</table>
<p>

Several drawing options can be combined. In the following example the graph
is drawn as a smooth curve (optiob "C") and with markers (option "P"). The
option "A" request the definition of the axis.

End_Html
Begin_Macro(source)
{
   TCanvas *c1 = new TCanvas("c1","c1",200,10,600,400);

   c1->SetFillColor(42);
   c1->SetGrid();

   const Int_t n = 20;
   Double_t x[n], y[n];
   for (Int_t i=0;i<n;i++) {
      x[i] = i*0.1;
      y[i] = 10*sin(x[i]+0.2);
   }
   gr = new TGraph(n,x,y);
   gr->SetLineColor(2);
   gr->SetLineWidth(4);
   gr->SetMarkerColor(4);
   gr->SetMarkerSize(1.5);
   gr->SetMarkerStyle(21);
   gr->SetTitle("Option ACP example");
   gr->GetXaxis()->SetTitle("X title");
   gr->GetYaxis()->SetTitle("Y title");
   gr->Draw("ACP");

   // TCanvas::Update() draws the frame, after which one can change it
   c1->Update();
   c1->GetFrame()->SetFillColor(21);
   c1->GetFrame()->SetBorderSize(12);
   c1->Modified();
   return c1;
}
End_Macro
Begin_Html


<a name="GP02"></a><h3>Exclusion graphs</h3>

When a graph is painted with the option <tt>"C"</tt> or <tt>"L"</tt> it is
possible to draw a filled area on one side of the line. This is useful to show
exclusion zones.

<p>This drawing mode is activated when the absolute value of the graph line
width (set thanks to <tt>SetLineWidth()</tt>) is greater than 99. In that
case the line width number is interpreted as:
<pre>
      100*ff+ll = ffll
</pre>
<ul>
<li> The two digits number <tt>"ll"</tt> represent the normal line width
<li> The two digits number  <tt>"ff"</tt> is the filled area width.
<li> The sign of "ffll" allows to flip the filled area from one side of the line to
     the other.
</ul>
The current fill area attributes are used to draw the hatched zone.

End_Html
Begin_Macro(source)
../../../tutorials/graphs/exclusiongraph.C
End_Macro
Begin_Html

<a name="GP03"></a><h3>Graphs with error bars</h3>
Three classes are available to handle graphs with error bars:
<tt>TGraphErrors</tt>, <tt>TGraphAsymmErrors</tt> and <tt>TGraphBentErrors</tt>.
In addition to the drawing options previously described, the graphs with error
bars can be drawn with the following extra options:
<p>
<table border=0>

<tr><th valign=top>"Z"</th><td>
By default horizonthal and vertical small lines are drawn at
the end of the error bars. If option "z" or "Z" is specified,
these lines are not drawn.
</td></tr>

<tr><th valign=top>">"</th><td>
An arrow is drawn at the end of the error bars.
The size of the arrow is set to 2/3 of the marker size.
</td></tr>

<tr><th valign=top>"|>"</th><td>
A filled arrow is drawn at the end of the error bars.
The size of the arrow is set to 2/3 of the marker size.
</td></tr>

<tr><th valign=top>"X"</th><td>
By default the error bars are drawn. If option "X" is specified,
the errors are not drawn. The graph with errors in drawn like a normal graph.
</td></tr>

<tr><th valign=top>"||"</th><td>
Only the end vertical/horizonthal lines
of the error bars are drawn. This option is interesting to superimpose
systematic errors on top of a graph with statistical errors.
</td></tr>

<tr><th valign=top>"[]"</th><td>
Does the same as option "||" except that it draws additionnal tick marks at the
end of the vertical/horizonthal lines. This makes less ambiguous plots
in case several graphs are drawn on the same picture.
</td></tr>

<tr><th valign=top>"2"</th><td>
Error rectangles are drawn.
</td></tr>

<tr><th valign=top>"3"</th><td>
A filled area is drawn through the end points of the vertical error bars.
</td></tr>

<tr><th valign=top>"4"</th><td>
A smoothed filled area is drawn through the end points of the vertical error
bars.
</td></tr>
</table>
<p>
<tt>gStyle->SetErrorX(dx)</tt> controls the size of the error along x.
<tt>dx = 0</tt> removes the error along x.
<p>
<tt>gStyle->SetEndErrorSize(np)</tt> controls the size of the lines
at the end of the error bars (when option 1 is used).
By default <tt>np=1</tt>. (np represents the number of pixels).

<a name="GP03a"></a><h4><u>TGraphErrors</u></h4>
A <tt>TGraphErrors</tt> is a <tt>TGraph</tt> with error bars. The errors are
defined along X and Y and are symmetric: The left and right errors are the same
along X and the bottom and up errors are the same along Y.

End_Html
Begin_Macro(source)
{
   TCanvas *c4 = new TCanvas("c4","c4",200,10,600,400);
   double x[] = {0, 1, 2, 3, 4};
   double y[] = {0, 2, 4, 1, 3};
   double ex[] = {0.1, 0.2, 0.3, 0.4, 0.5};
   double ey[] = {1, 0.5, 1, 0.5, 1};
   TGraphErrors* ge = new TGraphErrors(5, x, y, ex, ey);
   ge->Draw("ap");
   return c4;
}
End_Macro
Begin_Html
The option "3" allows to shows the error as band.

End_Html
Begin_Macro(source)
{
   TCanvas *c41 = new TCanvas("c41","c41",200,10,600,400);
   double x[] = {0, 1, 2, 3, 4};
   double y[] = {0, 2, 4, 1, 3};
   double ex[] = {0.1, 0.2, 0.3, 0.4, 0.5};
   double ey[] = {1, 0.5, 1, 0.5, 1};
   TGraphErrors* ge = new TGraphErrors(5, x, y, ex, ey);
   ge->SetFillColor(4);
   ge->SetFillStyle(3010);
   ge->Draw("a3");
   return c41;
}
End_Macro
Begin_Html

The option "4" is similar to the option "3" except that the band is smoothed.
As the following picture shows, this option should be used carefuly because
the smoothing algorithm may show some (huge) "bouncing" effects. In some case 
looks nicer than the option "3" (because it is smooth) but it can be 
misleading.

End_Html
Begin_Macro(source)
{
   TCanvas *c42 = new TCanvas("c42","c42",200,10,600,400);
   double x[] = {0, 1, 2, 3, 4};
   double y[] = {0, 2, 4, 1, 3};
   double ex[] = {0.1, 0.2, 0.3, 0.4, 0.5};
   double ey[] = {1, 0.5, 1, 0.5, 1};
   TGraphErrors* ge = new TGraphErrors(5, x, y, ex, ey);
   ge->SetFillColor(6);
   ge->SetFillStyle(3005);
   ge->Draw("a4");
   return c42;
}
End_Macro
Begin_Html

The following example shows how the option "[]" can be used to superimpose
systematic errors on top of a graph with statistical errors. 

End_Html
Begin_Macro(source)
{
   TCanvas *c43 = new TCanvas("c43","c43",200,10,600,400);
   c43->DrawFrame(0., -0.5, 6., 2);

   double x[5]    = {1, 2, 3, 4, 5};
   double zero[5] = {0, 0, 0, 0, 0};

   // data set (1) with stat and sys errors
   double y1[5]       = {1.2, 1.15, 1.19, 0.9, 1.4};
   double ey_stat1[5] = {0.2, 0.18, 0.17, 0.2, 0.4};
   double ey_sys1[5]  = {0.5, 0.71, 0.76, 0.5, 0.45};

   // data set (2) with stat and sys errors
   double y2[5]       = {0.25, 0.18, 0.29, 0.2, 0.21};
   double ey_stat2[5] = {0.2, 0.18, 0.17, 0.2, 0.4};
   double ey_sys2[5]  = {0.63, 0.19, 0.7, 0.2, 0.7};

   // Now draw data set (1)

   // We first have to draw it only with the stat errors
   TGraphErrors *graph1 = new TGraphErrors(5, x, y1, zero, ey_stat1);
   graph1->SetMarkerStyle(20);
   graph1->Draw("P");

   // Now we have to somehow depict the sys errors

   TGraphErrors *graph1_sys = new TGraphErrors(5, x, y1, zero, ey_sys1);
   graph1_sys->Draw("[]");

   // Now draw data set (2)

   // We first have to draw it only with the stat errors
   TGraphErrors *graph2 = new TGraphErrors(5, x, y2, zero, ey_stat2);
   graph2->SetMarkerStyle(24);
   graph2->Draw("P");

   // Now we have to somehow depict the sys errors

   TGraphErrors *graph2_sys = new TGraphErrors(5, x, y2, zero, ey_sys2);
   graph2_sys->Draw("[]");
   return c43;
}
End_Macro
Begin_Html

<a name="GP03b"></a><h4><u>TGraphAsymmErrors</u></h4>
A <tt>TGraphAsymmErrors</tt> is like a <tt>TGraphErrors</tt> but the errors
defined along X and Y are not symmetric: The left and right errors are
different along X and the bottom and up errors are different along Y.

End_Html
Begin_Macro(source)
{
   TCanvas *c2 = new TCanvas("c2","c2",200,10,600,400);
   double ax[] = {0, 1, 2, 3, 4};
   double ay[] = {0, 2, 4, 1, 3};
   double aexl[] = {0.1, 0.2, 0.3, 0.4, 0.5};
   double aexh[] = {0.5, 0.4, 0.3, 0.2, 0.1};
   double aeyl[] = {1, 0.5, 1, 0.5, 1};
   double aeyh[] = {0.5, 1, 0.5, 1, 0.5};
   TGraphAsymmErrors* gae = new TGraphAsymmErrors(5, ax, ay, aexl, aexh, aeyl, aeyh);
   gae->SetFillColor(2);
   gae->SetFillStyle(3001);
   gae->Draw("a2");
   gae->Draw("p");
   return c2;
}
End_Macro
Begin_Html


<a name="GP03c"></a><h4><u>TGraphBentErrors</u></h4>
A <tt>TGraphBentErrors</tt> is like a <tt>TGraphAsymmErrors</tt>.
An extra parameter allows to bent the error bars to better see them
when several graphs are drawn on the same plot.

End_Html
Begin_Macro(source)
{
   TCanvas *c3 = new TCanvas("c3","c3",200,10,600,400);
   const Int_t n = 10;
   Double_t x[n]  = {-0.22, 0.05, 0.25, 0.35, 0.5, 0.61,0.7,0.85,0.89,0.95};
   Double_t y[n]  = {1,2.9,5.6,7.4,9,9.6,8.7,6.3,4.5,1};
   Double_t exl[n] = {.05,.1,.07,.07,.04,.05,.06,.07,.08,.05};
   Double_t eyl[n] = {.8,.7,.6,.5,.4,.4,.5,.6,.7,.8};
   Double_t exh[n] = {.02,.08,.05,.05,.03,.03,.04,.05,.06,.03};
   Double_t eyh[n] = {.6,.5,.4,.3,.2,.2,.3,.4,.5,.6};
   Double_t exld[n] = {.0,.0,.0,.0,.0,.0,.0,.0,.0,.0};
   Double_t eyld[n] = {.0,.0,.05,.0,.0,.0,.0,.0,.0,.0};
   Double_t exhd[n] = {.0,.0,.0,.0,.0,.0,.0,.0,.0,.0};
   Double_t eyhd[n] = {.0,.0,.0,.0,.0,.0,.0,.0,.05,.0};
   TGraphBentErrors *gr = new TGraphBentErrors(n,x,y,exl,exh,eyl,eyh,exld,exhd,eyld,eyhd);
   gr->SetTitle("TGraphBentErrors Example");
   gr->SetMarkerColor(4);
   gr->SetMarkerStyle(21);
   gr->Draw("ALP");
   return c3;
}
End_Macro
Begin_Html


<a name="GP04"></a><h3>TGraphPolar options</h3>

The drawing options for the polar graphs are the following values:

<table border=0>

<tr><th valign=top>"O"</th><td>
Polar labels are paint orthogonally to the polargram radius.
</td></tr>

<tr><th valign=top>"P"</th><td>
Polymarker are paint at each point position.
</td></tr>

<tr><th valign=top>"E"</th><td>
Paint error bars.
</td></tr>

<tr><th valign=top>"F"</th><td>
Paint fill area (closed polygon).
</td></tr>

<tr><th valign=top>"A"</th><td>
Force axis redrawing even if a polargram already exists.
</td></tr>

<tr><th valign=top>"N"</th><td>
Disable the display of the polar labels.
</td></tr>

</table>

End_Html
Begin_Macro(source)
{
   TCanvas *c1 = new TCanvas("c1","c1",500,500);
   TGraphPolar * grP1 = new TGraphPolar();
   grP1->SetTitle("TGraphPolar example");

   grP1->SetPoint(0, (1*TMath::Pi())/4., 0.05);
   grP1->SetPoint(1, (2*TMath::Pi())/4., 0.10);
   grP1->SetPoint(2, (3*TMath::Pi())/4., 0.15);
   grP1->SetPoint(3, (4*TMath::Pi())/4., 0.20);
   grP1->SetPoint(4, (5*TMath::Pi())/4., 0.25);
   grP1->SetPoint(5, (6*TMath::Pi())/4., 0.30);
   grP1->SetPoint(6, (7*TMath::Pi())/4., 0.35);
   grP1->SetPoint(7, (8*TMath::Pi())/4., 0.40);

   grP1->SetMarkerStyle(20);
   grP1->SetMarkerSize(1.);
   grP1->SetMarkerColor(4);
   grP1->SetLineColor(4);
   grP1->Draw("ALP");

   // Update, otherwise GetPolargram returns 0
   c1->Update();
   grP1->GetPolargram()->SetToRadian();

   return c1;
}
End_Macro
Begin_Html

End_Html */


//______________________________________________________________________________
TGraphPainter::TGraphPainter()
{
   /* Begin_Html
   Default constructor
   End_Html */
}


//______________________________________________________________________________
TGraphPainter::~TGraphPainter()
{
   /* Begin_Html
   Destructor.
   End_Html */
}


//______________________________________________________________________________
void TGraphPainter::ComputeLogs(Int_t npoints, Int_t opt)
{
   /* Begin_Html
   Compute the lorarithm of global variables <tt>gxwork</tt> and <tt>gywork</tt>
   according to the value of Options and put the results in the global
   variables <tt>gxworkl</tt> and <tt>gyworkl</tt>.
   <p>
   npoints : Number of points in gxwork and in gywork.
   <ul>
   <li> opt = 1 CompulteLogs is called from PaintGrapHist
   <li> opt = 0 CompulteLogs is called from PaintGraph
   </ul>
   End_Html */

   Int_t i;
   memcpy(gxworkl,gxwork,npoints*8);
   memcpy(gyworkl,gywork,npoints*8);
   if (gPad->GetLogx()) {
      for (i=0;i<npoints;i++) {
         if (gxworkl[i] > 0) gxworkl[i] = TMath::Log10(gxworkl[i]);
         else                gxworkl[i] = gPad->GetX1();
      }
   }
   if (!opt && gPad->GetLogy()) {
      for (i=0;i<npoints;i++) {
         if (gyworkl[i] > 0) gyworkl[i] = TMath::Log10(gyworkl[i]);
         else                gyworkl[i] = gPad->GetY1();
      }
   }
}


//______________________________________________________________________________
Int_t TGraphPainter::DistancetoPrimitiveHelper(TGraph *theGraph, Int_t px, Int_t py)
{
   /* Begin_Html
   Compute distance from point px,py to a graph.
   <p>
   Compute the closest distance of approach from point px,py to this line.
   The distance is computed in pixels units.
   End_Html */

   // Are we on the axis?
   Int_t distance;
   if (theGraph->GetHistogram()) {
      distance = theGraph->GetHistogram()->DistancetoPrimitive(px,py);
      if (distance <= 5) return distance;
   }

   // Somewhere on the graph points?
   const Int_t big = 9999;
   const Int_t kMaxDiff = 10;
   Int_t puxmin = gPad->XtoAbsPixel(gPad->GetUxmin());
   Int_t puymin = gPad->YtoAbsPixel(gPad->GetUymin());
   Int_t puxmax = gPad->XtoAbsPixel(gPad->GetUxmax());
   Int_t puymax = gPad->YtoAbsPixel(gPad->GetUymax());

   // return if point is not in the graph area
   if (px <= puxmin) return big;
   if (py >= puymin) return big;
   if (px >= puxmax) return big;
   if (py <= puymax) return big;

   // check if point is near one of the graph points
   Int_t i, pxp, pyp, d;
   distance = big;

   Int_t theNpoints = theGraph->GetN();
   Double_t *theX, *theY;
   if (theGraph->InheritsFrom("TGraphPolar")) {
      TGraphPolar *theGraphPolar = (TGraphPolar*) theGraph;
      theX   = theGraphPolar->GetXpol();
      theY   = theGraphPolar->GetYpol();
   } else {
      theX   = theGraph->GetX();
      theY   = theGraph->GetY();
   }

   for (i=0;i<theNpoints;i++) {
      pxp = gPad->XtoAbsPixel(gPad->XtoPad(theX[i]));
      pyp = gPad->YtoAbsPixel(gPad->YtoPad(theY[i]));
      d   = TMath::Abs(pxp-px) + TMath::Abs(pyp-py);
      if (d < distance) distance = d;
   }
   if (distance < kMaxDiff) return distance;

   for (i=0;i<theNpoints-1;i++) {
      TAttLine l;
      d = l.DistancetoLine(px, py, gPad->XtoPad(theX[i]), gPad->YtoPad(theY[i]), gPad->XtoPad(theX[i+1]), gPad->YtoPad(theY[i+1]));
      if (d < distance) distance = d;
   }

   // If graph has been drawn with the fill area option, check if we are inside
   TString drawOption = theGraph->GetDrawOption();
   drawOption.ToLower();
   if (drawOption.Contains("f")) {
      Double_t xp = gPad->AbsPixeltoX(px); xp = gPad->PadtoX(xp);
      Double_t yp = gPad->AbsPixeltoY(py); yp = gPad->PadtoY(yp);
      if (TMath::IsInside(xp,yp,theNpoints,theX,theY) != 0) distance = 1;
   }

   // Loop on the list of associated functions and user objects
   TObject *f;
   TList *functions = theGraph->GetListOfFunctions();
   TIter   next(functions);
   while ((f = (TObject*) next())) {
      Int_t dist;
      if (f->InheritsFrom(TF1::Class())) dist = f->DistancetoPrimitive(-px,py);
      else                               dist = f->DistancetoPrimitive(px,py);
      if (dist < kMaxDiff) {
         gPad->SetSelected(f);
         return 0; //must be o and not dist in case of TMultiGraph
      }
   }

   return distance;
}


//______________________________________________________________________________
void TGraphPainter::DrawPanelHelper(TGraph *theGraph)
{
   /* Begin_html
   Display a panel with all histogram drawing options.
   End_html */

   if (!gPad) {
      Error("DrawPanel", "need to draw graph first");
      return;
   }
   TVirtualPadEditor *editor = TVirtualPadEditor::GetPadEditor();
   editor->Show();
   gROOT->ProcessLine(Form("((TCanvas*)0x%lx)->Selected((TVirtualPad*)0x%lx,(TObject*)0x%lx,1)",gPad->GetCanvas(),gPad,theGraph));
}


//______________________________________________________________________________
void TGraphPainter::ExecuteEventHelper(TGraph *theGraph, Int_t event, Int_t px, Int_t py)
{
   /* Begin_Html
   Execute action corresponding to one event.
   <p>
   This member function is called when a graph is clicked with the locator.
   <p>
   If the left mouse button is clicked on one of the line end points, this point
   follows the cursor until button is released.
   <p>
   If the middle mouse button clicked, the line is moved parallel to itself
   until the button is released.
   End_Html */

   Int_t i, d;
   Double_t xmin, xmax, ymin, ymax, dx, dy, dxr, dyr;
   const Int_t kMaxDiff = 10;
   static Bool_t middle, badcase;
   static Int_t ipoint, pxp, pyp;
   static Int_t px1,px2,py1,py2;
   static Int_t pxold, pyold, px1old, py1old, px2old, py2old;
   static Int_t dpx, dpy;
   static Int_t *x=0, *y=0;

   if (!theGraph->IsEditable() || theGraph->InheritsFrom("TGraphPolar")) {
      gPad->SetCursor(kHand);
      return;
   }
   if (!gPad->IsEditable()) return;
   Int_t theNpoints = theGraph->GetN();
   Double_t *theX  = theGraph->GetX();
   Double_t *theY  = theGraph->GetY();

   switch (event) {

   case kButton1Down:
      badcase = kFALSE;
      gVirtualX->SetLineColor(-1);
      theGraph->TAttLine::Modify();  //Change line attributes only if necessary
      px1 = gPad->XtoAbsPixel(gPad->GetX1());
      py1 = gPad->YtoAbsPixel(gPad->GetY1());
      px2 = gPad->XtoAbsPixel(gPad->GetX2());
      py2 = gPad->YtoAbsPixel(gPad->GetY2());
      ipoint = -1;


      if (x || y) break;
      x = new Int_t[theNpoints+1];
      y = new Int_t[theNpoints+1];
      for (i=0;i<theNpoints;i++) {
         pxp = gPad->XtoAbsPixel(gPad->XtoPad(theX[i]));
         pyp = gPad->YtoAbsPixel(gPad->YtoPad(theY[i]));
         if (pxp < -kMaxPixel || pxp >= kMaxPixel ||
             pyp < -kMaxPixel || pyp >= kMaxPixel) {
            badcase = kTRUE;
            continue;
         }
         gVirtualX->DrawLine(pxp-4, pyp-4, pxp+4,  pyp-4);
         gVirtualX->DrawLine(pxp+4, pyp-4, pxp+4,  pyp+4);
         gVirtualX->DrawLine(pxp+4, pyp+4, pxp-4,  pyp+4);
         gVirtualX->DrawLine(pxp-4, pyp+4, pxp-4,  pyp-4);
         x[i] = pxp;
         y[i] = pyp;
         d   = TMath::Abs(pxp-px) + TMath::Abs(pyp-py);
         if (d < kMaxDiff) ipoint =i;
      }
      dpx = 0;
      dpy = 0;
      pxold = px;
      pyold = py;
      if (ipoint < 0) return;
      if (ipoint == 0) {
         px1old = 0;
         py1old = 0;
         px2old = gPad->XtoAbsPixel(theX[1]);
         py2old = gPad->YtoAbsPixel(theY[1]);
      } else if (ipoint == theNpoints-1) {
         px1old = gPad->XtoAbsPixel(gPad->XtoPad(theX[theNpoints-2]));
         py1old = gPad->YtoAbsPixel(gPad->YtoPad(theY[theNpoints-2]));
         px2old = 0;
         py2old = 0;
      } else {
         px1old = gPad->XtoAbsPixel(gPad->XtoPad(theX[ipoint-1]));
         py1old = gPad->YtoAbsPixel(gPad->YtoPad(theY[ipoint-1]));
         px2old = gPad->XtoAbsPixel(gPad->XtoPad(theX[ipoint+1]));
         py2old = gPad->YtoAbsPixel(gPad->YtoPad(theY[ipoint+1]));
      }
      pxold = gPad->XtoAbsPixel(gPad->XtoPad(theX[ipoint]));
      pyold = gPad->YtoAbsPixel(gPad->YtoPad(theY[ipoint]));

      break;


   case kMouseMotion:

      middle = kTRUE;
      for (i=0;i<theNpoints;i++) {
         pxp = gPad->XtoAbsPixel(gPad->XtoPad(theX[i]));
         pyp = gPad->YtoAbsPixel(gPad->YtoPad(theY[i]));
         d   = TMath::Abs(pxp-px) + TMath::Abs(pyp-py);
         if (d < kMaxDiff) middle = kFALSE;
      }


   // check if point is close to an axis
      if (middle) gPad->SetCursor(kMove);
      else gPad->SetCursor(kHand);
      break;

   case kButton1Motion:
      if (middle) {
         for(i=0;i<theNpoints-1;i++) {
            gVirtualX->DrawLine(x[i]+dpx, y[i]+dpy, x[i+1]+dpx, y[i+1]+dpy);
            pxp = x[i]+dpx;
            pyp = y[i]+dpy;
            if (pxp < -kMaxPixel || pxp >= kMaxPixel ||
                pyp < -kMaxPixel || pyp >= kMaxPixel) continue;
            gVirtualX->DrawLine(pxp-4, pyp-4, pxp+4,  pyp-4);
            gVirtualX->DrawLine(pxp+4, pyp-4, pxp+4,  pyp+4);
            gVirtualX->DrawLine(pxp+4, pyp+4, pxp-4,  pyp+4);
            gVirtualX->DrawLine(pxp-4, pyp+4, pxp-4,  pyp-4);
         }
         pxp = x[theNpoints-1]+dpx;
         pyp = y[theNpoints-1]+dpy;
         gVirtualX->DrawLine(pxp-4, pyp-4, pxp+4,  pyp-4);
         gVirtualX->DrawLine(pxp+4, pyp-4, pxp+4,  pyp+4);
         gVirtualX->DrawLine(pxp+4, pyp+4, pxp-4,  pyp+4);
         gVirtualX->DrawLine(pxp-4, pyp+4, pxp-4,  pyp-4);
         dpx += px - pxold;
         dpy += py - pyold;
         pxold = px;
         pyold = py;
         for(i=0;i<theNpoints-1;i++) {
            gVirtualX->DrawLine(x[i]+dpx, y[i]+dpy, x[i+1]+dpx, y[i+1]+dpy);
            pxp = x[i]+dpx;
            pyp = y[i]+dpy;
            if (pxp < -kMaxPixel || pxp >= kMaxPixel ||
                pyp < -kMaxPixel || pyp >= kMaxPixel) continue;
            gVirtualX->DrawLine(pxp-4, pyp-4, pxp+4,  pyp-4);
            gVirtualX->DrawLine(pxp+4, pyp-4, pxp+4,  pyp+4);
            gVirtualX->DrawLine(pxp+4, pyp+4, pxp-4,  pyp+4);
            gVirtualX->DrawLine(pxp-4, pyp+4, pxp-4,  pyp-4);
         }
         pxp = x[theNpoints-1]+dpx;
         pyp = y[theNpoints-1]+dpy;
         gVirtualX->DrawLine(pxp-4, pyp-4, pxp+4,  pyp-4);
         gVirtualX->DrawLine(pxp+4, pyp-4, pxp+4,  pyp+4);
         gVirtualX->DrawLine(pxp+4, pyp+4, pxp-4,  pyp+4);
         gVirtualX->DrawLine(pxp-4, pyp+4, pxp-4,  pyp-4);
      } else {
         if (px1old) gVirtualX->DrawLine(px1old, py1old, pxold,  pyold);
         if (px2old) gVirtualX->DrawLine(pxold,  pyold,  px2old, py2old);
         gVirtualX->DrawLine(pxold-4, pyold-4, pxold+4,  pyold-4);
         gVirtualX->DrawLine(pxold+4, pyold-4, pxold+4,  pyold+4);
         gVirtualX->DrawLine(pxold+4, pyold+4, pxold-4,  pyold+4);
         gVirtualX->DrawLine(pxold-4, pyold+4, pxold-4,  pyold-4);
         pxold = px;
         pxold = TMath::Max(pxold, px1);
         pxold = TMath::Min(pxold, px2);
         pyold = py;
         pyold = TMath::Max(pyold, py2);
         pyold = TMath::Min(pyold, py1);
         if (px1old) gVirtualX->DrawLine(px1old, py1old, pxold,  pyold);
         if (px2old) gVirtualX->DrawLine(pxold,  pyold,  px2old, py2old);
         gVirtualX->DrawLine(pxold-4, pyold-4, pxold+4,  pyold-4);
         gVirtualX->DrawLine(pxold+4, pyold-4, pxold+4,  pyold+4);
         gVirtualX->DrawLine(pxold+4, pyold+4, pxold-4,  pyold+4);
         gVirtualX->DrawLine(pxold-4, pyold+4, pxold-4,  pyold-4);
      }
      break;

   case kButton1Up:

      if (gROOT->IsEscaped()) {
         gROOT->SetEscape(kFALSE);
         delete [] x; x = 0;
         delete [] y; y = 0;
         break;
      }

   // Compute x,y range
      xmin = gPad->GetUxmin();
      xmax = gPad->GetUxmax();
      ymin = gPad->GetUymin();
      ymax = gPad->GetUymax();
      dx   = xmax-xmin;
      dy   = ymax-ymin;
      dxr  = dx/(1 - gPad->GetLeftMargin() - gPad->GetRightMargin());
      dyr  = dy/(1 - gPad->GetBottomMargin() - gPad->GetTopMargin());

      if (theGraph->GetHistogram()) {
         // Range() could change the size of the pad pixmap and therefore should
         // be called before the other paint routines
         gPad->Range(xmin - dxr*gPad->GetLeftMargin(),
                      ymin - dyr*gPad->GetBottomMargin(),
                      xmax + dxr*gPad->GetRightMargin(),
                      ymax + dyr*gPad->GetTopMargin());
         gPad->RangeAxis(xmin, ymin, xmax, ymax);
      }
      if (middle) {
         for(i=0;i<theNpoints;i++) {
            if (badcase) continue;  //do not update if big zoom and points moved
            if (x) theX[i] = gPad->PadtoX(gPad->AbsPixeltoX(x[i]+dpx));
            if (y) theY[i] = gPad->PadtoY(gPad->AbsPixeltoY(y[i]+dpy));
         }
      } else {
         theX[ipoint] = gPad->PadtoX(gPad->AbsPixeltoX(pxold));
         theY[ipoint] = gPad->PadtoY(gPad->AbsPixeltoY(pyold));
         if (theGraph->InheritsFrom("TCutG")) {
            //make sure first and last point are the same
            if (ipoint == 0) {
               theX[theNpoints-1] = theX[0];
               theY[theNpoints-1] = theY[0];
            }
            if (ipoint == theNpoints-1) {
               theX[0] = theX[theNpoints-1];
               theY[0] = theY[theNpoints-1];
            }
         }
      }
      badcase = kFALSE;
      delete [] x; x = 0;
      delete [] y; y = 0;
      gPad->Modified(kTRUE);
      gVirtualX->SetLineColor(-1);
   }
}


//______________________________________________________________________________
char *TGraphPainter::GetObjectInfoHelper(TGraph * /*theGraph*/, Int_t /*px*/, Int_t /*py*/) const
{
   return (char*)"";
}


//______________________________________________________________________________
void TGraphPainter::PaintHelper(TGraph *theGraph, Option_t *option)
{
   /* Begin_Html
   Paint a any kind of TGraph
   End_Html */

   if (theGraph) {
      SetBit(TGraph::kClipFrame, theGraph->TestBit(TGraph::kClipFrame));
      if (theGraph->InheritsFrom("TGraphBentErrors")) {
         PaintGraphBentErrors(theGraph,option);
      } else if (theGraph->InheritsFrom("TGraphQQ")) {
         PaintGraphQQ(theGraph,option);
      } else if (theGraph->InheritsFrom("TGraphAsymmErrors")) {
         PaintGraphAsymmErrors(theGraph,option);
      } else if (theGraph->InheritsFrom("TGraphErrors")) {
         if (theGraph->InheritsFrom("TGraphPolar")) {
            PaintGraphPolar(theGraph,option);
         } else {
            PaintGraphErrors(theGraph,option);
         }
      } else {
         PaintGraphSimple(theGraph,option);
      }
   }
}


//______________________________________________________________________________
void TGraphPainter::PaintGraph(TGraph *theGraph, Int_t npoints, const Double_t *x, const Double_t *y, Option_t *chopt)
{
   /* Begin_Html
   <a href="#GP01">Control function to draw a graph.</a>
   End_Html */

   Int_t optionLine , optionAxis , optionCurve, optionStar , optionMark;
   Int_t optionBar  , optionR    , optionOne  , optionE;
   Int_t optionFill , optionZ    , optionCurveFill;
   Int_t i, npt, nloop;
   Int_t drawtype=0;
   Double_t xlow, xhigh, ylow, yhigh;
   Double_t barxmin, barxmax, barymin, barymax;
   Double_t uxmin, uxmax;
   Double_t x1, xn, y1, yn;
   Double_t dbar, bdelta;
   Int_t theNpoints = theGraph->GetN();

   if (npoints <= 0) {
      Error("PaintGraph", "illegal number of points (%d)", npoints);
      return;
   }
   TString opt = chopt;
   opt.ToUpper();
   opt.ReplaceAll("SAME","");

   if(opt.Contains("L")) optionLine = 1;  else optionLine = 0;
   if(opt.Contains("A")) optionAxis = 1;  else optionAxis = 0;
   if(opt.Contains("C")) optionCurve= 1;  else optionCurve= 0;
   if(opt.Contains("*")) optionStar = 1;  else optionStar = 0;
   if(opt.Contains("P")) optionMark = 1;  else optionMark = 0;
   if(opt.Contains("B")) optionBar  = 1;  else optionBar  = 0;
   if(opt.Contains("R")) optionR    = 1;  else optionR    = 0;
   if(opt.Contains("1")) optionOne  = 1;  else optionOne  = 0;
   if(opt.Contains("F")) optionFill = 1;  else optionFill = 0;
   if(opt.Contains("2") || opt.Contains("3") ||
      opt.Contains("4")) optionE = 1;  else optionE = 0;
   optionZ    = 0;

   // If no "drawing" option is selected and if chopt<>' ' nothing is done.
   if (optionLine+optionFill+optionCurve+optionStar+optionMark+optionBar+optionE == 0) {
      if (strlen(chopt) == 0)  optionLine=1;
      else   return;
   }

   if (optionStar) theGraph->SetMarkerStyle(3);

   optionCurveFill = 0;
   if (optionCurve && optionFill) {
      optionCurveFill = 1;
      optionFill      = 0;
   }

   // Draw the Axis.
   Double_t rwxmin,rwxmax, rwymin, rwymax, maximum, minimum, dx, dy;
   if (optionAxis) {
      if (theGraph->GetHistogram()) {
         rwxmin    = gPad->GetUxmin();
         rwxmax    = gPad->GetUxmax();
         rwymin    = gPad->GetUymin();
         rwymax    = gPad->GetUymax();
         minimum   = theGraph->GetHistogram()->GetMinimumStored();
         maximum   = theGraph->GetHistogram()->GetMaximumStored();
         if (minimum == -1111) { //this can happen after unzooming
            minimum = theGraph->GetHistogram()->GetYaxis()->GetXmin();
            theGraph->GetHistogram()->SetMinimum(minimum);
         }
         if (maximum == -1111) {
            maximum = theGraph->GetHistogram()->GetYaxis()->GetXmax();
            theGraph->GetHistogram()->SetMaximum(maximum);
         }
         uxmin     = gPad->PadtoX(rwxmin);
         uxmax     = gPad->PadtoX(rwxmax);
      } else {

         theGraph->ComputeRange(rwxmin, rwymin, rwxmax, rwymax);  //this is redefined in TGraphErrors

         if (rwxmin == rwxmax) rwxmax += 1.;
         if (rwymin == rwymax) rwymax += 1.;
         dx = 0.1*(rwxmax-rwxmin);
         dy = 0.1*(rwymax-rwymin);
         uxmin    = rwxmin - dx;
         uxmax    = rwxmax + dx;
         minimum  = rwymin - dy;
         maximum  = rwymax + dy;
      }
      if (theGraph->GetMinimum() != -1111) rwymin = minimum = theGraph->GetMinimum();
      if (theGraph->GetMaximum() != -1111) rwymax = maximum = theGraph->GetMaximum();
      if (uxmin < 0 && rwxmin >= 0) uxmin = 0.9*rwxmin;
      if (uxmax > 0 && rwxmax <= 0) {
         if (gPad->GetLogx()) uxmax = 1.1*rwxmax;
         else                 uxmax = 0;
      }
      if (minimum < 0 && rwymin >= 0) minimum = 0.9*rwymin;
      if (maximum > 0 && rwymax <= 0) {
         //if(gPad->GetLogy()) maximum = 1.1*rwymax;
         //else                maximum = 0;
      }
      if (minimum <= 0 && gPad->GetLogy()) minimum = 0.001*maximum;
      if (uxmin <= 0 && gPad->GetLogx()) {
         if (uxmax > 1000) uxmin = 1;
         else              uxmin = 0.001*uxmax;
      }
      rwymin = minimum;
      rwymax = maximum;

      // Create a temporary histogram and fill each channel with the
      // function value.
      char chopth[8] = " ";
      if (strstr(chopt,"x+")) strcat(chopth, "x+");
      if (strstr(chopt,"y+")) strcat(chopth, "y+");
      if (!theGraph->GetHistogram()) {
         // the graph is created with at least as many channels as there are
         // points to permit zooming on the full range.
         rwxmin = uxmin;
         rwxmax = uxmax;
         npt = 100;
         if (theNpoints > npt) npt = theNpoints;
         TH1 *h = new TH1F(Form("%s_h",GetName()),GetTitle(),npt,rwxmin,rwxmax);
         theGraph->SetHistogram(h);
         if (!theGraph->GetHistogram()) return;
         theGraph->GetHistogram()->SetMinimum(rwymin);
         theGraph->GetHistogram()->SetMaximum(rwymax);
         theGraph->GetHistogram()->GetYaxis()->SetLimits(rwymin,rwymax);
         theGraph->GetHistogram()->SetBit(TH1::kNoStats);
         theGraph->GetHistogram()->SetDirectory(0);
         theGraph->GetHistogram()->Paint(chopth); // Draw histogram axis, title and grid
      } else {
         if (gPad->GetLogy()) {
            theGraph->GetHistogram()->SetMinimum(rwymin);
            theGraph->GetHistogram()->SetMaximum(rwymax);
            theGraph->GetHistogram()->GetYaxis()->SetLimits(rwymin,rwymax);
         }
         theGraph->GetHistogram()->Paint(chopth); // Draw histogram axis, title and grid
      }
   }

   // Set Clipping option
   gPad->SetBit(TGraph::kClipFrame, theGraph->TestBit(TGraph::kClipFrame));

   TF1 *fit = 0;
   TList *functions = theGraph->GetListOfFunctions();
   TObject *f;
   if (functions) {
      f = (TF1*)functions->First();
      if (f) {
         if (f->InheritsFrom(TF1::Class())) fit = (TF1*)f;
      }
      TIter   next(functions);
      while ((f = (TObject*) next())) {
         if (f->InheritsFrom(TF1::Class())) {
            fit = (TF1*)f;
            break;
         }
      }
   }
   if (fit) PaintStats(theGraph, fit);

   rwxmin   = gPad->GetUxmin();
   rwxmax   = gPad->GetUxmax();
   rwymin   = gPad->GetUymin();
   rwymax   = gPad->GetUymax();
   uxmin    = gPad->PadtoX(rwxmin);
   uxmax    = gPad->PadtoX(rwxmax);
   if (theGraph->GetHistogram() && !theGraph->InheritsFrom("TGraphPolar")) {
      maximum = theGraph->GetHistogram()->GetMaximum();
      minimum = theGraph->GetHistogram()->GetMinimum();
   } else {
      maximum = gPad->PadtoY(rwymax);
      minimum = gPad->PadtoY(rwymin);
   }

   // Set attributes
   theGraph->TAttLine::Modify();
   theGraph->TAttFill::Modify();
   theGraph->TAttMarker::Modify();

   // Draw the graph with a polyline or a fill area
   gxwork  = new Double_t[2*npoints+10];
   gywork  = new Double_t[2*npoints+10];
   gxworkl = new Double_t[2*npoints+10];
   gyworkl = new Double_t[2*npoints+10];

   if (optionLine || optionFill) {
      x1    = x[0];
      xn    = x[npoints-1];
      y1    = y[0];
      yn    = y[npoints-1];
      nloop = npoints;
      if (optionFill && (xn != x1 || yn != y1)) nloop++;
      npt = 0;
      for (i=1;i<=nloop;i++) {
         if (i > npoints) {
            gxwork[npt] = gxwork[0];  gywork[npt] = gywork[0];
         } else {
            gxwork[npt] = x[i-1];      gywork[npt] = y[i-1];
            npt++;
         }
         if (i == nloop) {
            ComputeLogs(npt, optionZ);
            Int_t bord = gStyle->GetDrawBorder();
            if (optionR) {
               if (optionFill) {
                  gPad->PaintFillArea(npt,gyworkl,gxworkl);
                  if (bord) gPad->PaintPolyLine(npt,gyworkl,gxworkl);
               } else {
                  if (TMath::Abs(theGraph->GetLineWidth())>99) PaintPolyLineHatches(theGraph, npt, gyworkl, gxworkl);
                  gPad->PaintPolyLine(npt,gyworkl,gxworkl);
               }
            }
            else {
               if (optionFill) {
                  gPad->PaintFillArea(npt,gxworkl,gyworkl);
                  if (bord) gPad->PaintPolyLine(npt,gxworkl,gyworkl);
               } else {
                  if (TMath::Abs(theGraph->GetLineWidth())>99) PaintPolyLineHatches(theGraph, npt, gxworkl, gyworkl);
                  gPad->PaintPolyLine(npt,gxworkl,gyworkl);
               }
            }
            gxwork[0] = gxwork[npt-1];  gywork[0] = gywork[npt-1];
            npt      = 1;
         }
      }
   }

   // Draw the graph with a smooth Curve. Smoothing via Smooth
   if (optionCurve) {
      x1 = x[0];
      xn = x[npoints-1];
      y1 = y[0];
      yn = y[npoints-1];
      drawtype = 1;
      nloop = npoints;
      if (optionCurveFill) {
         drawtype += 1000;
         if (xn != x1 || yn != y1) nloop++;
      }
      if (!optionR) {
         npt = 0;
         for (i=1;i<=nloop;i++) {
            if (i > npoints) {
               gxwork[npt] = gxwork[0];  gywork[npt] = gywork[0];
            } else {
               gxwork[npt] = x[i-1];      gywork[npt] = y[i-1];
               npt++;
            }
            ComputeLogs(npt, optionZ);
            if (gyworkl[npt-1] < rwymin || gyworkl[npt-1] > rwymax) {
               if (npt > 2) {
                  ComputeLogs(npt, optionZ);
                  Smooth(theGraph, npt,gxworkl,gyworkl,drawtype);
               }
               gxwork[0] = gxwork[npt-1]; gywork[0] = gywork[npt-1];
               npt=1;
               continue;
            }
         }
         if (npt > 1) {
            ComputeLogs(npt, optionZ);
            Smooth(theGraph, npt,gxworkl,gyworkl,drawtype);
         }
      }
      else {
         drawtype += 10;
         npt    = 0;
         for (i=1;i<=nloop;i++) {
            if (i > npoints) {
               gxwork[npt] = gxwork[0];  gywork[npt] = gywork[0];
            } else {
               if (y[i-1] < minimum || y[i-1] > maximum) continue;
               if (x[i-1] < uxmin    || x[i-1] > uxmax)  continue;
               gxwork[npt] = x[i-1];      gywork[npt] = y[i-1];
               npt++;
            }
            ComputeLogs(npt, optionZ);
            if (gxworkl[npt-1] < rwxmin || gxworkl[npt-1] > rwxmax) {
               if (npt > 2) {
                  ComputeLogs(npt, optionZ);
                  Smooth(theGraph, npt,gxworkl,gyworkl,drawtype);
               }
               gxwork[0] = gxwork[npt-1]; gywork[0] = gywork[npt-1];
               npt=1;
               continue;
            }
         }
         if (npt > 1) {
            ComputeLogs(npt, optionZ);
            Smooth(theGraph, npt,gxworkl,gyworkl,drawtype);
         }
      }
   }

   // Draw the graph with a '*' on every points
   if (optionStar) {
      theGraph->SetMarkerStyle(3);
      npt = 0;
      for (i=1;i<=npoints;i++) {
         gxwork[npt] = x[i-1];      gywork[npt] = y[i-1];
         npt++;
         if (i == npoints) {
            ComputeLogs(npt, optionZ);
            if (optionR)  gPad->PaintPolyMarker(npt,gyworkl,gxworkl);
            else          gPad->PaintPolyMarker(npt,gxworkl,gyworkl);
            npt = 0;
         }
      }
   }

   // Draw the graph with the current polymarker on every points
   if (optionMark) {
      npt = 0;
      for (i=1;i<=npoints;i++) {
         gxwork[npt] = x[i-1];      gywork[npt] = y[i-1];
         npt++;
         if (i == npoints) {
            ComputeLogs(npt, optionZ);
            if (optionR) gPad->PaintPolyMarker(npt,gyworkl,gxworkl);
            else         gPad->PaintPolyMarker(npt,gxworkl,gyworkl);
            npt = 0;
         }
      }
   }

   // Draw the graph as a bar chart
   if (optionBar) {
      if (!optionR) {
         barxmin = x[0];
         barxmax = x[0];
         for (i=1;i<npoints;i++) {
            if (x[i] < barxmin) barxmin = x[i];
            if (x[i] > barxmax) barxmax = x[i];
         }
         bdelta = (barxmax-barxmin)/Double_t(npoints);
      }
      else {
         barymin = y[0];
         barymax = y[0];
         for (i=1;i<npoints;i++) {
            if (y[i] < barymin) barymin = y[i];
            if (y[i] > barymax) barymax = y[i];
         }
         bdelta = (barymax-barymin)/Double_t(npoints);
      }
      dbar  = 0.5*bdelta*gStyle->GetBarWidth();
      if (!optionR) {
         for (i=1;i<=npoints;i++) {
            xlow  = x[i-1] - dbar;
            xhigh = x[i-1] + dbar;
            yhigh = y[i-1];
            if (xlow  < uxmin) continue;
            if (xhigh > uxmax) continue;
            if (!optionOne) ylow = TMath::Max((Double_t)0,gPad->GetUymin());
            else            ylow = gPad->GetUymin();
            gxwork[0] = xlow;
            gywork[0] = ylow;
            gxwork[1] = xhigh;
            gywork[1] = yhigh;
            ComputeLogs(2, optionZ);
            if (gyworkl[0] < gPad->GetUymin()) gyworkl[0] = gPad->GetUymin();
            if (gyworkl[1] < gPad->GetUymin()) continue;
            if (gyworkl[1] > gPad->GetUymax()) gyworkl[1] = gPad->GetUymax();
            if (gyworkl[0] > gPad->GetUymax()) continue;

            gPad->PaintBox(gxworkl[0],gyworkl[0],gxworkl[1],gyworkl[1]);
         }
      }
      else {
         for (i=1;i<=npoints;i++) {
            xhigh = x[i-1];
            ylow  = y[i-1] - dbar;
            yhigh = y[i-1] + dbar;
            xlow     = TMath::Max((Double_t)0, gPad->GetUxmin());
            gxwork[0] = xlow;
            gywork[0] = ylow;
            gxwork[1] = xhigh;
            gywork[1] = yhigh;
            ComputeLogs(2, optionZ);
            gPad->PaintBox(gxworkl[0],gyworkl[0],gxworkl[1],gyworkl[1]);
         }
      }
   }
   gPad->ResetBit(TGraph::kClipFrame);

   delete [] gxwork;
   delete [] gywork;
   delete [] gxworkl;
   delete [] gyworkl;
}


//______________________________________________________________________________
void TGraphPainter::PaintGrapHist(TGraph *theGraph, Int_t npoints, const Double_t *x,
                                  const Double_t *y, Option_t *chopt)
{
   /* Begin_Html
   This method is used by
   <a href="http://root.cern.ch/root/html/THistPainter.html"><tt>THistPainter</tt></a>
   to paint 1D histograms.
   <p>
   Input parameters:
   <ul>
   <li> npoints : Number of points in X or in Y.
   <li> x[npoints] or x[0] : x coordinates or (xmin,xmax).
   <li> y[npoints] or y[0] : y coordinates or (ymin,ymax).
   <li> chopt : Option.
   </ul>
   <p>
   The aspect of the graph is done according to the value of the chopt.
   <p>
   <table border=0>
   <tr><th valign=top>"R"</th><td>
   Graph is drawn horizontaly, parallel to X axis.
   //               (default is vertically, parallel to Y axis)
   //               If option R is selected the user must give:
   //                 2 values for Y (y[0]=YMIN and y[1]=YMAX)
   //                 N values for X, one for each channel.
   //               Otherwise the user must give:
   //                 N values for Y, one for each channel.
   //                 2 values for X (x[0]=XMIN and x[1]=XMAX)
   </td></tr>

   <tr><th valign=top>"L"</th><td>
   A simple polyline beetwen every points is drawn
   </td></tr>

   <tr><th valign=top>"H"</th><td>
   An Histogram with equidistant bins is drawn
   as a polyline.
   </td></tr>

   <tr><th valign=top>"F"</th><td>
   An histogram with equidistant bins is drawn
   as a fill area. Contour is not drawn unless
   chopt='H' is also selected..
   </td></tr>

   <tr><th valign=top>"N"</th><td>
   Non equidistant bins (default is equidistant)
   If N is the number of channels array X and Y
   must be dimensionned as follow:
   If option R is not selected (default) then
   the user must give:
     (N+1) values for X (limits of channels).
      N values for Y, one for each channel.
   Otherwise the user must give:
     (N+1) values for Y (limits of channels).
      N values for X, one for each channel.
   </td></tr>

   <tr><th valign=top>"F1"</th><td>
   Idem as 'F' except that fill area is no more
   reparted arround axis X=0 or Y=0 .
   </td></tr>

   <tr><th valign=top>"F2"</th><td>
   Draw a Fill area polyline connecting the center of bins
   </td></tr>

   <tr><th valign=top>"C"</th><td>
   A smooth Curve is drawn.
   </td></tr>

   <tr><th valign=top>"*"</th><td>
   A Star is plotted at the center of each bin.
   </td></tr>

   <tr><th valign=top>"P"</th><td>
   Idem with the current marker
   </td></tr>

   <tr><th valign=top>"P0"</th><td>
   Idem with the current marker. Empty bins also drawn
   </td></tr>

   <tr><th valign=top>"B"</th><td>
   A Bar chart with equidistant bins is drawn as fill
   areas (Contours are drawn).
   </td></tr>

   <tr><th valign=top>"9"</th><td>
   Force graph to be drawn in high resolution mode.
   By default, the graph is drawn in low resolution
   in case the number of points is greater than the number of
   pixels in the current pad.
   </td></tr>

   <tr><th valign=top>"]["</th><td>
   "Cutoff" style. When this option is selected together with
   H option, the first and last vertical lines of the histogram
   are not drawn.
   </td></tr>

   </table>
   End_Html */

   const char *where = "PaintGraphHist";

   Int_t optionLine , optionAxis , optionCurve, optionStar, optionMark;
   Int_t optionBar  , optionRot  , optionOne  , optionOff ;
   Int_t optionFill , optionZ;
   Int_t optionHist , optionBins , optionMarker;
   Int_t i, j, npt;
   Int_t drawtype=0, drawborder, drawbordersav;
   Double_t xlow, xhigh, ylow, yhigh;
   Double_t wmin, wmax;
   Double_t dbar, offset, wminstep;
   Double_t delta = 0;
   Double_t ylast = 0;
   Double_t xi, xi1, xj, xj1, yi1, yi, yj, yj1, xwmin, ywmin;
   Int_t first, last, nbins;
   Int_t fillarea;

   char choptaxis[10] = " ";

   if (npoints <= 0) {
      Error(where, "illegal number of points (%d)", npoints);
      return;
   }
   TString opt = chopt;
   opt.ToUpper();
   if(opt.Contains("H"))  optionHist = 1;  else optionHist = 0;
   if(opt.Contains("F"))  optionFill = 1;  else optionFill = 0;
   if(opt.Contains("C"))  optionCurve= 1;  else optionCurve= 0;
   if(opt.Contains("*"))  optionStar = 1;  else optionStar = 0;
   if(opt.Contains("R"))  optionRot  = 1;  else optionRot  = 0;
   if(opt.Contains("1"))  optionOne  = 1;  else optionOne  = 0;
   if(opt.Contains("B"))  optionBar  = 1;  else optionBar  = 0;
   if(opt.Contains("N"))  optionBins = 1;  else optionBins = 0;
   if(opt.Contains("L"))  optionLine = 1;  else optionLine = 0;
   if(opt.Contains("P"))  optionMark = 1;  else optionMark = 0;
   if(opt.Contains("A"))  optionAxis = 1;  else optionAxis = 0;
   if(opt.Contains("][")) optionOff  = 1;  else optionOff  = 0;
   if(opt.Contains("P0")) optionMark = 10;

   Int_t optionFill2 = 0;
   if(opt.Contains("F") && opt.Contains("2")) {
      optionFill = 0; optionFill2 = 1;
   }

   // Set Clipping option
   Option_t *noClip;
   if (theGraph->TestBit(TGraph::kClipFrame)) noClip = "";
   else noClip = "C";
   gPad->SetBit(TGraph::kClipFrame, theGraph->TestBit(TGraph::kClipFrame));

   optionZ = 1;

   if (optionStar) theGraph->SetMarkerStyle(3);

   first = 1;
   last  = npoints;
   nbins = last - first + 1;

   //           Draw the Axis with a fixed number of division: 510

   Double_t baroffset = gStyle->GetBarOffset();
   Double_t barwidth  = gStyle->GetBarWidth();
   Double_t rwxmin    = gPad->GetUxmin();
   Double_t rwxmax    = gPad->GetUxmax();
   Double_t rwymin    = gPad->GetUymin();
   Double_t rwymax    = gPad->GetUymax();
   Double_t uxmin     = gPad->PadtoX(rwxmin);
   Double_t uxmax     = gPad->PadtoX(rwxmax);
   Double_t rounding  = (uxmax-uxmin)*1.e-5;
   drawborder         = gStyle->GetDrawBorder();
   if (optionAxis) {
      Int_t nx1, nx2, ndivx, ndivy, ndiv;
      choptaxis[0]  = 0;
      Double_t rwmin  = rwxmin;
      Double_t rwmax  = rwxmax;
      ndivx = gStyle->GetNdivisions("X");
      ndivy = gStyle->GetNdivisions("Y");
      if (ndivx > 1000) {
         nx2   = ndivx/100;
         nx1   = TMath::Max(1, ndivx%100);
         ndivx = 100*nx2 + Int_t(Double_t(nx1)*gPad->GetAbsWNDC());
      }
      ndiv  =TMath::Abs(ndivx);
      if (ndivx < 0) strcat(choptaxis, "N");
      if (gPad->GetGridx()) {
         strcat(choptaxis, "W");
      }
      if (gPad->GetLogx()) {
         rwmin = TMath::Power(10,rwxmin);
         rwmax = TMath::Power(10,rwxmax);
         strcat(choptaxis, "G");
      }
      TGaxis *axis = new TGaxis();
      axis->SetLineColor(gStyle->GetAxisColor("X"));
      axis->SetTextColor(gStyle->GetLabelColor("X"));
      axis->SetTextFont(gStyle->GetLabelFont("X"));
      axis->SetLabelSize(gStyle->GetLabelSize("X"));
      axis->SetLabelOffset(gStyle->GetLabelOffset("X"));
      axis->SetTickSize(gStyle->GetTickLength("X"));

      axis->PaintAxis(rwxmin,rwymin,rwxmax,rwymin,rwmin,rwmax,ndiv,choptaxis);

      choptaxis[0]  = 0;
      rwmin  = rwymin;
      rwmax  = rwymax;
      if (ndivy < 0) {
         nx2   = ndivy/100;
         nx1   = TMath::Max(1, ndivy%100);
         ndivy = 100*nx2 + Int_t(Double_t(nx1)*gPad->GetAbsHNDC());
         strcat(choptaxis, "N");
      }
      ndiv  =TMath::Abs(ndivy);
      if (gPad->GetGridy()) {
         strcat(choptaxis, "W");
      }
      if (gPad->GetLogy()) {
         rwmin = TMath::Power(10,rwymin);
         rwmax = TMath::Power(10,rwymax);
         strcat(choptaxis,"G");
      }
      axis->SetLineColor(gStyle->GetAxisColor("Y"));
      axis->SetTextColor(gStyle->GetLabelColor("Y"));
      axis->SetTextFont(gStyle->GetLabelFont("Y"));
      axis->SetLabelSize(gStyle->GetLabelSize("Y"));
      axis->SetLabelOffset(gStyle->GetLabelOffset("Y"));
      axis->SetTickSize(gStyle->GetTickLength("Y"));

      axis->PaintAxis(rwxmin,rwymin,rwxmin,rwymax,rwmin,rwmax,ndiv,choptaxis);
      delete axis;
   }


   //           Set attributes
   theGraph->TAttLine::Modify();
   theGraph->TAttFill::Modify();
   theGraph->TAttMarker::Modify();

   //       Min-Max scope

   if (!optionRot) {wmin = x[0];   wmax = x[1];}
   else            {wmin = y[0];   wmax = y[1];}

   if (!optionBins) delta = (wmax - wmin)/ Double_t(nbins);

   Int_t fwidth = gPad->GetFrameLineWidth();
   TFrame *frame = gPad->GetFrame();
   if (frame) fwidth = frame->GetLineWidth();
   if (optionOff) fwidth = 1;
   Double_t dxframe = gPad->AbsPixeltoX(fwidth/2) - gPad->AbsPixeltoX(0);
   Double_t vxmin = gPad->PadtoX(gPad->GetUxmin() + dxframe);
   Double_t vxmax = gPad->PadtoX(gPad->GetUxmax() - dxframe);
   Double_t dyframe = -gPad->AbsPixeltoY(fwidth/2) + gPad->AbsPixeltoY(0);
   Double_t vymin = gPad->GetUymin() + dyframe; //y already in log scale
   vxmin = TMath::Max(vxmin,wmin);
   vxmax = TMath::Min(vxmax,wmax);

   //           Draw the histogram with a fill area

   gxwork  = new Double_t[2*npoints+10];
   gywork  = new Double_t[2*npoints+10];
   gxworkl = new Double_t[2*npoints+10];
   gyworkl = new Double_t[2*npoints+10];

   if (optionFill && !optionCurve) {
      fillarea = kTRUE;
      if (!optionRot) {
         gxwork[0] = vxmin;
         if (!optionOne) gywork[0] = TMath::Min(TMath::Max((Double_t)0,gPad->GetUymin())
                                               ,gPad->GetUymax());
         else            gywork[0] = gPad->GetUymin();
         npt = 2;
         for (j=first; j<=last;j++) {
            if (!optionBins) {
               gxwork[npt-1]   = gxwork[npt-2];
               gxwork[npt]     = wmin+((j-first+1)*delta);
               if (gxwork[npt] < gxwork[0]) gxwork[npt] = gxwork[0];

            }
            else {
               xj1 = x[j];      xj  = x[j-1];
               if (xj1 < xj) {
                  if (j != last) Error(where, "X must be in increasing order");
                  else           Error(where, "X must have N+1 values with option N");
                  return;
               }
               gxwork[npt-1] = x[j-1];       gxwork[npt] = x[j];
            }
            gywork[npt-1] = y[j-1];
            gywork[npt]   = y[j-1];
            if (gywork[npt] < vymin) {gywork[npt] = vymin; gywork[npt-1] = vymin;}
            if (gxwork[npt-1] >= uxmin-rounding && gxwork[npt] <= uxmax+rounding) npt += 2;
            else gxwork[npt-2] = TMath::Min(gxwork[npt], uxmax);
            if (j == last) {
               gxwork[npt-1] = gxwork[npt-2];
               gywork[npt-1] = gywork[0];
               //make sure that the fill area does not overwrite the frame
               //take into account the frame linewidth
               if (gxwork[0    ] < vxmin) {gxwork[0    ] = vxmin; gxwork[1    ] = vxmin;}
               if (gywork[0] < vymin) {gywork[0] = vymin; gywork[npt-1] = vymin;}

               //transform to log ?
               ComputeLogs(npt, optionZ);
               gPad->PaintFillArea(npt,gxworkl,gyworkl);
               if (drawborder) {
                  if (!fillarea) gyworkl[0] = ylast;
                  gPad->PaintPolyLine(npt-1,gxworkl,gyworkl,noClip);
               }
               continue;
            }
         }  //endfor (j=first; j<=last;j++) {
      }
      else {
         gywork[0] = wmin;
         if (!optionOne) gxwork[0] = TMath::Max((Double_t)0,gPad->GetUxmin());
         else            gxwork[0] = gPad->GetUxmin();
         npt = 2;
         for (j=first; j<=last;j++) {
            if (!optionBins) {
               gywork[npt-1] = gywork[npt-2];
               gywork[npt]   = wmin+((j-first+1)*delta);
            }
            else {
               yj1 = y[j];      yj  = y[j-1];
               if (yj1 < yj) {
                  if (j != last) Error(where, "Y must be in increasing order");
                  else           Error(where, "Y must have N+1 values with option N");
                  return;
               }
               gywork[npt-1] = y[j-1];       gywork[npt] = y[j];
            }
            gxwork[npt-1] = x[j-1];      gxwork[npt] = x[j-1];
            if (gxwork[npt-1] >= uxmin-rounding && gxwork[npt] <= uxmax+rounding) npt += 2;
            if (j == last) {
               gywork[npt-1] = gywork[npt-2];
               gxwork[npt-1] = gxwork[0];
               ComputeLogs(npt, optionZ);
               gPad->PaintFillArea(npt,gxworkl,gyworkl);
               if (drawborder) {
                  if (!fillarea) gyworkl[0] = ylast;
                  gPad->PaintPolyLine(npt-1,gxworkl,gyworkl,noClip);
               }
               continue;
            }
         }  //endfor (j=first; j<=last;j++)
      }
      theGraph->TAttLine::Modify();
      theGraph->TAttFill::Modify();
   }

   //      Draw a standard Histogram (default)

   if ((optionHist) || strlen(chopt) == 0) {
      if (!optionRot) {
         gxwork[0] = wmin;
         gywork[0] = gPad->GetUymin();
         ywmin    = gywork[0];
         npt      = 2;
         for (i=first; i<=last;i++) {
            if (!optionBins) {
               gxwork[npt-1] = gxwork[npt-2];
               gxwork[npt]   = wmin+((i-first+1)*delta);
            }
            else {
               xi1 = x[i];      xi  = x[i-1];
               if (xi1 < xi) {
                  if (i != last) Error(where, "X must be in increasing order");
                  else           Error(where, "X must have N+1 values with option N");
                  return;
               }
               gxwork[npt-1] = x[i-1];      gxwork[npt] = x[i];
            }
            gywork[npt-1] = y[i-1];
            gywork[npt]   = y[i-1];
            if (gywork[npt] < vymin) {gywork[npt] = vymin; gywork[npt-1] = vymin;}
            if (gxwork[npt-1] >= uxmin-rounding && gxwork[npt] <= uxmax+rounding) npt += 2;
            else gxwork[npt-2] = TMath::Min(gxwork[npt], uxmax);
            if (i == last) {
               gxwork[npt-1] = gxwork[npt-2];
               gywork[npt-1] = gywork[0];
               //make sure that the fill area does not overwrite the frame
               //take into account the frame linewidth
               if (gxwork[0] < vxmin) {gxwork[0] = vxmin; gxwork[1    ] = vxmin;}
               if (gywork[0] < vymin) {gywork[0] = vymin; gywork[npt-1] = vymin;}

               ComputeLogs(npt, optionZ);

               // do not draw the two vertical lines on the edges
               Int_t nbpoints = npt-2;
               Int_t point1  = 1;
               if (gxwork[0] > gPad->GetUxmin()) { nbpoints++; point1 = 0; }
               if (gxwork[nbpoints] < gPad->GetUxmax()) nbpoints++;

               if (optionOff) {
                  // remove points before the low cutoff
                  Int_t ip;
                  for (ip=point1; ip<=nbpoints; ip++) {
                     if (gyworkl[ip] != ywmin) {
                        point1 = ip;
                        break;
                     }
                  }
                  // remove points after the high cutoff
                  Int_t point2 = nbpoints;
                  for (ip=point2; ip>=point1; ip--) {
                     if (gyworkl[ip] != ywmin) {
                        point2 = ip;
                        break;
                     }
                  }
                  nbpoints = point2-point1+1;
               }
               gPad->PaintPolyLine(nbpoints,&gxworkl[point1],&gyworkl[point1],noClip);
               continue;
            }
         }  //endfor (i=first; i<=last;i++)
      }
      else {
         gywork[0] = wmin;
         gxwork[0] = TMath::Max((Double_t)0,gPad->GetUxmin());
         xwmin    = gxwork[0];
         npt      = 2;
         for (i=first; i<=last;i++) {
            if (!optionBins) {
               gywork[npt-1]   = gywork[npt-2];
               gywork[npt] = wmin+((i-first+1)*delta);
            }
            else {
               yi1 = y[i];      yi  = y[i-1];
               if (yi1 < yi) {
                  if (i != last) Error(where, "Y must be in increasing order");
                  else           Error(where, "Y must have N+1 values with option N");
                  return;
               }
               gywork[npt-1] = y[i-1];      gywork[npt] = y[i];
            }
            gxwork[npt-1] = x[i-1];      gxwork[npt] = x[i-1];
            if (gxwork[npt-1] >= uxmin-rounding && gxwork[npt] <= uxmax+rounding) npt += 2;
            if (i == last) {
               gywork[npt-1] = gywork[npt-2];
               gxwork[npt-1] = xwmin;
               ComputeLogs(npt, optionZ);
               gPad->PaintPolyLine(npt,gxworkl,gyworkl,noClip);
               continue;
            }
         }  //endfor (i=first; i<=last;i++)
      }
   }

   //              Draw the histogram with a smooth Curve. The computing
   //              of the smoothing is done by the routine IGRAp1

   if (optionCurve) {
      if (!optionFill) drawtype = 1;
      else {
         if (!optionOne) drawtype = 2;
         else            drawtype = 3;
      }
      if (!optionRot) {
         npt = 0;
         for (i=first; i<=last;i++) {
            npt++;
            if (!optionBins) gxwork[npt-1] = wmin+(i-first)*delta+0.5*delta;
            else {
               xi1 = x[i];      xi  = x[i-1];
               if (xi1 < xi) {
                  if (i != last) Error(where, "X must be in increasing order");
                  else           Error(where, "X must have N+1 values with option N");
                  return;
               }
               gxwork[npt-1] = x[i-1] + 0.5*(x[i]-x[i-1]);
            }
            if (gxwork[npt-1] < uxmin || gxwork[npt-1] > uxmax) {
               npt--;
               continue;
            }
            gywork[npt-1] = y[i-1];
            ComputeLogs(npt, optionZ);
            if ((gyworkl[npt-1] < rwymin) || (gyworkl[npt-1] > rwymax)) {
               if (npt > 2) {
                  ComputeLogs(npt, optionZ);
                  Smooth(theGraph, npt,gxworkl,gyworkl,drawtype);
               }
               gxwork[0] = gxwork[npt-1];
               gywork[0] = gywork[npt-1];
               npt      = 1;
               continue;
            }
            if (npt >= 50) {
               ComputeLogs(50, optionZ);
               Smooth(theGraph, 50,gxworkl,gyworkl,drawtype);
               gxwork[0] = gxwork[npt-1];
               gywork[0] = gywork[npt-1];
               npt      = 1;
            }
         }  //endfor (i=first; i<=last;i++)
         if (npt > 1) {
            ComputeLogs(npt, optionZ);
            Smooth(theGraph, npt,gxworkl,gyworkl,drawtype);
         }
      }
      else {
         drawtype = drawtype+10;
         npt   = 0;
         for (i=first; i<=last;i++) {
            npt++;
            if (!optionBins) gywork[npt-1] = wmin+(i-first)*delta+0.5*delta;
            else {
               yi1 = y[i];      yi = y[i-1];
               if (yi1 < yi) {
                  if (i != last) Error(where, "Y must be in increasing order");
                  else           Error(where, "Y must have N+1 values with option N");
                  return;
               }
               gywork[npt-1] = y[i-1] + 0.5*(y[i]-y[i-1]);
            }
            gxwork[npt-1] = x[i-1];
            ComputeLogs(npt, optionZ);
            if ((gxworkl[npt] < uxmin) || (gxworkl[npt] > uxmax)) {
               if (npt > 2) {
                  ComputeLogs(npt, optionZ);
                  Smooth(theGraph, npt,gxworkl,gyworkl,drawtype);
               }
               gxwork[0] = gxwork[npt-1];
               gywork[0] = gywork[npt-1];
               npt      = 1;
               continue;
            }
            if (npt >= 50) {
               ComputeLogs(50, optionZ);
               Smooth(theGraph, 50,gxworkl,gyworkl,drawtype);
               gxwork[0] = gxwork[npt-1];
               gywork[0] = gywork[npt-1];
               npt      = 1;
            }
         }  //endfor (i=first; i<=last;i++)
         if (npt > 1) {
            ComputeLogs(npt, optionZ);
            Smooth(theGraph, npt,gxworkl,gyworkl,drawtype);
         }
      }
   }

   //    Draw the histogram with a simple line or/and a marker

   optionMarker = 0;
   if ((optionStar) || (optionMark))optionMarker=1;
   if ((optionMarker) || (optionLine)) {
      wminstep = wmin + 0.5*delta;
      Axis_t ax1,ax2,ay1,ay2;
      gPad->GetRangeAxis(ax1,ay1,ax2,ay2);

      Int_t ax1Pix = gPad->XtoAbsPixel(ax1);
      Int_t ax2Pix = gPad->XtoAbsPixel(ax2);
      Int_t ay1Pix = gPad->YtoAbsPixel(ay1);
      Int_t ay2Pix = gPad->YtoAbsPixel(ay2);

      Int_t nrPix;
      if (!optionRot)
         nrPix = ax2Pix-ax1Pix+1;
      else
         nrPix = ay2Pix-ay1Pix+1;

      // Make here decision whether it should be painted in high or low resolution
      Int_t ip, ipix, lowRes = 0;
      if (3*nrPix < last-first+1) {
         lowRes = 1;
      }
      if (optionFill2)       lowRes = 0;
      if (opt.Contains("9")) lowRes = 0;
      if (lowRes) {
         Double_t *minPix   = new Double_t[nrPix];
         Double_t *maxPix   = new Double_t[nrPix];
         Double_t *centrPix = new Double_t[nrPix];
         Int_t *nrEntries   = new Int_t[nrPix];

         for (ip = 0; ip < nrPix; ip++) {
            minPix[ip]    =  1e100;
            maxPix[ip]    = -1e100;
            nrEntries[ip] = 0;
         }

         for (ip = first; ip < last; ip++) {
            Double_t xw;
            if (!optionBins) xw = wmin + (ip-first)*delta+0.5*delta;
            else             xw = x[ip-1] + 0.5*(x[ip]-x[ip-1]);;

            if (!optionRot) {
               Int_t ix = gPad->XtoAbsPixel(gPad->XtoPad(xw))-ax1Pix;
               if (ix < 0) ix = 0;
               if (ix >= nrPix) ix = nrPix-1;
               Int_t yPixel = gPad->YtoAbsPixel(y[ip-1]);
               if (yPixel >= ay1Pix) continue;
               if (minPix[ix] > yPixel) minPix[ix] = yPixel;
               if (maxPix[ix] < yPixel) maxPix[ix] = yPixel;
               (nrEntries[ix])++;
            } else {
               Int_t iy = gPad->YtoAbsPixel(gPad->YtoPad(y[ip-1]))-ay1Pix;
               if (iy < 0) iy = 0;
               if (iy >= nrPix) iy = nrPix-1;;
               Int_t xPixel = gPad->XtoAbsPixel(gPad->XtoPad(xw));
               if (minPix[iy] > xPixel) minPix[iy] = xPixel;
               if (maxPix[iy] < xPixel) maxPix[iy] = xPixel;
               (nrEntries[iy])++;
            }
         }

         for (ipix = 0; ipix < nrPix; ipix++) {
            if (nrEntries[ipix] > 0)
               centrPix[ipix] = (minPix[ipix]+maxPix[ipix])/2.0;
            else
               centrPix[ipix] = 2*TMath::Max(TMath::Abs(minPix[ipix]),
                                             TMath::Abs(maxPix[ipix]));
         }

         Double_t *xc = new Double_t[nrPix];
         Double_t *yc = new Double_t[nrPix];

         Double_t xcadjust = 0.3*(gPad->AbsPixeltoX(ax1Pix+1) - gPad->AbsPixeltoX(ax1Pix));
         Double_t ycadjust = 0.3*(gPad->AbsPixeltoY(ay1Pix)   - gPad->AbsPixeltoY(ay1Pix+1));
         Int_t nrLine = 0;
         for (ipix = 0; ipix < nrPix; ipix++) {
            if (minPix[ipix] <= maxPix[ipix]) {
               Double_t xl[2]; Double_t yl[2];
               if (!optionRot) {
                  xc[nrLine] = gPad->AbsPixeltoX(ax1Pix+ipix) + xcadjust;
                  yc[nrLine] = gPad->AbsPixeltoY((Int_t)centrPix[ipix]);

                  xl[0]      = xc[nrLine];
                  yl[0]      = gPad->AbsPixeltoY((Int_t)minPix[ipix]);
                  xl[1]      = xc[nrLine];
                  yl[1]      = gPad->AbsPixeltoY((Int_t)maxPix[ipix]);
               } else {
                  yc[nrLine] = gPad->AbsPixeltoY(ay1Pix+ipix) + ycadjust;
                  xc[nrLine] = gPad->AbsPixeltoX((Int_t)centrPix[ipix]);

                  xl[0]      = gPad->AbsPixeltoX((Int_t)minPix[ipix]);
                  yl[0]      = yc[nrLine];
                  xl[1]      = gPad->AbsPixeltoX((Int_t)maxPix[ipix]);
                  yl[1]      = yc[nrLine];
               }
               if (!optionZ && gPad->GetLogx()) {
                  if (xc[nrLine] > 0) xc[nrLine] = TMath::Log10(xc[nrLine]);
                  else                xc[nrLine] = gPad->GetX1();
                  for (Int_t il = 0; il < 2; il++) {
                     if (xl[il] > 0) xl[il] = TMath::Log10(xl[il]);
                     else            xl[il] = gPad->GetX1();
                  }
               }
               if (!optionZ && gPad->GetLogy()) {
                  if (yc[nrLine] > 0) yc[nrLine] = TMath::Log10(yc[nrLine]);
                  else                yc[nrLine] = gPad->GetY1();
                  for (Int_t il = 0; il < 2; il++) {
                     if (yl[il] > 0) yl[il] = TMath::Log10(yl[il]);
                     else            yl[il] = gPad->GetY1();
                  }
               }

               gPad->PaintPolyLine(2,xl,yl,noClip);
               nrLine++;
            }
         }

         gPad->PaintPolyLine(nrLine,xc,yc,noClip);

         delete [] xc;
         delete [] yc;

         delete [] minPix;
         delete [] maxPix;
         delete [] centrPix;
         delete [] nrEntries;
      } else {
         if (!optionRot) {
            npt = 0;
            for (i=first; i<=last;i++) {
               npt++;
               if (!optionBins) gxwork[npt-1] = wmin+(i-first)*delta+0.5*delta;
               else {
                  xi1 = x[i];      xi = x[i-1];
                  if (xi1 < xi) {
                     if (i != last) Error(where, "X must be in increasing order");
                     else           Error(where, "X must have N+1 values with option N");
                     return;
                  }
                  gxwork[npt-1] = x[i-1] + 0.5*(x[i]-x[i-1]);
               }
               if (gxwork[npt-1] < uxmin || gxwork[npt-1] > uxmax) { npt--; continue;}
               if ((optionMark != 10) && (optionLine == 0)) {
                  if (y[i-1] <= rwymin)  {npt--; continue;}
               }
               gywork[npt-1] = y[i-1];
               gywork[npt]   = y[i-1]; //new
               if ((gywork[npt-1] < rwymin) || ((gywork[npt-1] > rwymax) && !optionFill2)) {
                  if ((gywork[npt-1] < rwymin)) gywork[npt-1] = rwymin;
                  if ((gywork[npt-1] > rwymax)) gywork[npt-1] = rwymax;
                  if (npt > 2) {
                     if (optionMarker) {
                        ComputeLogs(npt, optionZ);
                        gPad->PaintPolyMarker(npt,gxworkl,gyworkl);
                     }
                     if (optionLine) {
                        if (!optionMarker) ComputeLogs(npt, optionZ);
                        gPad->PaintPolyLine(npt,gxworkl,gyworkl,noClip);
                     }
                  }
                  gxwork[0] = gxwork[npt-1];
                  gywork[0] = gywork[npt-1];
                  npt       = 1;
                  continue;
               }

               if (npt >= 50) {
                  if (optionMarker) {
                     ComputeLogs(50, optionZ);
                     gPad->PaintPolyMarker(50,gxworkl,gyworkl);
                  }
                  if (optionLine) {
                     if (!optionMarker) ComputeLogs(50, optionZ);
                     if (optionFill2) {
                        gxworkl[npt]   = gxworkl[npt-1]; gyworkl[npt]   = rwymin;
                        gxworkl[npt+1] = gxworkl[0];     gyworkl[npt+1] = rwymin;
                        gPad->PaintFillArea(52,gxworkl,gyworkl);
                     }
                     gPad->PaintPolyLine(50,gxworkl,gyworkl);
                  }
                  gxwork[0] = gxwork[npt-1];
                  gywork[0] = gywork[npt-1];
                  npt      = 1;
               }
            }  //endfor (i=first; i<=last;i++)
            if (optionMarker && npt > 0) {
               ComputeLogs(npt, optionZ);
               gPad->PaintPolyMarker(npt,gxworkl,gyworkl);
            }
            if (optionLine && npt > 1) {
               if (!optionMarker) ComputeLogs(npt, optionZ);
               if (optionFill2) {
                  gxworkl[npt]   = gxworkl[npt-1]; gyworkl[npt]   = rwymin;
                  gxworkl[npt+1] = gxworkl[0];     gyworkl[npt+1] = rwymin;
                  gPad->PaintFillArea(npt+2,gxworkl,gyworkl);
               }
               gPad->PaintPolyLine(npt,gxworkl,gyworkl);
            }
         }
         else {
            npt = 0;
            for (i=first; i<=last;i++) {
               npt++;
               if (!optionBins) gywork[npt-1] = wminstep+(i-first)*delta+0.5*delta;
               else {
                  yi1 = y[i];      yi = y[i-1];
                  if (yi1 < yi) {
                     if (i != last) Error(where, "Y must be in increasing order");
                     else           Error(where, "Y must have N+1 values with option N");
                     return;
                  }
                  gywork[npt-1] = y[i-1] + 0.5*(y[i]-y[i-1]);
               }
               gxwork[npt-1] = x[i-1];
               if ((gxwork[npt-1] < uxmin) || (gxwork[npt-1] > uxmax)) {
                  if (npt > 2) {
                     if (optionMarker) {
                        ComputeLogs(npt, optionZ);
                        gPad->PaintPolyMarker(npt,gxworkl,gyworkl);
                     }
                     if (optionLine) {
                        if (!optionMarker) ComputeLogs(npt, optionZ);
                        gPad->PaintPolyLine(npt,gxworkl,gyworkl,noClip);
                     }
                  }
                  gxwork[0] = gxwork[npt-1];
                  gywork[0] = gywork[npt-1];
                  npt      = 1;
                  continue;
               }
               if (npt >= 50) {
                  if (optionMarker) {
                     ComputeLogs(50, optionZ);
                     gPad->PaintPolyMarker(50,gxworkl,gyworkl);
                  }
                  if (optionLine) {
                     if (!optionMarker) ComputeLogs(50, optionZ);
                     gPad->PaintPolyLine(50,gxworkl,gyworkl);
                  }
                  gxwork[0] = gxwork[npt-1];
                  gywork[0] = gywork[npt-1];
                  npt      = 1;
               }
            }  //endfor (i=first; i<=last;i++)
            if (optionMarker && npt > 0) {
               ComputeLogs(npt, optionZ);
               gPad->PaintPolyMarker(npt,gxworkl,gyworkl);
            }
            if (optionLine != 0 && npt > 1) {
               if (!optionMarker) ComputeLogs(npt, optionZ);
               gPad->PaintPolyLine(npt,gxworkl,gyworkl,noClip);
            }
         }
      }
   }

   //              Draw the histogram as a bar chart

   if (optionBar) {
      if (!optionBins) { offset = delta*baroffset; dbar = delta*barwidth; }
      else {
         if (!optionRot) {
            offset = (x[1]-x[0])*baroffset;
            dbar   = (x[1]-x[0])*barwidth;
         } else {
            offset = (y[1]-y[0])*baroffset;
            dbar   = (y[1]-y[0])*barwidth;
         }
      }
      drawbordersav = drawborder;
      gStyle->SetDrawBorder(1);
      if (!optionRot) {
         xlow  = wmin+offset;
         xhigh = wmin+offset+dbar;
         if (!optionOne) ylow = TMath::Max((Double_t)0,gPad->GetUymin());
         else            ylow = gPad->GetUymin();

         for (i=first; i<=last;i++) {
            yhigh    = y[i-1];
            gxwork[0] = xlow;
            gywork[0] = ylow;
            gxwork[1] = xhigh;
            gywork[1] = yhigh;
            ComputeLogs(2, optionZ);
            gPad->PaintBox(gxworkl[0],gyworkl[0],gxworkl[1],gyworkl[1]);
            if (!optionBins) {
               xlow  = xlow+delta;
               xhigh = xhigh+delta;
            }
            else {
               if (i < last) {
                  xi1 = x[i];      xi = x[i-1];
                  if (xi1 < xi) {
                     Error(where, "X must be in increasing order");
                     return;
                  }
                  offset  = (x[i+1]-x[i])*baroffset;
                  dbar    = (x[i+1]-x[i])*barwidth;
                  xlow    = x[i] + offset;
                  xhigh   = x[i] + offset + dbar;
               }
            }
         }  //endfor (i=first; i<=last;i++)
      }
      else {
         ylow  = wmin + offset;
         yhigh = wmin + offset + dbar;
         if (!optionOne) xlow = TMath::Max((Double_t)0,gPad->GetUxmin());
         else            xlow = gPad->GetUxmin();

         for (i=first; i<=last;i++) {
            xhigh    = x[i-1];
            gxwork[0] = xlow;
            gywork[0] = ylow;
            gxwork[1] = xhigh;
            gywork[1] = yhigh;
            ComputeLogs(2, optionZ);
            gPad->PaintBox(gxworkl[0],gyworkl[0],gxworkl[1],gyworkl[1]);
            gPad->PaintBox(xlow,ylow,xhigh,yhigh);
            if (!optionBins) {
               ylow  = ylow  + delta;
               yhigh = yhigh + delta;
            }
            else {
               if (i < last) {
                  yi1 = y[i];      yi = y[i-1];
                  if (yi1 < yi) {
                     Error(where, "Y must be in increasing order");
                     return;
                  }
                  offset  = (y[i+1]-y[i])*baroffset;
                  dbar    = (y[i+1]-y[i])*barwidth;
                  ylow    = y[i] + offset;
                  yhigh   = y[i] + offset + dbar;
               }
            }
         }  //endfor (i=first; i<=last;i++)
      }
      gStyle->SetDrawBorder(drawbordersav);
   }
   gPad->ResetBit(TGraph::kClipFrame);

   delete [] gxwork;
   delete [] gywork;
   delete [] gxworkl;
   delete [] gyworkl;
}


//______________________________________________________________________________
void TGraphPainter::PaintGraphAsymmErrors(TGraph *theGraph, Option_t *option)
{
   /* Begin_Html
   <a href="#GP03">Paint this TGraphAsymmErrors with its current attributes.</a>
   End_Html */

   Double_t *xline = 0;
   Double_t *yline = 0;
   Int_t if1 = 0;
   Int_t if2 = 0;

   const Int_t kBASEMARKER=8;
   Double_t s2x, s2y, symbolsize, sbase;
   Double_t x, y, xl1, xl2, xr1, xr2, yup1, yup2, ylow1, ylow2, tx, ty;
   static Float_t cxx[11] = {1,1,0.6,0.6,1,1,0.6,0.5,1,0.6,0.6};
   static Float_t cyy[11] = {1,1,1,1,1,1,1,1,1,0.5,0.6};
   Int_t theNpoints = theGraph->GetN();
   Double_t *theX  = theGraph->GetX();
   Double_t *theY  = theGraph->GetY();
   Double_t *theEXlow  = theGraph->GetEXlow();
   Double_t *theEYlow  = theGraph->GetEYlow();
   Double_t *theEXhigh = theGraph->GetEXhigh();
   Double_t *theEYhigh = theGraph->GetEYhigh();

   if (strchr(option,'X') || strchr(option,'x')) {PaintGraphSimple(theGraph, option); return;}
   Bool_t brackets = kFALSE;
   Bool_t braticks = kFALSE;
   if (strstr(option,"||") || strstr(option,"[]")) {
      brackets = kTRUE;
      if (strstr(option,"[]")) braticks = kTRUE;
   }
   Bool_t endLines = kTRUE;
   if (strchr(option,'z')) endLines = kFALSE;
   if (strchr(option,'Z')) endLines = kFALSE;
   const char *arrowOpt = 0;
   if (strchr(option,'>'))  arrowOpt = ">";
   if (strstr(option,"|>")) arrowOpt = "|>";

   Bool_t axis = kFALSE;
   if (strchr(option,'a')) axis = kTRUE;
   if (strchr(option,'A')) axis = kTRUE;
   if (axis) PaintGraphSimple(theGraph, option);

   Bool_t option2 = kFALSE;
   Bool_t option3 = kFALSE;
   Bool_t option4 = kFALSE;
   if (strchr(option,'2')) option2 = kTRUE;
   if (strchr(option,'3')) option3 = kTRUE;
   if (strchr(option,'4')) {option3 = kTRUE; option4 = kTRUE;}

   if (option3) {
      xline = new Double_t[2*theNpoints];
      yline = new Double_t[2*theNpoints];
      if (!xline || !yline) {
         Error("Paint", "too many points, out of memory");
         return;
      }
      if1 = 1;
      if2 = 2*theNpoints;
   }

   theGraph->TAttLine::Modify();

   TArrow arrow;
   arrow.SetLineWidth(theGraph->GetLineWidth());
   arrow.SetLineColor(theGraph->GetLineColor());
   arrow.SetFillColor(theGraph->GetFillColor());

   TBox box;
   box.SetLineWidth(theGraph->GetLineWidth());
   box.SetLineColor(theGraph->GetLineColor());
   box.SetFillColor(theGraph->GetFillColor());
   box.SetFillStyle(theGraph->GetFillStyle());

   symbolsize  = theGraph->GetMarkerSize();
   sbase       = symbolsize*kBASEMARKER;
   Int_t mark  = theGraph->GetMarkerStyle();
   Double_t cx  = 0;
   Double_t cy  = 0;
   if (mark >= 20 && mark < 31) {
      cx = cxx[mark-20];
      cy = cyy[mark-20];
   }

   // Define the offset of the error bars due to the symbol size
   s2x  = gPad->PixeltoX(Int_t(0.5*sbase)) - gPad->PixeltoX(0);
   s2y  =-gPad->PixeltoY(Int_t(0.5*sbase)) + gPad->PixeltoY(0);
   Int_t dxend = Int_t(gStyle->GetEndErrorSize());
   tx    = gPad->PixeltoX(dxend) - gPad->PixeltoX(0);
   ty    =-gPad->PixeltoY(dxend) + gPad->PixeltoY(0);
   Float_t asize = 0.6*symbolsize*kBASEMARKER/gPad->GetWh();

   gPad->SetBit(TGraph::kClipFrame, theGraph->TestBit(TGraph::kClipFrame));
   for (Int_t i=0;i<theNpoints;i++) {
      x  = gPad->XtoPad(theX[i]);
      y  = gPad->YtoPad(theY[i]);
      if (x < gPad->GetUxmin()) continue;
      if (x > gPad->GetUxmax()) continue;
      if (y < gPad->GetUymin()) continue;
      if (y > gPad->GetUymax()) continue;
      xl1 = x - s2x*cx;
      xl2 = gPad->XtoPad(theX[i] - theEXlow[i]);

      //  draw the error rectangles
      if (option2) {
         box.PaintBox(gPad->XtoPad(theX[i] - theEXlow[i]),
                      gPad->YtoPad(theY[i] - theEYlow[i]),
                      gPad->XtoPad(theX[i] + theEXhigh[i]),
                      gPad->YtoPad(theY[i] + theEYhigh[i]));
         continue;
      }

      //  keep points for fill area drawing
      if (option3) {
         xline[if1-1] = x;
         xline[if2-1] = x;
         yline[if1-1] = gPad->YtoPad(theY[i] + theEYhigh[i]);
         yline[if2-1] = gPad->YtoPad(theY[i] - theEYlow[i]);
         if1++;
         if2--;
         continue;
      }

      if (xl1 > xl2) {
         if (arrowOpt) {
            arrow.PaintArrow(xl1,y,xl2,y,asize,arrowOpt);
         } else {
            if (!brackets) gPad->PaintLine(xl1,y,xl2,y);
            if (endLines) {
               gPad->PaintLine(xl2,y-ty,xl2,y+ty);
               if (braticks) {
                  gPad->PaintLine(xl2,y-ty,xl2+tx,y-ty);
                  gPad->PaintLine(xl2,y+ty,xl2+tx,y+ty);
               }
            }
         }
      }
      xr1 = x + s2x*cx;
      xr2 = gPad->XtoPad(theX[i] + theEXhigh[i]);
      if (xr1 < xr2) {
         if (arrowOpt) {
            arrow.PaintArrow(xr1,y,xr2,y,asize,arrowOpt);
         } else {
            if (!brackets) gPad->PaintLine(xr1,y,xr2,y);
            if (endLines) {
               gPad->PaintLine(xr2,y-ty,xr2,y+ty);
               if (braticks) {
                  gPad->PaintLine(xr2,y-ty,xr2-tx,y-ty);
                  gPad->PaintLine(xr2,y+ty,xr2-tx,y+ty);
               }
            }
         }
      }
      yup1 = y + s2y*cy;
      yup2 = gPad->YtoPad(theY[i] + theEYhigh[i]);
      if (yup2 > gPad->GetUymax()) yup2 =  gPad->GetUymax();
      if (yup2 > yup1) {
         if (arrowOpt) {
            arrow.PaintArrow(x,yup1,x,yup2,asize,arrowOpt);
         } else {
            if (!brackets) gPad->PaintLine(x,yup1,x,yup2);
            if (endLines) {
               gPad->PaintLine(x-tx,yup2,x+tx,yup2);
               if (braticks) {
                  gPad->PaintLine(x-tx,yup2,x-tx,yup2-ty);
                  gPad->PaintLine(x+tx,yup2,x+tx,yup2-ty);
               }
            }
         }
      }
      ylow1 = y - s2y*cy;
      ylow2 = gPad->YtoPad(theY[i] - theEYlow[i]);
      if (ylow2 < gPad->GetUymin()) ylow2 =  gPad->GetUymin();
      if (ylow2 < ylow1) {
         if (arrowOpt) {
            arrow.PaintArrow(x,ylow1,x,ylow2,asize,arrowOpt);
         } else {
            if (!brackets) gPad->PaintLine(x,ylow1,x,ylow2);
            if (endLines) {
               gPad->PaintLine(x-tx,ylow2,x+tx,ylow2);
               if (braticks) {
                  gPad->PaintLine(x-tx,ylow2,x-tx,ylow2+ty);
                  gPad->PaintLine(x+tx,ylow2,x+tx,ylow2+ty);
               }
            }
         }
      }
   }
   if (!brackets && !axis) PaintGraphSimple(theGraph, option);
   gPad->ResetBit(TGraph::kClipFrame);

   if (option3) {
      Int_t logx = gPad->GetLogx();
      Int_t logy = gPad->GetLogy();
      gPad->SetLogx(0);
      gPad->SetLogy(0);
      if (option4) PaintGraph(theGraph, 2*theNpoints, xline, yline,"FC");
      else         PaintGraph(theGraph, 2*theNpoints, xline, yline,"F");
      gPad->SetLogx(logx);
      gPad->SetLogy(logy);
      delete [] xline;
      delete [] yline;
   }
}


//_____________________________________________________________________________
void TGraphPainter::PaintGraphBentErrors(TGraph *theGraph, Option_t *option)
{
   /* Begin_Html
   <a href="#GP03">Paint this TGraphBentErrors with its current attributes.</a>
   End_Html */

   Double_t *xline = 0;
   Double_t *yline = 0;
   Int_t if1 = 0;
   Int_t if2 = 0;

   const Int_t kBASEMARKER=8;
   Double_t s2x, s2y, symbolsize, sbase;
   Double_t x, y, xl1, xl2, xr1, xr2, yup1, yup2, ylow1, ylow2, tx, ty;
   Double_t bxl, bxh, byl, byh;
   static Float_t cxx[11] = {1,1,0.6,0.6,1,1,0.6,0.5,1,0.6,0.6};
   static Float_t cyy[11] = {1,1,1,1,1,1,1,1,1,0.5,0.6};
   Int_t theNpoints = theGraph->GetN();
   Double_t *theX  = theGraph->GetX();
   Double_t *theY  = theGraph->GetY();
   Double_t *theEXlow  = theGraph->GetEXlow();
   Double_t *theEYlow  = theGraph->GetEYlow();
   Double_t *theEXhigh = theGraph->GetEXhigh();
   Double_t *theEYhigh = theGraph->GetEYhigh();
   Double_t *theEXlowd  = theGraph->GetEXlowd();
   Double_t *theEXhighd = theGraph->GetEXhighd();
   Double_t *theEYlowd  = theGraph->GetEYlowd();
   Double_t *theEYhighd = theGraph->GetEYhighd();

   if (strchr(option,'X') || strchr(option,'x')) {PaintGraphSimple(theGraph, option); return;}
   Bool_t brackets = kFALSE;
   Bool_t braticks = kFALSE;
   if (strstr(option,"||") || strstr(option,"[]")) {
      brackets = kTRUE;
      if (strstr(option,"[]")) braticks = kTRUE;
   }
   Bool_t endLines = kTRUE;
   if (strchr(option,'z')) endLines = kFALSE;
   if (strchr(option,'Z')) endLines = kFALSE;
   const char *arrowOpt = 0;
   if (strchr(option,'>'))  arrowOpt = ">";
   if (strstr(option,"|>")) arrowOpt = "|>";

   Bool_t axis = kFALSE;
   if (strchr(option,'a')) axis = kTRUE;
   if (strchr(option,'A')) axis = kTRUE;
   if (axis) PaintGraphSimple(theGraph,option);

   Bool_t option2 = kFALSE;
   Bool_t option3 = kFALSE;
   Bool_t option4 = kFALSE;
   if (strchr(option,'2')) option2 = kTRUE;
   if (strchr(option,'3')) option3 = kTRUE;
   if (strchr(option,'4')) {option3 = kTRUE; option4 = kTRUE;}

   if (option3) {
      xline = new Double_t[2*theNpoints];
      yline = new Double_t[2*theNpoints];
      if (!xline || !yline) {
         Error("Paint", "too many points, out of memory");
         return;
      }
      if1 = 1;
      if2 = 2*theNpoints;
   }

   theGraph->TAttLine::Modify();

   TArrow arrow;
   arrow.SetLineWidth(theGraph->GetLineWidth());
   arrow.SetLineColor(theGraph->GetLineColor());
   arrow.SetFillColor(theGraph->GetFillColor());

   TBox box;
   box.SetLineWidth(theGraph->GetLineWidth());
   box.SetLineColor(theGraph->GetLineColor());
   box.SetFillColor(theGraph->GetFillColor());

   symbolsize  = theGraph->GetMarkerSize();
   sbase       = symbolsize*kBASEMARKER;
   Int_t mark  = theGraph->GetMarkerStyle();
   Double_t cx  = 0;
   Double_t cy  = 0;
   if (mark >= 20 && mark < 31) {
      cx = cxx[mark-20];
      cy = cyy[mark-20];
   }

   // define the offset of the error bars due to the symbol size
   s2x  = gPad->PixeltoX(Int_t(0.5*sbase)) - gPad->PixeltoX(0);
   s2y  =-gPad->PixeltoY(Int_t(0.5*sbase)) + gPad->PixeltoY(0);
   Int_t dxend = Int_t(gStyle->GetEndErrorSize());
   tx   = gPad->PixeltoX(dxend) - gPad->PixeltoX(0);
   ty   =-gPad->PixeltoY(dxend) + gPad->PixeltoY(0);
   Float_t asize = 0.6*symbolsize*kBASEMARKER/gPad->GetWh();

   gPad->SetBit(TGraph::kClipFrame, theGraph->TestBit(TGraph::kClipFrame));
   for (Int_t i=0;i<theNpoints;i++) {
      x  = gPad->XtoPad(theX[i]);
      y  = gPad->YtoPad(theY[i]);
      bxl = gPad->YtoPad(theY[i]+theEXlowd[i]);
      bxh = gPad->YtoPad(theY[i]+theEXhighd[i]);
      byl = gPad->XtoPad(theX[i]+theEYlowd[i]);
      byh = gPad->XtoPad(theX[i]+theEYhighd[i]);
      if (x < gPad->GetUxmin()) continue;
      if (x > gPad->GetUxmax()) continue;
      if (y < gPad->GetUymin()) continue;
      if (y > gPad->GetUymax()) continue;

      //  draw the error rectangles
      if (option2) {
         box.PaintBox(gPad->XtoPad(theX[i] - theEXlow[i]),
                      gPad->YtoPad(theY[i] - theEYlow[i]),
                      gPad->XtoPad(theX[i] + theEXhigh[i]),
                      gPad->YtoPad(theY[i] + theEYhigh[i]));
         continue;
      }

      //  keep points for fill area drawing
      if (option3) {
         xline[if1-1] = byh;
         xline[if2-1] = byl;
         yline[if1-1] = gPad->YtoPad(theY[i] + theEYhigh[i]);
         yline[if2-1] = gPad->YtoPad(theY[i] - theEYlow[i]);
         if1++;
         if2--;
         continue;
      }

      xl1 = x - s2x*cx;
      xl2 = gPad->XtoPad(theX[i] - theEXlow[i]);
      if (xl1 > xl2) {
         if (arrowOpt) {
            arrow.PaintArrow(xl1,y,xl2,bxl,asize,arrowOpt);
         } else {
            if (!brackets) gPad->PaintLine(xl1,y,xl2,bxl);
            if (endLines) {
               gPad->PaintLine(xl2,bxl-ty,xl2,bxl+ty);
               if (braticks) {
                  gPad->PaintLine(xl2,bxl-ty,xl2+tx,bxl-ty);
                  gPad->PaintLine(xl2,bxl+ty,xl2+tx,bxl+ty);
               }
            }
         }
      }
      xr1 = x + s2x*cx;
      xr2 = gPad->XtoPad(theX[i] + theEXhigh[i]);
      if (xr1 < xr2) {
         if (arrowOpt) {
            arrow.PaintArrow(xr1,y,xr2,bxh,asize,arrowOpt);
         } else {
            if (!brackets) gPad->PaintLine(xr1,y,xr2,bxh);
            if (endLines) {
               gPad->PaintLine(xr2,bxh-ty,xr2,bxh+ty);
               if (braticks) {
                  gPad->PaintLine(xr2,bxh-ty,xr2-tx,bxh-ty);
                  gPad->PaintLine(xr2,bxh+ty,xr2-tx,bxh+ty);
               }
            }
         }
      }
      yup1 = y + s2y*cy;
      yup2 = gPad->YtoPad(theY[i] + theEYhigh[i]);
      if (yup2 > gPad->GetUymax()) yup2 =  gPad->GetUymax();
      if (yup2 > yup1) {
         if (arrowOpt) {
            arrow.PaintArrow(x,yup1,byh,yup2,asize,arrowOpt);
         } else {
            if (!brackets) gPad->PaintLine(x,yup1,byh,yup2);
            if (endLines) {
               gPad->PaintLine(byh-tx,yup2,byh+tx,yup2);
               if (braticks) {
                  gPad->PaintLine(byh-tx,yup2,byh-tx,yup2-ty);
                  gPad->PaintLine(byh+tx,yup2,byh+tx,yup2-ty);
               }
            }
         }
      }
      ylow1 = y - s2y*cy;
      ylow2 = gPad->YtoPad(theY[i] - theEYlow[i]);
      if (ylow2 < gPad->GetUymin()) ylow2 =  gPad->GetUymin();
      if (ylow2 < ylow1) {
         if (arrowOpt) {
            arrow.PaintArrow(x,ylow1,byl,ylow2,asize,arrowOpt);
         } else {
            if (!brackets) gPad->PaintLine(x,ylow1,byl,ylow2);
            if (endLines) {
               gPad->PaintLine(byl-tx,ylow2,byl+tx,ylow2);
               if (braticks) {
                  gPad->PaintLine(byl-tx,ylow2,byl-tx,ylow2+ty);
                  gPad->PaintLine(byl+tx,ylow2,byl+tx,ylow2+ty);
               }
            }
         }
      }
   }
   if (!brackets && !axis) PaintGraphSimple(theGraph, option);
   gPad->ResetBit(TGraph::kClipFrame);

   if (option3) {
      Int_t logx = gPad->GetLogx();
      Int_t logy = gPad->GetLogy();
      gPad->SetLogx(0);
      gPad->SetLogy(0);
      if (option4) PaintGraph(theGraph, 2*theNpoints, xline, yline,"FC");
      else         PaintGraph(theGraph, 2*theNpoints, xline, yline,"F");
      gPad->SetLogx(logx);
      gPad->SetLogy(logy);
      delete [] xline;
      delete [] yline;
   }
}


//______________________________________________________________________________
void TGraphPainter::PaintGraphErrors(TGraph *theGraph, Option_t *option)
{
   /* Begin_Html
   <a href="#GP03">Paint this TGraphErrors with its current attributes.</a>
   End_Html */

   Double_t *xline = 0;
   Double_t *yline = 0;
   Int_t if1 = 0;
   Int_t if2 = 0;

   const Int_t kBASEMARKER=8;
   Double_t s2x, s2y, symbolsize, sbase;
   Double_t x, y, ex, ey, xl1, xl2, xr1, xr2, yup1, yup2, ylow1, ylow2, tx, ty;
   static Float_t cxx[11] = {1,1,0.6,0.6,1,1,0.6,0.5,1,0.6,0.6};
   static Float_t cyy[11] = {1,1,1,1,1,1,1,1,1,0.5,0.6};
   Int_t theNpoints = theGraph->GetN();
   Double_t *theX  = theGraph->GetX();
   Double_t *theY  = theGraph->GetY();
   Double_t *theEX = theGraph->GetEX();
   Double_t *theEY = theGraph->GetEY();

   if (strchr(option,'X') || strchr(option,'x')) {PaintGraphSimple(theGraph, option); return;}
   Bool_t brackets = kFALSE;
   Bool_t braticks = kFALSE;
   if (strstr(option,"||") || strstr(option,"[]")) {
      brackets = kTRUE;
      if (strstr(option,"[]")) braticks = kTRUE;
   }
   Bool_t endLines = kTRUE;
   if (strchr(option,'z')) endLines = kFALSE;
   if (strchr(option,'Z')) endLines = kFALSE;
   const char *arrowOpt = 0;
   if (strchr(option,'>'))  arrowOpt = ">";
   if (strstr(option,"|>")) arrowOpt = "|>";

   Bool_t axis = kFALSE;
   if (strchr(option,'a')) axis = kTRUE;
   if (strchr(option,'A')) axis = kTRUE;
   if (axis) PaintGraphSimple(theGraph, option);

   Bool_t option2 = kFALSE;
   Bool_t option3 = kFALSE;
   Bool_t option4 = kFALSE;
   if (strchr(option,'2')) option2 = kTRUE;
   if (strchr(option,'3')) option3 = kTRUE;
   if (strchr(option,'4')) {option3 = kTRUE; option4 = kTRUE;}

   if (option3) {
      xline = new Double_t[2*theNpoints];
      yline = new Double_t[2*theNpoints];
      if (!xline || !yline) {
         Error("Paint", "too many points, out of memory");
         return;
      }
      if1 = 1;
      if2 = 2*theNpoints;
   }

   theGraph->TAttLine::Modify();

   TArrow arrow;
   arrow.SetLineWidth(theGraph->GetLineWidth());
   arrow.SetLineColor(theGraph->GetLineColor());
   arrow.SetFillColor(theGraph->GetFillColor());

   TBox box;
   box.SetLineWidth(theGraph->GetLineWidth());
   box.SetLineColor(theGraph->GetLineColor());
   box.SetFillColor(theGraph->GetFillColor());
   box.SetFillStyle(theGraph->GetFillStyle());

   symbolsize  = theGraph->GetMarkerSize();
   sbase       = symbolsize*kBASEMARKER;
   Int_t mark  = theGraph->GetMarkerStyle();
   Double_t cx  = 0;
   Double_t cy  = 0;
   if (mark >= 20 && mark < 31) {
      cx = cxx[mark-20];
      cy = cyy[mark-20];
   }

   //      define the offset of the error bars due to the symbol size
   s2x  = gPad->PixeltoX(Int_t(0.5*sbase)) - gPad->PixeltoX(0);
   s2y  =-gPad->PixeltoY(Int_t(0.5*sbase)) + gPad->PixeltoY(0);
   Int_t dxend = Int_t(gStyle->GetEndErrorSize());
   tx    = gPad->PixeltoX(dxend) - gPad->PixeltoX(0);
   ty    =-gPad->PixeltoY(dxend) + gPad->PixeltoY(0);
   Float_t asize = 0.6*symbolsize*kBASEMARKER/gPad->GetWh();

   gPad->SetBit(TGraph::kClipFrame, theGraph->TestBit(TGraph::kClipFrame));
   for (Int_t i=0;i<theNpoints;i++) {
      x  = gPad->XtoPad(theX[i]);
      y  = gPad->YtoPad(theY[i]);
      if (option3) {
         if (x < gPad->GetUxmin()) x = gPad->GetUxmin();
         if (x > gPad->GetUxmax()) x = gPad->GetUxmax();
         if (y < gPad->GetUymin()) y = gPad->GetUymin();
         if (y > gPad->GetUymax()) y = gPad->GetUymax();
      } else {
         if (x < gPad->GetUxmin()) continue;
         if (x > gPad->GetUxmax()) continue;
         if (y < gPad->GetUymin()) continue;
         if (y > gPad->GetUymax()) continue;
      }
      ex = theEX[i];
      ey = theEY[i];

      //  draw the error rectangles
      if (option2) {
         box.PaintBox(gPad->XtoPad(theX[i] - ex),
                      gPad->YtoPad(theY[i] - ey),
                      gPad->XtoPad(theX[i] + ex),
                      gPad->YtoPad(theY[i] + ey));
         continue;
      }

      //  keep points for fill area drawing
      if (option3) {
         xline[if1-1] = x;
         xline[if2-1] = x;
         yline[if1-1] = gPad->YtoPad(theY[i] + ey);
         yline[if2-1] = gPad->YtoPad(theY[i] - ey);
         if1++;
         if2--;
         continue;
      }

      xl1 = x - s2x*cx;
      xl2 = gPad->XtoPad(theX[i] - ex);
      if (xl1 > xl2) {
         if (arrowOpt) {
            arrow.PaintArrow(xl1,y,xl2,y,asize,arrowOpt);
         } else {
            if (!brackets) gPad->PaintLine(xl1,y,xl2,y);
            if (endLines) {
               gPad->PaintLine(xl2,y-ty,xl2,y+ty);
               if (braticks) {
                  gPad->PaintLine(xl2,y-ty,xl2+tx,y-ty);
                  gPad->PaintLine(xl2,y+ty,xl2+tx,y+ty);
               }
            }
         }
      }
      xr1 = x + s2x*cx;
      xr2 = gPad->XtoPad(theX[i] + ex);
      if (xr1 < xr2) {
         if (arrowOpt) {
            arrow.PaintArrow(xr1,y,xr2,y,asize,arrowOpt);
         } else {
            if (!brackets) gPad->PaintLine(xr1,y,xr2,y);
            if (endLines) {
               gPad->PaintLine(xr2,y-ty,xr2,y+ty);
               if (braticks) {
                  gPad->PaintLine(xr2,y-ty,xr2-tx,y-ty);
                  gPad->PaintLine(xr2,y+ty,xr2-tx,y+ty);
               }
            }
         }
      }
      yup1 = y + s2y*cy;
      yup2 = gPad->YtoPad(theY[i] + ey);
      if (yup2 > gPad->GetUymax()) yup2 =  gPad->GetUymax();
      if (yup2 > yup1) {
         if (arrowOpt) {
            arrow.PaintArrow(x,yup1,x,yup2,asize,arrowOpt);
         } else {
            if (!brackets) gPad->PaintLine(x,yup1,x,yup2);
            if (endLines) {
               gPad->PaintLine(x-tx,yup2,x+tx,yup2);
               if (braticks) {
                  gPad->PaintLine(x-tx,yup2,x-tx,yup2-ty);
                  gPad->PaintLine(x+tx,yup2,x+tx,yup2-ty);
               }
            }
         }
      }
      ylow1 = y - s2y*cy;
      ylow2 = gPad->YtoPad(theY[i] - ey);
      if (ylow2 < gPad->GetUymin()) ylow2 =  gPad->GetUymin();
      if (ylow2 < ylow1) {
         if (arrowOpt) {
            arrow.PaintArrow(x,ylow1,x,ylow2,asize,arrowOpt);
         } else {
            if (!brackets) gPad->PaintLine(x,ylow1,x,ylow2);
            if (endLines) {
               gPad->PaintLine(x-tx,ylow2,x+tx,ylow2);
               if (braticks) {
                  gPad->PaintLine(x-tx,ylow2,x-tx,ylow2+ty);
                  gPad->PaintLine(x+tx,ylow2,x+tx,ylow2+ty);
               }
            }
         }
      }
   }
   if (!brackets && !axis) PaintGraphSimple(theGraph, option);
   gPad->ResetBit(TGraph::kClipFrame);

   if (option3) {
      Int_t logx = gPad->GetLogx();
      Int_t logy = gPad->GetLogy();
      gPad->SetLogx(0);
      gPad->SetLogy(0);
         if (option4) PaintGraph(theGraph, 2*theNpoints, xline, yline,"FC");
         else         PaintGraph(theGraph, 2*theNpoints, xline, yline,"F");
      gPad->SetLogx(logx);
      gPad->SetLogy(logy);
      delete [] xline;
      delete [] yline;
   }
}


//______________________________________________________________________________
void TGraphPainter::PaintGraphPolar(TGraph *theGraph, Option_t* options)
{
   /* Begin_Html
   <a href="#GP04">Paint this TGraphPolar with its current attributes.</a>
   End_Html */

   Int_t ipt, i;
   Double_t rwrmin, rwrmax, rwtmin, rwtmax;

   TGraphPolar *theGraphPolar = (TGraphPolar*) theGraph;

   Int_t theNpoints  = theGraphPolar->GetN();
   Double_t *theX    = theGraphPolar->GetX();
   Double_t *theY    = theGraphPolar->GetY();
   Double_t *theEX   = theGraphPolar->GetEX();
   Double_t *theEY   = theGraphPolar->GetEY();

   if (theNpoints<1) return;
   TString opt = options;
   opt.ToUpper();

   Bool_t nolabel = kFALSE;
   if(opt.Contains("N")){
      nolabel = kTRUE;
      opt.ReplaceAll("N","");
   }

   TGraphPolargram *thePolargram = theGraphPolar->GetPolargram();

   // Check for existing TGraphPolargram in the Pad
   if (gPad) {
      // Existing polargram
      if (thePolargram) if (!gPad->FindObject(thePolargram->GetName())) thePolargram=0;
      if (!thePolargram) {
         // Find any other Polargram in the Pad
         TListIter padObjIter(gPad->GetListOfPrimitives());
         while (TObject* AnyObj = padObjIter.Next()) {
            if (TString(AnyObj->ClassName()).CompareTo("TGraphPolargram",
                                                      TString::kExact)==0)
            thePolargram = (TGraphPolargram*)AnyObj;
            theGraphPolar->SetPolargram(thePolargram);
         }
      }
   }

   // Get new polargram range if necessary.
   if (!thePolargram) {
      // Get range, initialize with first/last value
      rwrmin = theY[0]; rwrmax = theY[theNpoints-1];
      rwtmin = theX[0]; rwtmax = theX[theNpoints-1];

      for (ipt = 0; ipt < theNpoints; ipt++) {
         // Check for errors if available
         if (theEX) {
            if (theX[ipt] -theEX[ipt] < rwtmin) rwtmin = theX[ipt]-theEX[ipt];
            if (theX[ipt] +theEX[ipt] > rwtmax) rwtmax = theX[ipt]+theEX[ipt];
         } else {
            if (theX[ipt] < rwtmin) rwtmin=theX[ipt];
            if (theX[ipt] > rwtmax) rwtmax=theX[ipt];
         }
         if (theEY) {
            if (theY[ipt] -theEY[ipt] < rwrmin) rwrmin = theY[ipt]-theEY[ipt];
            if (theY[ipt] +theEY[ipt] > rwrmax) rwrmax = theY[ipt]+theEY[ipt];
         } else {
            if (theY[ipt] < rwrmin) rwrmin=theY[ipt];
            if (theY[ipt] > rwrmax) rwrmax=theY[ipt];
         }
      }
      // Add radial and Polar margins.
      if (rwrmin == rwrmax) rwrmax += 1.;
      if (rwtmin == rwtmax) rwtmax += 1.;
      Double_t dr = (rwrmax-rwrmin);
      Double_t dt = (rwtmax-rwtmin);
      rwrmax += 0.1*dr;
      rwrmin -= 0.1*dr;

      // Assume equaly spaced points for full 2*Pi.
      rwtmax += dt/theNpoints;
   } else {
      rwrmin = thePolargram->GetRMin();
      rwrmax = thePolargram->GetRMax();
      rwtmin = thePolargram->GetTMin();
      rwtmax = thePolargram->GetTMax();
   }

   if ((!thePolargram) || theGraphPolar->GetOptionAxis()) {
      // Draw Polar coord system
      thePolargram = new TGraphPolargram("Polargram",rwrmin,rwrmax,rwtmin,rwtmax);
      theGraphPolar->SetPolargram(thePolargram);
      if (opt.Contains("O")) thePolargram->SetBit(TGraphPolargram::kLabelOrtho);
      else thePolargram->ResetBit(TGraphPolargram::kLabelOrtho);
      if (nolabel) thePolargram->Draw("N");
      else         thePolargram->Draw("");
      theGraphPolar->SetOptionAxis(kFALSE);   //Prevent redrawing
   }

   // Convert points to polar.
   Double_t *theXpol = theGraphPolar->GetXpol();
   Double_t *theYpol = theGraphPolar->GetYpol();

   // Project theta in [0,2*Pi] and radius in [0,1].
   Double_t radiusNDC = rwrmax-rwrmin;
   Double_t thetaNDC  = (rwtmax-rwtmin)/(2*TMath::Pi());

   // Draw the error bars.
   // Y errors are lines, but X errors are pieces of circles.
   if (opt.Contains("E")) {
      if (theEY) {
         for (i=0; i<theNpoints; i++) {
            Double_t eymin, eymax, exmin,exmax;
            exmin = (theY[i]-theEY[i]-rwrmin)/radiusNDC*
                     TMath::Cos((theX[i]-rwtmin)/thetaNDC);
            eymin = (theY[i]-theEY[i]-rwrmin)/radiusNDC*
                     TMath::Sin((theX[i]-rwtmin)/thetaNDC);
            exmax = (theY[i]+theEY[i]-rwrmin)/radiusNDC*
                     TMath::Cos((theX[i]-rwtmin)/thetaNDC);
            eymax = (theY[i]+theEY[i]-rwrmin)/radiusNDC*
                     TMath::Sin((theX[i]-rwtmin)/thetaNDC);
            theGraphPolar->TAttLine::Modify();
            if (exmin != exmax || eymin != eymax) gPad->PaintLine(exmin,eymin,exmax,eymax);
         }
      }
      if (theEX) {
         for (i=0; i<theNpoints; i++) {
            Double_t rad = (theY[i]-rwrmin)/radiusNDC;
            Double_t phimin = (theX[i]-theEX[i]-rwtmin)/thetaNDC*180/TMath::Pi();
            Double_t phimax = (theX[i]+theEX[i]-rwtmin)/thetaNDC*180/TMath::Pi();
            theGraphPolar->TAttLine::Modify();
            if (phimin != phimax) thePolargram->PaintCircle(0,0,rad,phimin,phimax,0);
         }
      }
   }

   // Draw the graph itself.
   if (!(gPad->GetLogx()) && !(gPad->GetLogy())) {
      Double_t a, b, c=1, x1, x2, y1, y2, discr, norm1, norm2, xts, yts;
      Bool_t previouspointin = kFALSE;
      Double_t norm = 0;
      Double_t xt   = 0;
      Double_t yt   = 0 ;
      Int_t j       = -1;
      for (i=0; i<theNpoints; i++) {
         if (thePolargram->IsRadian()) {c=1;}
         if (thePolargram->IsDegree()) {c=180/TMath::Pi();}
         if (thePolargram->IsGrad())   {c=100/TMath::Pi();}
         xts  = xt;
         yts  = yt;
         xt   = (theY[i]-rwrmin)/radiusNDC*TMath::Cos(c*(theX[i]-rwtmin)/thetaNDC);
         yt   = (theY[i]-rwrmin)/radiusNDC*TMath::Sin(c*(theX[i]-rwtmin)/thetaNDC);
         norm = sqrt(xt*xt+yt*yt);
         // Check if points are in the main circle.
         if ( norm <= 1) {
            // We check that the previous point was in the circle too.
            // We record new point position.
            if (!previouspointin) {
               j++;
               theXpol[j] = xt;
               theYpol[j] = yt;
            } else {
               a = (yt-yts)/(xt-xts);
               b = yts-a*xts;
               discr = 4*(a*a-b*b+1);
               x1 = (-2*a*b+sqrt(discr))/(2*(a*a+1));
               x2 = (-2*a*b-sqrt(discr))/(2*(a*a+1));
               y1 = a*x1+b;
               y2 = a*x2+b;
               norm1 = sqrt((x1-xt)*(x1-xt)+(y1-yt)*(y1-yt));
               norm2 = sqrt((x2-xt)*(x2-xt)+(y2-yt)*(y2-yt));
               previouspointin = kFALSE;
               j = 0;
               if (norm1 < norm2) {
                  theXpol[j] = x1;
                  theYpol[j] = y1;
               } else {
                  theXpol[j] = x2;
                  theYpol[j] = y2;
               }
               j++;
               theXpol[j] = xt;
               theYpol[j] = yt;
               PaintGraph(theGraphPolar, j+1, theXpol, theYpol, opt);
            }
         } else {
            // We check that the previous point was in the circle.
            // We record new point position
            if (j>=1 && !previouspointin) {
               a = (yt-theYpol[j])/(xt-theXpol[j]);
               b = theYpol[j]-a*theXpol[j];
               previouspointin = kTRUE;
               discr = 4*(a*a-b*b+1);
               x1 = (-2*a*b+sqrt(discr))/(2*(a*a+1));
               x2 = (-2*a*b-sqrt(discr))/(2*(a*a+1));
               y1 = a*x1+b;
               y2 = a*x2+b;
               norm1 = sqrt((x1-xt)*(x1-xt)+(y1-yt)*(y1-yt));
               norm2 = sqrt((x2-xt)*(x2-xt)+(y2-yt)*(y2-yt));
               j++;
               if (norm1 < norm2) {
                  theXpol[j] = x1;
                  theYpol[j] = y1;
               } else {
                  theXpol[j] = x2;
                  theYpol[j] = y2;
               }
               PaintGraph(theGraphPolar, j+1, theXpol, theYpol, opt);
            }
            j=-1;
         }
      }
      if (j>=1) {
         // If the last point is in the circle, we draw the last serie of point.
         PaintGraph(theGraphPolar, j+1, theXpol, theYpol, opt);
      }
   } else {
      for (i=0; i<theNpoints; i++) {
         theXpol[i] = TMath::Abs((theY[i]-rwrmin)/radiusNDC*TMath::Cos((theX[i]-rwtmin)/thetaNDC)+1);
         theYpol[i] = TMath::Abs((theY[i]-rwrmin)/radiusNDC*TMath::Sin((theX[i]-rwtmin)/thetaNDC)+1);
      }
      PaintGraph(theGraphPolar, theNpoints, theXpol, theYpol,opt);
   }

   // Paint the title.

   if (TestBit(TH1::kNoTitle)) return;
   Int_t nt = strlen(theGraph->GetTitle());
   TPaveText *title = 0;
   TObject *obj;
   TIter next(gPad->GetListOfPrimitives());
   while ((obj = next())) {
      if (!obj->InheritsFrom(TPaveText::Class())) continue;
      title = (TPaveText*)obj;
      if (strcmp(title->GetName(),"title")) {title = 0; continue;}
      break;
   }
   if (nt == 0 || gStyle->GetOptTitle() <= 0) {
      if (title) delete title;
      return;
   }
   Double_t ht = gStyle->GetTitleH();
   Double_t wt = gStyle->GetTitleW();
   if (ht <= 0) ht = 1.1*gStyle->GetTitleFontSize();
   if (ht <= 0) ht = 0.05;
   if (wt <= 0) {
      TLatex l;
      l.SetTextSize(ht);
      l.SetTitle(theGraph->GetTitle());
      // Adjustment in case the title has several lines (#splitline)
      ht = TMath::Max(ht, 1.2*l.GetYsize()/(gPad->GetY2() - gPad->GetY1()));
      Double_t wndc = l.GetXsize()/(gPad->GetX2() - gPad->GetX1());
      wt = TMath::Min(0.7, 0.02+wndc);
   }
   if (title) {
      TText *t0 = (TText*)title->GetLine(0);
      if (t0) {
         if (!strcmp(t0->GetTitle(),theGraph->GetTitle())) return;
         t0->SetTitle(theGraph->GetTitle());
         if (wt > 0) title->SetX2NDC(title->GetX1NDC()+wt);
      }
      return;
   }

   Int_t talh = gStyle->GetTitleAlign()/10;
   if (talh < 1) talh = 1; if (talh > 3) talh = 3;
   Int_t talv = gStyle->GetTitleAlign()%10;
   if (talv < 1) talv = 1; if (talv > 3) talv = 3;

   Double_t xpos, ypos;
   xpos = gStyle->GetTitleX();
   ypos = gStyle->GetTitleY();

   if (talh == 2) xpos = xpos-wt/2.;
   if (talh == 3) xpos = xpos-wt;
   if (talv == 2) ypos = ypos+ht/2.;
   if (talv == 1) ypos = ypos+ht;

   TPaveText *ptitle = new TPaveText(xpos, ypos-ht, xpos+wt, ypos,"blNDC");

   // Box with the histogram title.
   ptitle->SetFillColor(gStyle->GetTitleFillColor());
   ptitle->SetFillStyle(gStyle->GetTitleStyle());
   ptitle->SetName("title");
   ptitle->SetBorderSize(gStyle->GetTitleBorderSize());
   ptitle->SetTextColor(gStyle->GetTitleTextColor());
   ptitle->SetTextFont(gStyle->GetTitleFont(""));
   if (gStyle->GetTitleFont("")%10 > 2)
   ptitle->SetTextSize(gStyle->GetTitleFontSize());
   ptitle->AddText(theGraph->GetTitle());
   ptitle->SetBit(kCanDelete);
   ptitle->Draw();
   ptitle->Paint();
}


//______________________________________________________________________________
void TGraphPainter::PaintGraphQQ(TGraph *theGraph, Option_t *option)
{
   /* Begin_Html
   Paint this graphQQ. No options for the time being.
   End_Html */

   TGraphQQ *theGraphQQ = (TGraphQQ*) theGraph;

   Double_t *theX    = theGraphQQ->GetX();
   Double_t  theXq1  = theGraphQQ->GetXq1();
   Double_t  theXq2  = theGraphQQ->GetXq2();
   Double_t  theYq1  = theGraphQQ->GetYq1();
   Double_t  theYq2  = theGraphQQ->GetYq2();
   TF1      *theF    = theGraphQQ->GetF();

   if (!theX){
      Error("TGraphQQ::Paint", "2nd dataset or theoretical function not specified");
      return;
   }

   if (theF){
      theGraphQQ->GetXaxis()->SetTitle("theoretical quantiles");
      theGraphQQ->GetYaxis()->SetTitle("data quantiles");
   }

   PaintGraphSimple(theGraph,option);

   Double_t xmin = gPad->GetUxmin();
   Double_t xmax = gPad->GetUxmax();
   Double_t ymin = gPad->GetUymin();
   Double_t ymax = gPad->GetUymax();
   Double_t yxmin, xymin, yxmax, xymax;
   Double_t xqmin = TMath::Max(xmin, theXq1);
   Double_t xqmax = TMath::Min(xmax, theXq2);
   Double_t yqmin = TMath::Max(ymin, theYq1);
   Double_t yqmax = TMath::Min(ymax, theYq2);

   TLine line1, line2, line3;
   line1.SetLineStyle(2);
   line3.SetLineStyle(2);
   yxmin = (theYq2-theYq1)*(xmin-theXq1)/(theXq2-theXq1) + theYq1;
   if (yxmin < ymin){
      xymin = (theXq2-theXq1)*(ymin-theYq1)/(theYq2-theYq1) + theXq1;
      line1.PaintLine(xymin, ymin, xqmin, yqmin);
   }
   else
      line1.PaintLine(xmin, yxmin, xqmin, yqmin);

   line2.PaintLine(xqmin, yqmin, xqmax, yqmax);

   yxmax = (theYq2-theYq1)*(xmax-theXq1)/(theXq2-theXq1) + theYq1;
   if (yxmax > ymax){
      xymax = (theXq2-theXq1)*(ymax-theYq1)/(theYq2-theYq1) + theXq1;
      line3.PaintLine(xqmax, yqmax, xymax, ymax);
   }
   else
      line3.PaintLine(xqmax, yqmax, xmax, yxmax);
}


//______________________________________________________________________________
void TGraphPainter::PaintGraphSimple(TGraph *theGraph, Option_t *option)
{
   /* Begin_Html
   Paint a simple graph, without errors bars.
   End_Html */

   if (strstr(option,"H") || strstr(option,"h")) {
      PaintGrapHist(theGraph, theGraph->GetN(), theGraph->GetX(), theGraph->GetY(), option);
   } else {
      PaintGraph(theGraph, theGraph->GetN(), theGraph->GetX(), theGraph->GetY(), option);
   }

   // Paint associated objects in the list of functions (for instance
   // the fit function).
   TList *functions = theGraph->GetListOfFunctions();
   if (!functions) return;
   TObjOptLink *lnk = (TObjOptLink*)functions->FirstLink();
   TObject *obj;

   while (lnk) {
      obj = lnk->GetObject();
      TVirtualPad *padsave = gPad;
      if (obj->InheritsFrom(TF1::Class())) {
         if (obj->TestBit(TF1::kNotDraw) == 0) obj->Paint("lsame");
      } else  {
         obj->Paint(lnk->GetOption());
      }
      lnk = (TObjOptLink*)lnk->Next();
      padsave->cd();
   }
   return;
}


//______________________________________________________________________________
void TGraphPainter::PaintPolyLineHatches(TGraph *theGraph, Int_t n, const Double_t *x, const Double_t *y)
{
   /* Begin_Html
   Paint a polyline with hatches on one side showing an exclusion zone. x and y
   are the the vectors holding the polyline and n the number of points in the
   polyline and <tt>w</tt> the width of the hatches. <tt>w</tt> can be negative.
   This method is not meant to be used directly. It is called automatically
   according to the line style convention.
   End_Html */

   Int_t i,j,nf;
   Double_t w = (theGraph->GetLineWidth()/100)*0.005;

   Double_t *xf = new Double_t[2*n];
   Double_t *yf = new Double_t[2*n];
   Double_t *xt = new Double_t[n];
   Double_t *yt = new Double_t[n];
   Double_t x1, x2, y1, y2, x3, y3, xm, ym, a, a1, a2, a3;

   // Compute the gPad coordinates in TRUE normalized space (NDC)
   Int_t ix1,iy1,ix2,iy2;
   Int_t iw = gPad->GetWw();
   Int_t ih = gPad->GetWh();
   Double_t x1p,y1p,x2p,y2p;
   gPad->GetPadPar(x1p,y1p,x2p,y2p);
   ix1 = (Int_t)(iw*x1p);
   iy1 = (Int_t)(ih*y1p);
   ix2 = (Int_t)(iw*x2p);
   iy2 = (Int_t)(ih*y2p);
   Double_t wndc  = TMath::Min(1.,(Double_t)iw/(Double_t)ih);
   Double_t hndc  = TMath::Min(1.,(Double_t)ih/(Double_t)iw);
   Double_t rh    = hndc/(Double_t)ih;
   Double_t rw    = wndc/(Double_t)iw;
   Double_t x1ndc = (Double_t)ix1*rw;
   Double_t y1ndc = (Double_t)iy1*rh;
   Double_t x2ndc = (Double_t)ix2*rw;
   Double_t y2ndc = (Double_t)iy2*rh;

   // Ratios to convert user space in TRUE normalized space (NDC)
   Double_t rx1,ry1,rx2,ry2;
   gPad->GetRange(rx1,ry1,rx2,ry2);
   Double_t rx = (x2ndc-x1ndc)/(rx2-rx1);
   Double_t ry = (y2ndc-y1ndc)/(ry2-ry1);

   // The first part of the filled area is made of the graph points.
   // Make sure that two adjacent points are different.
   xf[0] = rx*(x[0]-rx1)+x1ndc;
   yf[0] = ry*(y[0]-ry1)+y1ndc;
   nf = 0;
   for (i=1; i<n; i++) {
      if (x[i]==x[i-1] && y[i]==y[i-1]) continue;
      nf++;
      xf[nf] = rx*(x[i]-rx1)+x1ndc;
      yf[nf] = ry*(y[i]-ry1)+y1ndc;
   }

   // For each graph points a shifted points is computed to build up
   // the second part of the filled area. First and last points are
   // treated as special cases, outside of the loop.
   if (xf[1]==xf[0]) {
      a = TMath::PiOver2();
   } else {
      a = TMath::ATan((yf[1]-yf[0])/(xf[1]-xf[0]));
   }
   if (xf[0]<=xf[1]) {
      xt[0] = xf[0]-w*TMath::Sin(a);
      yt[0] = yf[0]+w*TMath::Cos(a);
   } else {
      xt[0] = xf[0]+w*TMath::Sin(a);
      yt[0] = yf[0]-w*TMath::Cos(a);
   }

   if (xf[nf]==xf[nf-1]) {
      a = TMath::PiOver2();
   } else {
      a = TMath::ATan((yf[nf]-yf[nf-1])/(xf[nf]-xf[nf-1]));
   }
   if (xf[nf]>=xf[nf-1]) {
      xt[nf] = xf[nf]-w*TMath::Sin(a);
      yt[nf] = yf[nf]+w*TMath::Cos(a);
   } else {
      xt[nf] = xf[nf]+w*TMath::Sin(a);
      yt[nf] = yf[nf]-w*TMath::Cos(a);
   }

   Double_t xi0,yi0,xi1,yi1,xi2,yi2;
   for (i=1; i<nf; i++) {
      xi0 = xf[i];
      yi0 = yf[i];
      xi1 = xf[i+1];
      yi1 = yf[i+1];
      xi2 = xf[i-1];
      yi2 = yf[i-1];
      if (xi1==xi0) {
         a1 = TMath::PiOver2();
      } else {
         a1  = TMath::ATan((yi1-yi0)/(xi1-xi0));
      }
      if (xi1<xi0) a1 = a1+3.14159;
      if (xi2==xi0) {
         a2 = TMath::PiOver2();
      } else {
         a2  = TMath::ATan((yi0-yi2)/(xi0-xi2));
      }
      if (xi0<xi2) a2 = a2+3.14159;
      x1 = xi0-w*TMath::Sin(a1);
      y1 = yi0+w*TMath::Cos(a1);
      x2 = xi0-w*TMath::Sin(a2);
      y2 = yi0+w*TMath::Cos(a2);
      xm = (x1+x2)*0.5;
      ym = (y1+y2)*0.5;
      if (xm==xi0) {
         a3 = TMath::PiOver2();
      } else {
         a3 = TMath::ATan((ym-yi0)/(xm-xi0));
      }
      x3 = xi0-w*TMath::Sin(a3+1.57079);
      y3 = yi0+w*TMath::Cos(a3+1.57079);
      // Rotate (x3,y3) by PI around (xi0,yi0) if it is not on the (xm,ym) side.
      if ((xm-xi0)*(x3-xi0)<0 && (ym-yi0)*(y3-yi0)<0) {
         x3 = 2*xi0-x3;
         y3 = 2*yi0-y3;
      }
      if ((xm==x1) && (ym==y1)) {
         x3 = xm;
         y3 = ym;
      }
      xt[i] = x3;
      yt[i] = y3;
   }

   // Close the polygon if the first and last points are the same
   if (xf[nf]==xf[0] && yf[nf]==yf[0]) {
      xm = (xt[nf]+xt[0])*0.5;
      ym = (yt[nf]+yt[0])*0.5;
      if (xm==xf[0]) {
         a3 = TMath::PiOver2();
      } else {
         a3 = TMath::ATan((ym-yf[0])/(xm-xf[0]));
      }
      x3 = xf[0]+w*TMath::Sin(a3+1.57079);
      y3 = yf[0]-w*TMath::Cos(a3+1.57079);
      if ((xm-xf[0])*(x3-xf[0])<0 && (ym-yf[0])*(y3-yf[0])<0) {
         x3 = 2*xf[0]-x3;
         y3 = 2*yf[0]-y3;
      }
      xt[nf] = x3;
      xt[0]  = x3;
      yt[nf] = y3;
      yt[0]  = y3;
   }

   // Find the crossing segments and remove the useless ones
   Double_t xc, yc, c1, b1, c2, b2;
   Bool_t cross = kFALSE;
   Int_t nf2 = nf;
   for (i=nf2; i>0; i--) {
      for (j=i-1; j>0; j--) {
         if(xt[i-1]==xt[i] || xt[j-1]==xt[j]) continue;
         c1  = (yt[i-1]-yt[i])/(xt[i-1]-xt[i]);
         b1  = yt[i]-c1*xt[i];
         c2  = (yt[j-1]-yt[j])/(xt[j-1]-xt[j]);
         b2  = yt[j]-c2*xt[j];
         if (c1 != c2) {
            xc = (b2-b1)/(c1-c2);
            yc = c1*xc+b1;
            if (xc>TMath::Min(xt[i],xt[i-1]) && xc<TMath::Max(xt[i],xt[i-1]) &&
                xc>TMath::Min(xt[j],xt[j-1]) && xc<TMath::Max(xt[j],xt[j-1]) &&
                yc>TMath::Min(yt[i],yt[i-1]) && yc<TMath::Max(yt[i],yt[i-1]) &&
                yc>TMath::Min(yt[j],yt[j-1]) && yc<TMath::Max(yt[j],yt[j-1])) {
               nf++; xf[nf] = xt[i]; yf[nf] = yt[i];
               nf++; xf[nf] = xc   ; yf[nf] = yc;
               i = j;
               cross = kTRUE;
               break;
            } else {
               continue;
            }
         } else {
            continue;
         }
      }
      if (!cross) {
         nf++;
         xf[nf] = xt[i];
         yf[nf] = yt[i];
      }
      cross = kFALSE;
   }
   nf++; xf[nf] = xt[0]; yf[nf] = yt[0];

   // NDC to user coordinates
   for (i=0; i<nf+1; i++) {
      xf[i] = (1/rx)*(xf[i]-x1ndc)+rx1;
      yf[i] = (1/ry)*(yf[i]-y1ndc)+ry1;
   }

   // Draw filled area
   gPad->PaintFillArea(nf+1,xf,yf);
   theGraph->TAttLine::Modify(); // In case of PaintFillAreaHatches

   delete [] xf;
   delete [] yf;
   delete [] xt;
   delete [] yt;
}


//______________________________________________________________________________
void TGraphPainter::PaintStats(TGraph *theGraph, TF1 *fit)
{
   /* Begin_Html
   Paint the statistics box with the fit info.
   End_Html */

   Int_t dofit;
   TPaveStats *stats  = 0;
   TList *functions = theGraph->GetListOfFunctions();
   TIter next(functions);
   TObject *obj;
   while ((obj = next())) {
      if (obj->InheritsFrom(TPaveStats::Class())) {
         stats = (TPaveStats*)obj;
         break;
      }
   }

   if (stats) dofit  = stats->GetOptFit();
   else       dofit  = gStyle->GetOptFit();

   if (!dofit) fit = 0;
   if (!fit) return;
   if (dofit  == 1) dofit  =  111;
   Int_t nlines = 0;
   Int_t print_fval    = dofit%10;
   Int_t print_ferrors = (dofit/10)%10;
   Int_t print_fchi2   = (dofit/100)%10;
   Int_t print_fprob   = (dofit/1000)%10;
   Int_t nlinesf = print_fval + print_fchi2 + print_fprob;
   if (fit) nlinesf += fit->GetNpar();
   Bool_t done = kFALSE;
   Double_t  statw  = 1.8*gStyle->GetStatW();
   Double_t  stath  = 0.25*(nlines+nlinesf)*gStyle->GetStatH();
   if (stats) {
      stats->Clear();
      done = kTRUE;
   } else {
      stats  = new TPaveStats(
               gStyle->GetStatX()-statw,
               gStyle->GetStatY()-stath,
               gStyle->GetStatX(),
               gStyle->GetStatY(),"brNDC");

      stats->SetParent(functions);
      stats->SetOptFit(dofit);
      stats->SetOptStat(0);
      stats->SetFillColor(gStyle->GetStatColor());
      stats->SetFillStyle(gStyle->GetStatStyle());
      stats->SetBorderSize(gStyle->GetStatBorderSize());
      stats->SetTextFont(gStyle->GetStatFont());
      if (gStyle->GetStatFont()%10 > 2)
         stats->SetTextSize(gStyle->GetStatFontSize());
      stats->SetFitFormat(gStyle->GetFitFormat());
      stats->SetStatFormat(gStyle->GetStatFormat());
      stats->SetName("stats");

      stats->SetTextColor(gStyle->GetStatTextColor());
      stats->SetTextAlign(12);
      stats->SetBit(kCanDelete);
      stats->SetBit(kMustCleanup);
   }

   char t[64];
   char textstats[50];
   Int_t ndf = fit->GetNDF();
   sprintf(textstats,"#chi^{2} / ndf = %s%s / %d","%",stats->GetFitFormat(),ndf);
   sprintf(t,textstats,(Float_t)fit->GetChisquare());
   if (print_fchi2) stats->AddText(t);
   if (print_fprob) {
      sprintf(textstats,"Prob  = %s%s","%",stats->GetFitFormat());
      sprintf(t,textstats,(Float_t)TMath::Prob(fit->GetChisquare(),ndf));
      stats->AddText(t);
   }
   if (print_fval || print_ferrors) {
      for (Int_t ipar=0;ipar<fit->GetNpar();ipar++) {
         if (print_ferrors) {
            sprintf(textstats,"%-8s = %s%s #pm %s%s ",fit->GetParName(ipar),"%",stats->GetFitFormat(),"%",stats->GetFitFormat());
            sprintf(t,textstats,(Float_t)fit->GetParameter(ipar)
                            ,(Float_t)fit->GetParError(ipar));
         } else {
            sprintf(textstats,"%-8s = %s%s ",fit->GetParName(ipar),"%",stats->GetFitFormat());
            sprintf(t,textstats,(Float_t)fit->GetParameter(ipar));
         }
         t[63] = 0;
         stats->AddText(t);
      }
   }

   if (!done) functions->Add(stats);
   stats->Paint();
}

//______________________________________________________________________________
void TGraphPainter::Smooth(TGraph *theGraph, Int_t npoints, Double_t *x, Double_t *y, Int_t drawtype)
{
   /* Begin_Html
   Smooth a curve given by N points.
   <p>
   The original code come from an underlaying routine for Draw based on the
   CERN GD3 routine TVIPTE:
   <pre>
        Author - Marlow etc.   Modified by - P. Ward     Date -  3.10.1973
   </pre>
   This method draws a smooth tangentially continuous curve through
   the sequence of data points P(I) I=1,N where P(I)=(X(I),Y(I))
   the curve is approximated by a polygonal arc of short vectors .
   the data points can represent open curves, P(1) != P(N) or closed
   curves P(2) == P(N) . If a tangential discontinuity at P(I) is
   required , then set P(I)=P(I+1) . loops are also allowed .
   <p>
   Reference Marlow and Powell,Harwell report No.R.7092.1972
   MCCONALOGUE,Computer Journal VOL.13,NO4,NOV1970Pp392 6
   <p>
   <ul>
   <li>  npoints   : Number of data points.
   <li>  x         : Abscissa
   <li>  y         : Ordinate
   </ul>
   End_Html */

   Int_t i, k, kp, km, npointsMax, banksize, n2, npt;
   Int_t maxiterations, finished;
   Int_t jtype, ktype, closed;
   Double_t sxmin, sxmax, symin, symax;
   Double_t delta;
   Double_t xorg, yorg;
   Double_t ratio_signs, xratio, yratio;
   Int_t flgic, flgis;
   Int_t iw, loptx;
   Double_t p1, p2, p3, p4, p5, p6;
   Double_t w1, w2, w3;
   Double_t a, b, c, r, s, t, z;
   Double_t co, so, ct, st, ctu, stu, xnt;
   Double_t dx1, dy1, dx2, dy2, dk1, dk2;
   Double_t xo, yo, dx, dy, xt, yt;
   Double_t xa, xb, ya, yb;
   Double_t u1, u2, u3, tj;
   Double_t cc, err;
   Double_t sb, sth;
   Double_t wsign, tsquare, tcube;
   c = t = co = so = ct = st = ctu = stu = dx1 = dy1 = dx2 = dy2 = 0;
   xt = yt = xa = xb = ya = yb = u1 = u2 = u3 = tj = sb = 0;

   npointsMax  = npoints*10;
   n2          = npointsMax-2;
   banksize    = n2;

   Double_t *qlx = new Double_t[npointsMax];
   Double_t *qly = new Double_t[npointsMax];
   if (!qlx || !qly) {
      Error("Smooth", "not enough space in memory");
      return;
   }

   //  Decode the type of curve according to
   //  chopt of IGHIST.
   //  ('S', 'SA', 'SA1' ,'XS', 'XSA', or 'XSA1')

   loptx = kFALSE;
   jtype  = (drawtype%1000)-10;
   if (jtype > 0) { ktype = jtype; loptx = kTRUE; }
   else             ktype = drawtype%1000;

   Double_t ruxmin = gPad->GetUxmin();
   Double_t ruymin = gPad->GetUymin();
   if (ktype == 3) {
      xorg = ruxmin;
      yorg = ruymin;
   } else {
      xorg = TMath::Max((Double_t)0,ruxmin);
      yorg = TMath::Min(TMath::Max((Double_t)0,ruymin),gPad->GetUymax());
   }

   // delta is the accuracy required in constructing the curve.
   // If it is zero then the routine calculates a value otherwise
   // it uses this value. (default is 0.0)

   delta         = 0.00055;
   maxiterations = 20;

   //       Scale data to the range 0-ratio_signs in X, 0-1 in Y
   //       where ratio_signs is the ratio between the number of changes
   //       of sign in Y divided by the number of changes of sign in X

   sxmin = x[0];
   sxmax = x[0];
   symin = y[0];
   symax = y[0];
   Double_t six   = 1;
   Double_t siy   = 1;
   for (i=1;i<npoints;i++) {
      if (i > 1) {
         if ((x[i]-x[i-1])*(x[i-1]-x[i-2]) < 0) six++;
         if ((y[i]-y[i-1])*(y[i-1]-y[i-2]) < 0) siy++;
      }
      if (x[i] < sxmin) sxmin = x[i];
      if (x[i] > sxmax) sxmax = x[i];
      if (y[i] < symin) symin = y[i];
      if (y[i] > symax) symax = y[i];
   }
   closed = 0;
   Double_t dx1n   = TMath::Abs(x[npoints-1]-x[0]);
   Double_t dy1n   = TMath::Abs(y[npoints-1]-y[0]);
   if (dx1n < 0.01*(sxmax-sxmin) && dy1n < 0.01*(symax-symin))  closed = 1;
   if (sxmin == sxmax) xratio = 1;
   else {
      if (six > 1) ratio_signs = siy/six;
      else         ratio_signs = 20;
      xratio = ratio_signs/(sxmax-sxmin);
   }
   if (symin == symax) yratio = 1;
   else                yratio = 1/(symax-symin);

   qlx[0] = x[0];
   qly[0] = y[0];
   for (i=0;i<npoints;i++) {
      x[i] = (x[i]-sxmin)*xratio;
      y[i] = (y[i]-symin)*yratio;
   }

   //           finished is minus one if we must draw a straight line from P(k-1)
   //           to P(k). finished is one if the last call to IPL has  <  N2
   //           points. finished is zero otherwise. npt counts the X and Y
   //           coordinates in work . When npt=N2 a call to IPL is made.

   finished = 0;
   npt      = 1;
   k        = 1;

   //           Convert coordinates back to original system

   //           Separate the set of data points into arcs P(k-1),P(k).
   //           Calculate the direction cosines. first consider whether
   //           there is a continuous tangent at the endpoints.

   if (!closed) {
      if (x[0] != x[npoints-1] || y[0] != y[npoints-1]) goto L40;
      if (x[npoints-2] == x[npoints-1] && y[npoints-2] == y[npoints-1]) goto L40;
      if (x[0] == x[1] && y[0] == y[1]) goto L40;
   }
   flgic = kFALSE;
   flgis = kTRUE;

   //           flgic is true if the curve is open and false if it is closed.
   //           flgis is true in the main loop, but is false if there is
   //           a deviation from the main loop.

   km = npoints - 1;

   //           Calculate direction cosines at P(1) using P(N-1),P(1),P(2).

   goto L100;
L40:
   flgic = kTRUE;
   flgis = kFALSE;

   //           Skip excessive consecutive equal points.

L50:
   if (k >= npoints) {
      finished = 1;  //*-*-  Prepare to clear out remaining short vectors before returning
      if (npt > 1) goto L310;
      goto L390;
   }
   k++;
   if (x[k-1] == x[k-2] && y[k-1] == y[k-2])  goto L50;
L60:
   km = k-1;
   if (k > npoints) {
      finished = 1;  //*-*-  Prepare to clear out remaining short vectors before returning
      if (npt > 1) goto L310;
      goto L390;
   }
   if (k < npoints) goto L90;
   if (!flgic) { kp = 2; goto L130;}

L80:
   if (flgis) goto L150;

   //           Draw a straight line from P(k-1) to P(k).

   finished = -1;
   goto L170;

   //           Test whether P(k) is a cusp.

L90:
   if (x[k-1] == x[k] && y[k-1] == y[k]) goto L80;
L100:
   kp = k+1;
   goto L130;

   //           Branch if the next section of the curve begins at a cusp.

L110:
   if (!flgis) goto L50;

//*-*-           Carry forward the direction cosines from the previous arc.

L120:
   co = ct;
   so = st;
   k++;
   goto L60;

   //           Calculate the direction cosines at P(k).  If k=1 then
   //           N-1 is used for k-1. If k=N then 2 is used for k+1.
   //           direction cosines at P(k) obtained from P(k-1),P(k),P(k+1).

L130:
   dx1 = x[k-1]  - x[km-1];
   dy1 = y[k-1]  - y[km-1];
   dk1 = dx1*dx1 + dy1*dy1;
   dx2 = x[kp-1] - x[k-1];
   dy2 = y[kp-1] - y[k-1];
   dk2 = dx2*dx2 + dy2*dy2;
   ctu = dx1*dk2 + dx2*dk1;
   stu = dy1*dk2 + dy2*dk1;
   xnt = ctu*ctu + stu*stu;

   //           If both ctu and stu are zero,then default.This can
   //           occur when P(k)=P(k+1). I.E. A loop.

   if (xnt < 1.E-25) {
      ctu = dy1;
      stu =-dx1;
      xnt = dk1;
   }
   //           Normalise direction cosines.

   ct = ctu/TMath::Sqrt(xnt);
   st = stu/TMath::Sqrt(xnt);
   if (flgis) goto L160;

   //           Direction cosines at P(k-1) obtained from P(k-1),P(k),P(k+1).

   w3    = 2*(dx1*dy2-dx2*dy1);
   co    = ctu+w3*dy1;
   so    = stu-w3*dx1;
   xnt   = 1/TMath::Sqrt(co*co+so*so);
   co    = co*xnt;
   so    = so*xnt;
   flgis = kTRUE;
   goto L170;

   //           Direction cosines at P(k) obtained from P(k-2),P(k-1),P(k).

L150:
   w3    = 2*(dx1*dy2-dx2*dy1);
   ct    = ctu-w3*dy2;
   st    = stu+w3*dx2;
   xnt   = 1/TMath::Sqrt(ct*ct+st*st);
   ct    = ct*xnt;
   st    = st*xnt;
   flgis = kFALSE;
   goto L170;
L160:
   if (k <= 1) goto L120;

   //           For the arc between P(k-1) and P(k) with direction cosines co,
   //           so and ct,st respectively, calculate the coefficients of the
   //           parametric cubic represented by X(t) and Y(t) where
   //           X(t)=xa*t**3 + xb*t**2 + co*t + xo
   //           Y(t)=ya*t**3 + yb*t**2 + so*t + yo

L170:
   xo = x[k-2];
   yo = y[k-2];
   dx = x[k-1] - xo;
   dy = y[k-1] - yo;

   //           Initialise the values of X(TI),Y(TI) in xt and yt respectively.

   xt = xo;
   yt = yo;
   if (finished < 0) {  //*-*- Draw a straight line between (xo,yo) and (xt,yt)
      xt += dx;
      yt += dy;
      goto L300;
   }
   c  = dx*dx+dy*dy;
   a  = co+ct;
   b  = so+st;
   r  = dx*a+dy*b;
   t  = c*6/(TMath::Sqrt(r*r+2*(7-co*ct-so*st)*c)+r);
   tsquare = t*t;
   tcube   = t*tsquare;
   xa = (a*t-2*dx)/tcube;
   xb = (3*dx-(co+a)*t)/tsquare;
   ya = (b*t-2*dy)/tcube;
   yb = (3*dy-(so+b)*t)/tsquare;

   //           If the curve is close to a straight line then use a straight
   //           line between (xo,yo) and (xt,yt).

   if (.75*TMath::Max(TMath::Abs(dx*so-dy*co),TMath::Abs(dx*st-dy*ct)) <= delta) {
      finished = -1;
      xt += dx;
      yt += dy;
      goto L300;
   }

   //           Calculate a set of values 0 == t(0).LTCT(1) <  ...  < t(M)=TC
   //           such that polygonal arc joining X(t(J)),Y(t(J)) (J=0,1,..M)
   //           is within the required accuracy of the curve

   tj = 0;
   u1 = ya*xb-yb*xa;
   u2 = yb*co-xb*so;
   u3 = so*xa-ya*co;

   //           Given t(J), calculate t(J+1). The values of X(t(J)),
   //           Y(t(J)) t(J) are contained in xt,yt and tj respectively.

L180:
   s  = t - tj;
   iw = -2;

   //           Define iw here later.

   p1 = (2*u1)*tj-u3;
   p2 = (u1*tj-u3)*3*tj+u2;
   p3 = 3*tj*ya+yb;
   p4 = (p3+yb)*tj+so;
   p5 = 3*tj*xa+xb;
   p6 = (p5+xb)*tj+co;

   //           Test D(tj,THETA). A is set to (Y(tj+s)-Y(tj))/s.b is
   //           set to (X(tj+s)-X(tj))/s.

   cc  = 0.8209285;
   err = 0.1209835;
L190:
   iw -= 2;
L200:
   a   = (s*ya+p3)*s+p4;
   b   = (s*xa+p5)*s+p6;

   //           Set z to PSI(D/delta)-cc.

   w1 = -s*(s*u1+p1);
   w2 = s*s*u1-p2;
   w3 = 1.5*w1+w2;

   //           Set the estimate of (THETA-tj)/s.Then set the numerator
   //           of the expression (EQUATION 4.4)/s. Then set the square
   //           of D(tj,tj+s)/delta. Then replace z by PSI(D/delta)-cc.

   if (w3 > 0) wsign = TMath::Abs(w1);
   else        wsign = -TMath::Abs(w1);
   sth = 0.5+wsign/(3.4*TMath::Abs(w1)+5.2*TMath::Abs(w3));
   z   = s*sth*(s-s*sth)*(w1*sth+w1+w2);
   z   = z*z/((a*a+b*b)*(delta*delta));
   z   = (z+2.642937)*z/((.3715652*z+3.063444)*z+.2441889)-cc;

   //           Branch if z has been calculated

   if (iw > 0) goto L250;
   if (z > err) goto L240;
   goto L220;
L210:
   iw -= 2;
L220:
   if (iw+2 == 0) goto L190;
   if (iw+2 >  0) goto L290;

   //           Last part of arc.

L230:
   xt = x[k-1];
   yt = y[k-1];
   s  = 0;
   goto L300;

   //           z(s). find a value of s where 0 <= s <= sb such that
   //           TMath::Abs(z(s)) < err

L240:
   kp = 0;
   c  = z;
   sb = s;
L250:
   theGraph->Zero(kp,0,sb,err,s,z,maxiterations);
   if (kp == 2) goto L210;
   if (kp > 2) {
      Error("Smooth", "Attempt to plot outside plot limits");
      goto L230;
   }
   if (iw > 0) goto L200;

   //           Set z=z(s) for s=0.

   if (iw < 0) {
      z  = -cc;
      iw = 0;
      goto L250;
   }

   //           Set z=z(s) for s=sb.

   z  = c;
   iw = 1;
   goto L250;

   //           Update tj,xt and yt.

L290:
   xt = xt + s*b;
   yt = yt + s*a;
   tj = s  + tj;

   //           Convert coordinates to original system

L300:
   qlx[npt] = sxmin + xt/xratio;
   qly[npt] = symin + yt/yratio;
   npt++;

   //           If a fill area must be drawn and if the banks LX and
   //           LY are too small they are enlarged in order to draw
   //           the filled area in one go.

   if (npt < banksize)  goto L320;
   if (drawtype >= 1000 || ktype > 1) {
      Int_t newsize = banksize + n2;
      Double_t *qtemp = new Double_t[banksize];
      for (i=0;i<banksize;i++) qtemp[i] = qlx[i];
      delete [] qlx;
      qlx = new Double_t[newsize];
      for (i=0;i<banksize;i++) qlx[i]   = qtemp[i];
      for (i=0;i<banksize;i++) qtemp[i] = qly[i];
      delete [] qly;
      qly = new Double_t[newsize];
      for (i=0;i<banksize;i++) qly[i] = qtemp[i];
      delete [] qtemp;
      banksize = newsize;
      goto L320;
   }

   //           Draw the graph

L310:
   if (drawtype >= 1000) {
      gPad->PaintFillArea(npt,qlx,qly, "B");
   }
   else {
      if (ktype > 1) {
         if (!loptx) {
            qlx[npt]   = qlx[npt-1];
            qlx[npt+1] = qlx[0];
            qly[npt]   = yorg;
            qly[npt+1] = yorg;
         }
         else {
            qlx[npt]   = xorg;
            qlx[npt+1] = xorg;
            qly[npt]   = qly[npt-1];
            qly[npt+1] = qly[0];
         }
         gPad->PaintFillArea(npt+2,qlx,qly);
      }
      if (TMath::Abs(theGraph->GetLineWidth())>99) PaintPolyLineHatches(theGraph, npt, qlx, qly);
      gPad->PaintPolyLine(npt,qlx,qly);
   }
   npt = 1;
   qlx[0] = sxmin + xt/xratio;
   qly[0] = symin + yt/yratio;
L320:
   if (finished > 0) goto L390;
   if (finished < 0) { finished = 0; goto L110;}
   if (s > 0) goto L180;
   goto L110;

   //           Convert coordinates back to original system

L390:
   for (i=0;i<npoints;i++) {
      x[i] = sxmin + x[i]/xratio;
      y[i] = symin + y[i]/yratio;
   }

   delete [] qlx;
   delete [] qly;
}

 TGraphPainter.cxx:1
 TGraphPainter.cxx:2
 TGraphPainter.cxx:3
 TGraphPainter.cxx:4
 TGraphPainter.cxx:5
 TGraphPainter.cxx:6
 TGraphPainter.cxx:7
 TGraphPainter.cxx:8
 TGraphPainter.cxx:9
 TGraphPainter.cxx:10
 TGraphPainter.cxx:11
 TGraphPainter.cxx:12
 TGraphPainter.cxx:13
 TGraphPainter.cxx:14
 TGraphPainter.cxx:15
 TGraphPainter.cxx:16
 TGraphPainter.cxx:17
 TGraphPainter.cxx:18
 TGraphPainter.cxx:19
 TGraphPainter.cxx:20
 TGraphPainter.cxx:21
 TGraphPainter.cxx:22
 TGraphPainter.cxx:23
 TGraphPainter.cxx:24
 TGraphPainter.cxx:25
 TGraphPainter.cxx:26
 TGraphPainter.cxx:27
 TGraphPainter.cxx:28
 TGraphPainter.cxx:29
 TGraphPainter.cxx:30
 TGraphPainter.cxx:31
 TGraphPainter.cxx:32
 TGraphPainter.cxx:33
 TGraphPainter.cxx:34
 TGraphPainter.cxx:35
 TGraphPainter.cxx:36
 TGraphPainter.cxx:37
 TGraphPainter.cxx:38
 TGraphPainter.cxx:39
 TGraphPainter.cxx:40
 TGraphPainter.cxx:41
 TGraphPainter.cxx:42
 TGraphPainter.cxx:43
 TGraphPainter.cxx:44
 TGraphPainter.cxx:45
 TGraphPainter.cxx:46
 TGraphPainter.cxx:47
 TGraphPainter.cxx:48
 TGraphPainter.cxx:49
 TGraphPainter.cxx:50
 TGraphPainter.cxx:51
 TGraphPainter.cxx:52
 TGraphPainter.cxx:53
 TGraphPainter.cxx:54
 TGraphPainter.cxx:55
 TGraphPainter.cxx:56
 TGraphPainter.cxx:57
 TGraphPainter.cxx:58
 TGraphPainter.cxx:59
 TGraphPainter.cxx:60
 TGraphPainter.cxx:61
 TGraphPainter.cxx:62
 TGraphPainter.cxx:63
 TGraphPainter.cxx:64
 TGraphPainter.cxx:65
 TGraphPainter.cxx:66
 TGraphPainter.cxx:67
 TGraphPainter.cxx:68
 TGraphPainter.cxx:69
 TGraphPainter.cxx:70
 TGraphPainter.cxx:71
 TGraphPainter.cxx:72
 TGraphPainter.cxx:73
 TGraphPainter.cxx:74
 TGraphPainter.cxx:75
 TGraphPainter.cxx:76
 TGraphPainter.cxx:77
 TGraphPainter.cxx:78
 TGraphPainter.cxx:79
 TGraphPainter.cxx:80
 TGraphPainter.cxx:81
 TGraphPainter.cxx:82
 TGraphPainter.cxx:83
 TGraphPainter.cxx:84
 TGraphPainter.cxx:85
 TGraphPainter.cxx:86
 TGraphPainter.cxx:87
 TGraphPainter.cxx:88
 TGraphPainter.cxx:89
 TGraphPainter.cxx:90
 TGraphPainter.cxx:91
 TGraphPainter.cxx:92
 TGraphPainter.cxx:93
 TGraphPainter.cxx:94
 TGraphPainter.cxx:95
 TGraphPainter.cxx:96
 TGraphPainter.cxx:97
 TGraphPainter.cxx:98
 TGraphPainter.cxx:99
 TGraphPainter.cxx:100
 TGraphPainter.cxx:101
 TGraphPainter.cxx:102
 TGraphPainter.cxx:103
 TGraphPainter.cxx:104
 TGraphPainter.cxx:105
 TGraphPainter.cxx:106
 TGraphPainter.cxx:107
 TGraphPainter.cxx:108
 TGraphPainter.cxx:109
 TGraphPainter.cxx:110
 TGraphPainter.cxx:111
 TGraphPainter.cxx:112
 TGraphPainter.cxx:113
 TGraphPainter.cxx:114
 TGraphPainter.cxx:115
 TGraphPainter.cxx:116
 TGraphPainter.cxx:117
 TGraphPainter.cxx:118
 TGraphPainter.cxx:119
 TGraphPainter.cxx:120
 TGraphPainter.cxx:121
 TGraphPainter.cxx:122
 TGraphPainter.cxx:123
 TGraphPainter.cxx:124
 TGraphPainter.cxx:125
 TGraphPainter.cxx:126
 TGraphPainter.cxx:127
 TGraphPainter.cxx:128
 TGraphPainter.cxx:129
 TGraphPainter.cxx:130
 TGraphPainter.cxx:131
 TGraphPainter.cxx:132
 TGraphPainter.cxx:133
 TGraphPainter.cxx:134
 TGraphPainter.cxx:135
 TGraphPainter.cxx:136
 TGraphPainter.cxx:137
 TGraphPainter.cxx:138
 TGraphPainter.cxx:139
 TGraphPainter.cxx:140
 TGraphPainter.cxx:141
 TGraphPainter.cxx:142
 TGraphPainter.cxx:143
 TGraphPainter.cxx:144
 TGraphPainter.cxx:145
 TGraphPainter.cxx:146
 TGraphPainter.cxx:147
 TGraphPainter.cxx:148
 TGraphPainter.cxx:149
 TGraphPainter.cxx:150
 TGraphPainter.cxx:151
 TGraphPainter.cxx:152
 TGraphPainter.cxx:153
 TGraphPainter.cxx:154
 TGraphPainter.cxx:155
 TGraphPainter.cxx:156
 TGraphPainter.cxx:157
 TGraphPainter.cxx:158
 TGraphPainter.cxx:159
 TGraphPainter.cxx:160
 TGraphPainter.cxx:161
 TGraphPainter.cxx:162
 TGraphPainter.cxx:163
 TGraphPainter.cxx:164
 TGraphPainter.cxx:165
 TGraphPainter.cxx:166
 TGraphPainter.cxx:167
 TGraphPainter.cxx:168
 TGraphPainter.cxx:169
 TGraphPainter.cxx:170
 TGraphPainter.cxx:171
 TGraphPainter.cxx:172
 TGraphPainter.cxx:173
 TGraphPainter.cxx:174
 TGraphPainter.cxx:175
 TGraphPainter.cxx:176
 TGraphPainter.cxx:177
 TGraphPainter.cxx:178
 TGraphPainter.cxx:179
 TGraphPainter.cxx:180
 TGraphPainter.cxx:181
 TGraphPainter.cxx:182
 TGraphPainter.cxx:183
 TGraphPainter.cxx:184
 TGraphPainter.cxx:185
 TGraphPainter.cxx:186
 TGraphPainter.cxx:187
 TGraphPainter.cxx:188
 TGraphPainter.cxx:189
 TGraphPainter.cxx:190
 TGraphPainter.cxx:191
 TGraphPainter.cxx:192
 TGraphPainter.cxx:193
 TGraphPainter.cxx:194
 TGraphPainter.cxx:195
 TGraphPainter.cxx:196
 TGraphPainter.cxx:197
 TGraphPainter.cxx:198
 TGraphPainter.cxx:199
 TGraphPainter.cxx:200
 TGraphPainter.cxx:201
 TGraphPainter.cxx:202
 TGraphPainter.cxx:203
 TGraphPainter.cxx:204
 TGraphPainter.cxx:205
 TGraphPainter.cxx:206
 TGraphPainter.cxx:207
 TGraphPainter.cxx:208
 TGraphPainter.cxx:209
 TGraphPainter.cxx:210
 TGraphPainter.cxx:211
 TGraphPainter.cxx:212
 TGraphPainter.cxx:213
 TGraphPainter.cxx:214
 TGraphPainter.cxx:215
 TGraphPainter.cxx:216
 TGraphPainter.cxx:217
 TGraphPainter.cxx:218
 TGraphPainter.cxx:219
 TGraphPainter.cxx:220
 TGraphPainter.cxx:221
 TGraphPainter.cxx:222
 TGraphPainter.cxx:223
 TGraphPainter.cxx:224
 TGraphPainter.cxx:225
 TGraphPainter.cxx:226
 TGraphPainter.cxx:227
 TGraphPainter.cxx:228
 TGraphPainter.cxx:229
 TGraphPainter.cxx:230
 TGraphPainter.cxx:231
 TGraphPainter.cxx:232
 TGraphPainter.cxx:233
 TGraphPainter.cxx:234
 TGraphPainter.cxx:235
 TGraphPainter.cxx:236
 TGraphPainter.cxx:237
 TGraphPainter.cxx:238
 TGraphPainter.cxx:239
 TGraphPainter.cxx:240
 TGraphPainter.cxx:241
 TGraphPainter.cxx:242
 TGraphPainter.cxx:243
 TGraphPainter.cxx:244
 TGraphPainter.cxx:245
 TGraphPainter.cxx:246
 TGraphPainter.cxx:247
 TGraphPainter.cxx:248
 TGraphPainter.cxx:249
 TGraphPainter.cxx:250
 TGraphPainter.cxx:251
 TGraphPainter.cxx:252
 TGraphPainter.cxx:253
 TGraphPainter.cxx:254
 TGraphPainter.cxx:255
 TGraphPainter.cxx:256
 TGraphPainter.cxx:257
 TGraphPainter.cxx:258
 TGraphPainter.cxx:259
 TGraphPainter.cxx:260
 TGraphPainter.cxx:261
 TGraphPainter.cxx:262
 TGraphPainter.cxx:263
 TGraphPainter.cxx:264
 TGraphPainter.cxx:265
 TGraphPainter.cxx:266
 TGraphPainter.cxx:267
 TGraphPainter.cxx:268
 TGraphPainter.cxx:269
 TGraphPainter.cxx:270
 TGraphPainter.cxx:271
 TGraphPainter.cxx:272
 TGraphPainter.cxx:273
 TGraphPainter.cxx:274
 TGraphPainter.cxx:275
 TGraphPainter.cxx:276
 TGraphPainter.cxx:277
 TGraphPainter.cxx:278
 TGraphPainter.cxx:279
 TGraphPainter.cxx:280
 TGraphPainter.cxx:281
 TGraphPainter.cxx:282
 TGraphPainter.cxx:283
 TGraphPainter.cxx:284
 TGraphPainter.cxx:285
 TGraphPainter.cxx:286
 TGraphPainter.cxx:287
 TGraphPainter.cxx:288
 TGraphPainter.cxx:289
 TGraphPainter.cxx:290
 TGraphPainter.cxx:291
 TGraphPainter.cxx:292
 TGraphPainter.cxx:293
 TGraphPainter.cxx:294
 TGraphPainter.cxx:295
 TGraphPainter.cxx:296
 TGraphPainter.cxx:297
 TGraphPainter.cxx:298
 TGraphPainter.cxx:299
 TGraphPainter.cxx:300
 TGraphPainter.cxx:301
 TGraphPainter.cxx:302
 TGraphPainter.cxx:303
 TGraphPainter.cxx:304
 TGraphPainter.cxx:305
 TGraphPainter.cxx:306
 TGraphPainter.cxx:307
 TGraphPainter.cxx:308
 TGraphPainter.cxx:309
 TGraphPainter.cxx:310
 TGraphPainter.cxx:311
 TGraphPainter.cxx:312
 TGraphPainter.cxx:313
 TGraphPainter.cxx:314
 TGraphPainter.cxx:315
 TGraphPainter.cxx:316
 TGraphPainter.cxx:317
 TGraphPainter.cxx:318
 TGraphPainter.cxx:319
 TGraphPainter.cxx:320
 TGraphPainter.cxx:321
 TGraphPainter.cxx:322
 TGraphPainter.cxx:323
 TGraphPainter.cxx:324
 TGraphPainter.cxx:325
 TGraphPainter.cxx:326
 TGraphPainter.cxx:327
 TGraphPainter.cxx:328
 TGraphPainter.cxx:329
 TGraphPainter.cxx:330
 TGraphPainter.cxx:331
 TGraphPainter.cxx:332
 TGraphPainter.cxx:333
 TGraphPainter.cxx:334
 TGraphPainter.cxx:335
 TGraphPainter.cxx:336
 TGraphPainter.cxx:337
 TGraphPainter.cxx:338
 TGraphPainter.cxx:339
 TGraphPainter.cxx:340
 TGraphPainter.cxx:341
 TGraphPainter.cxx:342
 TGraphPainter.cxx:343
 TGraphPainter.cxx:344
 TGraphPainter.cxx:345
 TGraphPainter.cxx:346
 TGraphPainter.cxx:347
 TGraphPainter.cxx:348
 TGraphPainter.cxx:349
 TGraphPainter.cxx:350
 TGraphPainter.cxx:351
 TGraphPainter.cxx:352
 TGraphPainter.cxx:353
 TGraphPainter.cxx:354
 TGraphPainter.cxx:355
 TGraphPainter.cxx:356
 TGraphPainter.cxx:357
 TGraphPainter.cxx:358
 TGraphPainter.cxx:359
 TGraphPainter.cxx:360
 TGraphPainter.cxx:361
 TGraphPainter.cxx:362
 TGraphPainter.cxx:363
 TGraphPainter.cxx:364
 TGraphPainter.cxx:365
 TGraphPainter.cxx:366
 TGraphPainter.cxx:367
 TGraphPainter.cxx:368
 TGraphPainter.cxx:369
 TGraphPainter.cxx:370
 TGraphPainter.cxx:371
 TGraphPainter.cxx:372
 TGraphPainter.cxx:373
 TGraphPainter.cxx:374
 TGraphPainter.cxx:375
 TGraphPainter.cxx:376
 TGraphPainter.cxx:377
 TGraphPainter.cxx:378
 TGraphPainter.cxx:379
 TGraphPainter.cxx:380
 TGraphPainter.cxx:381
 TGraphPainter.cxx:382
 TGraphPainter.cxx:383
 TGraphPainter.cxx:384
 TGraphPainter.cxx:385
 TGraphPainter.cxx:386
 TGraphPainter.cxx:387
 TGraphPainter.cxx:388
 TGraphPainter.cxx:389
 TGraphPainter.cxx:390
 TGraphPainter.cxx:391
 TGraphPainter.cxx:392
 TGraphPainter.cxx:393
 TGraphPainter.cxx:394
 TGraphPainter.cxx:395
 TGraphPainter.cxx:396
 TGraphPainter.cxx:397
 TGraphPainter.cxx:398
 TGraphPainter.cxx:399
 TGraphPainter.cxx:400
 TGraphPainter.cxx:401
 TGraphPainter.cxx:402
 TGraphPainter.cxx:403
 TGraphPainter.cxx:404
 TGraphPainter.cxx:405
 TGraphPainter.cxx:406
 TGraphPainter.cxx:407
 TGraphPainter.cxx:408
 TGraphPainter.cxx:409
 TGraphPainter.cxx:410
 TGraphPainter.cxx:411
 TGraphPainter.cxx:412
 TGraphPainter.cxx:413
 TGraphPainter.cxx:414
 TGraphPainter.cxx:415
 TGraphPainter.cxx:416
 TGraphPainter.cxx:417
 TGraphPainter.cxx:418
 TGraphPainter.cxx:419
 TGraphPainter.cxx:420
 TGraphPainter.cxx:421
 TGraphPainter.cxx:422
 TGraphPainter.cxx:423
 TGraphPainter.cxx:424
 TGraphPainter.cxx:425
 TGraphPainter.cxx:426
 TGraphPainter.cxx:427
 TGraphPainter.cxx:428
 TGraphPainter.cxx:429
 TGraphPainter.cxx:430
 TGraphPainter.cxx:431
 TGraphPainter.cxx:432
 TGraphPainter.cxx:433
 TGraphPainter.cxx:434
 TGraphPainter.cxx:435
 TGraphPainter.cxx:436
 TGraphPainter.cxx:437
 TGraphPainter.cxx:438
 TGraphPainter.cxx:439
 TGraphPainter.cxx:440
 TGraphPainter.cxx:441
 TGraphPainter.cxx:442
 TGraphPainter.cxx:443
 TGraphPainter.cxx:444
 TGraphPainter.cxx:445
 TGraphPainter.cxx:446
 TGraphPainter.cxx:447
 TGraphPainter.cxx:448
 TGraphPainter.cxx:449
 TGraphPainter.cxx:450
 TGraphPainter.cxx:451
 TGraphPainter.cxx:452
 TGraphPainter.cxx:453
 TGraphPainter.cxx:454
 TGraphPainter.cxx:455
 TGraphPainter.cxx:456
 TGraphPainter.cxx:457
 TGraphPainter.cxx:458
 TGraphPainter.cxx:459
 TGraphPainter.cxx:460
 TGraphPainter.cxx:461
 TGraphPainter.cxx:462
 TGraphPainter.cxx:463
 TGraphPainter.cxx:464
 TGraphPainter.cxx:465
 TGraphPainter.cxx:466
 TGraphPainter.cxx:467
 TGraphPainter.cxx:468
 TGraphPainter.cxx:469
 TGraphPainter.cxx:470
 TGraphPainter.cxx:471
 TGraphPainter.cxx:472
 TGraphPainter.cxx:473
 TGraphPainter.cxx:474
 TGraphPainter.cxx:475
 TGraphPainter.cxx:476
 TGraphPainter.cxx:477
 TGraphPainter.cxx:478
 TGraphPainter.cxx:479
 TGraphPainter.cxx:480
 TGraphPainter.cxx:481
 TGraphPainter.cxx:482
 TGraphPainter.cxx:483
 TGraphPainter.cxx:484
 TGraphPainter.cxx:485
 TGraphPainter.cxx:486
 TGraphPainter.cxx:487
 TGraphPainter.cxx:488
 TGraphPainter.cxx:489
 TGraphPainter.cxx:490
 TGraphPainter.cxx:491
 TGraphPainter.cxx:492
 TGraphPainter.cxx:493
 TGraphPainter.cxx:494
 TGraphPainter.cxx:495
 TGraphPainter.cxx:496
 TGraphPainter.cxx:497
 TGraphPainter.cxx:498
 TGraphPainter.cxx:499
 TGraphPainter.cxx:500
 TGraphPainter.cxx:501
 TGraphPainter.cxx:502
 TGraphPainter.cxx:503
 TGraphPainter.cxx:504
 TGraphPainter.cxx:505
 TGraphPainter.cxx:506
 TGraphPainter.cxx:507
 TGraphPainter.cxx:508
 TGraphPainter.cxx:509
 TGraphPainter.cxx:510
 TGraphPainter.cxx:511
 TGraphPainter.cxx:512
 TGraphPainter.cxx:513
 TGraphPainter.cxx:514
 TGraphPainter.cxx:515
 TGraphPainter.cxx:516
 TGraphPainter.cxx:517
 TGraphPainter.cxx:518
 TGraphPainter.cxx:519
 TGraphPainter.cxx:520
 TGraphPainter.cxx:521
 TGraphPainter.cxx:522
 TGraphPainter.cxx:523
 TGraphPainter.cxx:524
 TGraphPainter.cxx:525
 TGraphPainter.cxx:526
 TGraphPainter.cxx:527
 TGraphPainter.cxx:528
 TGraphPainter.cxx:529
 TGraphPainter.cxx:530
 TGraphPainter.cxx:531
 TGraphPainter.cxx:532
 TGraphPainter.cxx:533
 TGraphPainter.cxx:534
 TGraphPainter.cxx:535
 TGraphPainter.cxx:536
 TGraphPainter.cxx:537
 TGraphPainter.cxx:538
 TGraphPainter.cxx:539
 TGraphPainter.cxx:540
 TGraphPainter.cxx:541
 TGraphPainter.cxx:542
 TGraphPainter.cxx:543
 TGraphPainter.cxx:544
 TGraphPainter.cxx:545
 TGraphPainter.cxx:546
 TGraphPainter.cxx:547
 TGraphPainter.cxx:548
 TGraphPainter.cxx:549
 TGraphPainter.cxx:550
 TGraphPainter.cxx:551
 TGraphPainter.cxx:552
 TGraphPainter.cxx:553
 TGraphPainter.cxx:554
 TGraphPainter.cxx:555
 TGraphPainter.cxx:556
 TGraphPainter.cxx:557
 TGraphPainter.cxx:558
 TGraphPainter.cxx:559
 TGraphPainter.cxx:560
 TGraphPainter.cxx:561
 TGraphPainter.cxx:562
 TGraphPainter.cxx:563
 TGraphPainter.cxx:564
 TGraphPainter.cxx:565
 TGraphPainter.cxx:566
 TGraphPainter.cxx:567
 TGraphPainter.cxx:568
 TGraphPainter.cxx:569
 TGraphPainter.cxx:570
 TGraphPainter.cxx:571
 TGraphPainter.cxx:572
 TGraphPainter.cxx:573
 TGraphPainter.cxx:574
 TGraphPainter.cxx:575
 TGraphPainter.cxx:576
 TGraphPainter.cxx:577
 TGraphPainter.cxx:578
 TGraphPainter.cxx:579
 TGraphPainter.cxx:580
 TGraphPainter.cxx:581
 TGraphPainter.cxx:582
 TGraphPainter.cxx:583
 TGraphPainter.cxx:584
 TGraphPainter.cxx:585
 TGraphPainter.cxx:586
 TGraphPainter.cxx:587
 TGraphPainter.cxx:588
 TGraphPainter.cxx:589
 TGraphPainter.cxx:590
 TGraphPainter.cxx:591
 TGraphPainter.cxx:592
 TGraphPainter.cxx:593
 TGraphPainter.cxx:594
 TGraphPainter.cxx:595
 TGraphPainter.cxx:596
 TGraphPainter.cxx:597
 TGraphPainter.cxx:598
 TGraphPainter.cxx:599
 TGraphPainter.cxx:600
 TGraphPainter.cxx:601
 TGraphPainter.cxx:602
 TGraphPainter.cxx:603
 TGraphPainter.cxx:604
 TGraphPainter.cxx:605
 TGraphPainter.cxx:606
 TGraphPainter.cxx:607
 TGraphPainter.cxx:608
 TGraphPainter.cxx:609
 TGraphPainter.cxx:610
 TGraphPainter.cxx:611
 TGraphPainter.cxx:612
 TGraphPainter.cxx:613
 TGraphPainter.cxx:614
 TGraphPainter.cxx:615
 TGraphPainter.cxx:616
 TGraphPainter.cxx:617
 TGraphPainter.cxx:618
 TGraphPainter.cxx:619
 TGraphPainter.cxx:620
 TGraphPainter.cxx:621
 TGraphPainter.cxx:622
 TGraphPainter.cxx:623
 TGraphPainter.cxx:624
 TGraphPainter.cxx:625
 TGraphPainter.cxx:626
 TGraphPainter.cxx:627
 TGraphPainter.cxx:628
 TGraphPainter.cxx:629
 TGraphPainter.cxx:630
 TGraphPainter.cxx:631
 TGraphPainter.cxx:632
 TGraphPainter.cxx:633
 TGraphPainter.cxx:634
 TGraphPainter.cxx:635
 TGraphPainter.cxx:636
 TGraphPainter.cxx:637
 TGraphPainter.cxx:638
 TGraphPainter.cxx:639
 TGraphPainter.cxx:640
 TGraphPainter.cxx:641
 TGraphPainter.cxx:642
 TGraphPainter.cxx:643
 TGraphPainter.cxx:644
 TGraphPainter.cxx:645
 TGraphPainter.cxx:646
 TGraphPainter.cxx:647
 TGraphPainter.cxx:648
 TGraphPainter.cxx:649
 TGraphPainter.cxx:650
 TGraphPainter.cxx:651
 TGraphPainter.cxx:652
 TGraphPainter.cxx:653
 TGraphPainter.cxx:654
 TGraphPainter.cxx:655
 TGraphPainter.cxx:656
 TGraphPainter.cxx:657
 TGraphPainter.cxx:658
 TGraphPainter.cxx:659
 TGraphPainter.cxx:660
 TGraphPainter.cxx:661
 TGraphPainter.cxx:662
 TGraphPainter.cxx:663
 TGraphPainter.cxx:664
 TGraphPainter.cxx:665
 TGraphPainter.cxx:666
 TGraphPainter.cxx:667
 TGraphPainter.cxx:668
 TGraphPainter.cxx:669
 TGraphPainter.cxx:670
 TGraphPainter.cxx:671
 TGraphPainter.cxx:672
 TGraphPainter.cxx:673
 TGraphPainter.cxx:674
 TGraphPainter.cxx:675
 TGraphPainter.cxx:676
 TGraphPainter.cxx:677
 TGraphPainter.cxx:678
 TGraphPainter.cxx:679
 TGraphPainter.cxx:680
 TGraphPainter.cxx:681
 TGraphPainter.cxx:682
 TGraphPainter.cxx:683
 TGraphPainter.cxx:684
 TGraphPainter.cxx:685
 TGraphPainter.cxx:686
 TGraphPainter.cxx:687
 TGraphPainter.cxx:688
 TGraphPainter.cxx:689
 TGraphPainter.cxx:690
 TGraphPainter.cxx:691
 TGraphPainter.cxx:692
 TGraphPainter.cxx:693
 TGraphPainter.cxx:694
 TGraphPainter.cxx:695
 TGraphPainter.cxx:696
 TGraphPainter.cxx:697
 TGraphPainter.cxx:698
 TGraphPainter.cxx:699
 TGraphPainter.cxx:700
 TGraphPainter.cxx:701
 TGraphPainter.cxx:702
 TGraphPainter.cxx:703
 TGraphPainter.cxx:704
 TGraphPainter.cxx:705
 TGraphPainter.cxx:706
 TGraphPainter.cxx:707
 TGraphPainter.cxx:708
 TGraphPainter.cxx:709
 TGraphPainter.cxx:710
 TGraphPainter.cxx:711
 TGraphPainter.cxx:712
 TGraphPainter.cxx:713
 TGraphPainter.cxx:714
 TGraphPainter.cxx:715
 TGraphPainter.cxx:716
 TGraphPainter.cxx:717
 TGraphPainter.cxx:718
 TGraphPainter.cxx:719
 TGraphPainter.cxx:720
 TGraphPainter.cxx:721
 TGraphPainter.cxx:722
 TGraphPainter.cxx:723
 TGraphPainter.cxx:724
 TGraphPainter.cxx:725
 TGraphPainter.cxx:726
 TGraphPainter.cxx:727
 TGraphPainter.cxx:728
 TGraphPainter.cxx:729
 TGraphPainter.cxx:730
 TGraphPainter.cxx:731
 TGraphPainter.cxx:732
 TGraphPainter.cxx:733
 TGraphPainter.cxx:734
 TGraphPainter.cxx:735
 TGraphPainter.cxx:736
 TGraphPainter.cxx:737
 TGraphPainter.cxx:738
 TGraphPainter.cxx:739
 TGraphPainter.cxx:740
 TGraphPainter.cxx:741
 TGraphPainter.cxx:742
 TGraphPainter.cxx:743
 TGraphPainter.cxx:744
 TGraphPainter.cxx:745
 TGraphPainter.cxx:746
 TGraphPainter.cxx:747
 TGraphPainter.cxx:748
 TGraphPainter.cxx:749
 TGraphPainter.cxx:750
 TGraphPainter.cxx:751
 TGraphPainter.cxx:752
 TGraphPainter.cxx:753
 TGraphPainter.cxx:754
 TGraphPainter.cxx:755
 TGraphPainter.cxx:756
 TGraphPainter.cxx:757
 TGraphPainter.cxx:758
 TGraphPainter.cxx:759
 TGraphPainter.cxx:760
 TGraphPainter.cxx:761
 TGraphPainter.cxx:762
 TGraphPainter.cxx:763
 TGraphPainter.cxx:764
 TGraphPainter.cxx:765
 TGraphPainter.cxx:766
 TGraphPainter.cxx:767
 TGraphPainter.cxx:768
 TGraphPainter.cxx:769
 TGraphPainter.cxx:770
 TGraphPainter.cxx:771
 TGraphPainter.cxx:772
 TGraphPainter.cxx:773
 TGraphPainter.cxx:774
 TGraphPainter.cxx:775
 TGraphPainter.cxx:776
 TGraphPainter.cxx:777
 TGraphPainter.cxx:778
 TGraphPainter.cxx:779
 TGraphPainter.cxx:780
 TGraphPainter.cxx:781
 TGraphPainter.cxx:782
 TGraphPainter.cxx:783
 TGraphPainter.cxx:784
 TGraphPainter.cxx:785
 TGraphPainter.cxx:786
 TGraphPainter.cxx:787
 TGraphPainter.cxx:788
 TGraphPainter.cxx:789
 TGraphPainter.cxx:790
 TGraphPainter.cxx:791
 TGraphPainter.cxx:792
 TGraphPainter.cxx:793
 TGraphPainter.cxx:794
 TGraphPainter.cxx:795
 TGraphPainter.cxx:796
 TGraphPainter.cxx:797
 TGraphPainter.cxx:798
 TGraphPainter.cxx:799
 TGraphPainter.cxx:800
 TGraphPainter.cxx:801
 TGraphPainter.cxx:802
 TGraphPainter.cxx:803
 TGraphPainter.cxx:804
 TGraphPainter.cxx:805
 TGraphPainter.cxx:806
 TGraphPainter.cxx:807
 TGraphPainter.cxx:808
 TGraphPainter.cxx:809
 TGraphPainter.cxx:810
 TGraphPainter.cxx:811
 TGraphPainter.cxx:812
 TGraphPainter.cxx:813
 TGraphPainter.cxx:814
 TGraphPainter.cxx:815
 TGraphPainter.cxx:816
 TGraphPainter.cxx:817
 TGraphPainter.cxx:818
 TGraphPainter.cxx:819
 TGraphPainter.cxx:820
 TGraphPainter.cxx:821
 TGraphPainter.cxx:822
 TGraphPainter.cxx:823
 TGraphPainter.cxx:824
 TGraphPainter.cxx:825
 TGraphPainter.cxx:826
 TGraphPainter.cxx:827
 TGraphPainter.cxx:828
 TGraphPainter.cxx:829
 TGraphPainter.cxx:830
 TGraphPainter.cxx:831
 TGraphPainter.cxx:832
 TGraphPainter.cxx:833
 TGraphPainter.cxx:834
 TGraphPainter.cxx:835
 TGraphPainter.cxx:836
 TGraphPainter.cxx:837
 TGraphPainter.cxx:838
 TGraphPainter.cxx:839
 TGraphPainter.cxx:840
 TGraphPainter.cxx:841
 TGraphPainter.cxx:842
 TGraphPainter.cxx:843
 TGraphPainter.cxx:844
 TGraphPainter.cxx:845
 TGraphPainter.cxx:846
 TGraphPainter.cxx:847
 TGraphPainter.cxx:848
 TGraphPainter.cxx:849
 TGraphPainter.cxx:850
 TGraphPainter.cxx:851
 TGraphPainter.cxx:852
 TGraphPainter.cxx:853
 TGraphPainter.cxx:854
 TGraphPainter.cxx:855
 TGraphPainter.cxx:856
 TGraphPainter.cxx:857
 TGraphPainter.cxx:858
 TGraphPainter.cxx:859
 TGraphPainter.cxx:860
 TGraphPainter.cxx:861
 TGraphPainter.cxx:862
 TGraphPainter.cxx:863
 TGraphPainter.cxx:864
 TGraphPainter.cxx:865
 TGraphPainter.cxx:866
 TGraphPainter.cxx:867
 TGraphPainter.cxx:868
 TGraphPainter.cxx:869
 TGraphPainter.cxx:870
 TGraphPainter.cxx:871
 TGraphPainter.cxx:872
 TGraphPainter.cxx:873
 TGraphPainter.cxx:874
 TGraphPainter.cxx:875
 TGraphPainter.cxx:876
 TGraphPainter.cxx:877
 TGraphPainter.cxx:878
 TGraphPainter.cxx:879
 TGraphPainter.cxx:880
 TGraphPainter.cxx:881
 TGraphPainter.cxx:882
 TGraphPainter.cxx:883
 TGraphPainter.cxx:884
 TGraphPainter.cxx:885
 TGraphPainter.cxx:886
 TGraphPainter.cxx:887
 TGraphPainter.cxx:888
 TGraphPainter.cxx:889
 TGraphPainter.cxx:890
 TGraphPainter.cxx:891
 TGraphPainter.cxx:892
 TGraphPainter.cxx:893
 TGraphPainter.cxx:894
 TGraphPainter.cxx:895
 TGraphPainter.cxx:896
 TGraphPainter.cxx:897
 TGraphPainter.cxx:898
 TGraphPainter.cxx:899
 TGraphPainter.cxx:900
 TGraphPainter.cxx:901
 TGraphPainter.cxx:902
 TGraphPainter.cxx:903
 TGraphPainter.cxx:904
 TGraphPainter.cxx:905
 TGraphPainter.cxx:906
 TGraphPainter.cxx:907
 TGraphPainter.cxx:908
 TGraphPainter.cxx:909
 TGraphPainter.cxx:910
 TGraphPainter.cxx:911
 TGraphPainter.cxx:912
 TGraphPainter.cxx:913
 TGraphPainter.cxx:914
 TGraphPainter.cxx:915
 TGraphPainter.cxx:916
 TGraphPainter.cxx:917
 TGraphPainter.cxx:918
 TGraphPainter.cxx:919
 TGraphPainter.cxx:920
 TGraphPainter.cxx:921
 TGraphPainter.cxx:922
 TGraphPainter.cxx:923
 TGraphPainter.cxx:924
 TGraphPainter.cxx:925
 TGraphPainter.cxx:926
 TGraphPainter.cxx:927
 TGraphPainter.cxx:928
 TGraphPainter.cxx:929
 TGraphPainter.cxx:930
 TGraphPainter.cxx:931
 TGraphPainter.cxx:932
 TGraphPainter.cxx:933
 TGraphPainter.cxx:934
 TGraphPainter.cxx:935
 TGraphPainter.cxx:936
 TGraphPainter.cxx:937
 TGraphPainter.cxx:938
 TGraphPainter.cxx:939
 TGraphPainter.cxx:940
 TGraphPainter.cxx:941
 TGraphPainter.cxx:942
 TGraphPainter.cxx:943
 TGraphPainter.cxx:944
 TGraphPainter.cxx:945
 TGraphPainter.cxx:946
 TGraphPainter.cxx:947
 TGraphPainter.cxx:948
 TGraphPainter.cxx:949
 TGraphPainter.cxx:950
 TGraphPainter.cxx:951
 TGraphPainter.cxx:952
 TGraphPainter.cxx:953
 TGraphPainter.cxx:954
 TGraphPainter.cxx:955
 TGraphPainter.cxx:956
 TGraphPainter.cxx:957
 TGraphPainter.cxx:958
 TGraphPainter.cxx:959
 TGraphPainter.cxx:960
 TGraphPainter.cxx:961
 TGraphPainter.cxx:962
 TGraphPainter.cxx:963
 TGraphPainter.cxx:964
 TGraphPainter.cxx:965
 TGraphPainter.cxx:966
 TGraphPainter.cxx:967
 TGraphPainter.cxx:968
 TGraphPainter.cxx:969
 TGraphPainter.cxx:970
 TGraphPainter.cxx:971
 TGraphPainter.cxx:972
 TGraphPainter.cxx:973
 TGraphPainter.cxx:974
 TGraphPainter.cxx:975
 TGraphPainter.cxx:976
 TGraphPainter.cxx:977
 TGraphPainter.cxx:978
 TGraphPainter.cxx:979
 TGraphPainter.cxx:980
 TGraphPainter.cxx:981
 TGraphPainter.cxx:982
 TGraphPainter.cxx:983
 TGraphPainter.cxx:984
 TGraphPainter.cxx:985
 TGraphPainter.cxx:986
 TGraphPainter.cxx:987
 TGraphPainter.cxx:988
 TGraphPainter.cxx:989
 TGraphPainter.cxx:990
 TGraphPainter.cxx:991
 TGraphPainter.cxx:992
 TGraphPainter.cxx:993
 TGraphPainter.cxx:994
 TGraphPainter.cxx:995
 TGraphPainter.cxx:996
 TGraphPainter.cxx:997
 TGraphPainter.cxx:998
 TGraphPainter.cxx:999
 TGraphPainter.cxx:1000
 TGraphPainter.cxx:1001
 TGraphPainter.cxx:1002
 TGraphPainter.cxx:1003
 TGraphPainter.cxx:1004
 TGraphPainter.cxx:1005
 TGraphPainter.cxx:1006
 TGraphPainter.cxx:1007
 TGraphPainter.cxx:1008
 TGraphPainter.cxx:1009
 TGraphPainter.cxx:1010
 TGraphPainter.cxx:1011
 TGraphPainter.cxx:1012
 TGraphPainter.cxx:1013
 TGraphPainter.cxx:1014
 TGraphPainter.cxx:1015
 TGraphPainter.cxx:1016
 TGraphPainter.cxx:1017
 TGraphPainter.cxx:1018
 TGraphPainter.cxx:1019
 TGraphPainter.cxx:1020
 TGraphPainter.cxx:1021
 TGraphPainter.cxx:1022
 TGraphPainter.cxx:1023
 TGraphPainter.cxx:1024
 TGraphPainter.cxx:1025
 TGraphPainter.cxx:1026
 TGraphPainter.cxx:1027
 TGraphPainter.cxx:1028
 TGraphPainter.cxx:1029
 TGraphPainter.cxx:1030
 TGraphPainter.cxx:1031
 TGraphPainter.cxx:1032
 TGraphPainter.cxx:1033
 TGraphPainter.cxx:1034
 TGraphPainter.cxx:1035
 TGraphPainter.cxx:1036
 TGraphPainter.cxx:1037
 TGraphPainter.cxx:1038
 TGraphPainter.cxx:1039
 TGraphPainter.cxx:1040
 TGraphPainter.cxx:1041
 TGraphPainter.cxx:1042
 TGraphPainter.cxx:1043
 TGraphPainter.cxx:1044
 TGraphPainter.cxx:1045
 TGraphPainter.cxx:1046
 TGraphPainter.cxx:1047
 TGraphPainter.cxx:1048
 TGraphPainter.cxx:1049
 TGraphPainter.cxx:1050
 TGraphPainter.cxx:1051
 TGraphPainter.cxx:1052
 TGraphPainter.cxx:1053
 TGraphPainter.cxx:1054
 TGraphPainter.cxx:1055
 TGraphPainter.cxx:1056
 TGraphPainter.cxx:1057
 TGraphPainter.cxx:1058
 TGraphPainter.cxx:1059
 TGraphPainter.cxx:1060
 TGraphPainter.cxx:1061
 TGraphPainter.cxx:1062
 TGraphPainter.cxx:1063
 TGraphPainter.cxx:1064
 TGraphPainter.cxx:1065
 TGraphPainter.cxx:1066
 TGraphPainter.cxx:1067
 TGraphPainter.cxx:1068
 TGraphPainter.cxx:1069
 TGraphPainter.cxx:1070
 TGraphPainter.cxx:1071
 TGraphPainter.cxx:1072
 TGraphPainter.cxx:1073
 TGraphPainter.cxx:1074
 TGraphPainter.cxx:1075
 TGraphPainter.cxx:1076
 TGraphPainter.cxx:1077
 TGraphPainter.cxx:1078
 TGraphPainter.cxx:1079
 TGraphPainter.cxx:1080
 TGraphPainter.cxx:1081
 TGraphPainter.cxx:1082
 TGraphPainter.cxx:1083
 TGraphPainter.cxx:1084
 TGraphPainter.cxx:1085
 TGraphPainter.cxx:1086
 TGraphPainter.cxx:1087
 TGraphPainter.cxx:1088
 TGraphPainter.cxx:1089
 TGraphPainter.cxx:1090
 TGraphPainter.cxx:1091
 TGraphPainter.cxx:1092
 TGraphPainter.cxx:1093
 TGraphPainter.cxx:1094
 TGraphPainter.cxx:1095
 TGraphPainter.cxx:1096
 TGraphPainter.cxx:1097
 TGraphPainter.cxx:1098
 TGraphPainter.cxx:1099
 TGraphPainter.cxx:1100
 TGraphPainter.cxx:1101
 TGraphPainter.cxx:1102
 TGraphPainter.cxx:1103
 TGraphPainter.cxx:1104
 TGraphPainter.cxx:1105
 TGraphPainter.cxx:1106
 TGraphPainter.cxx:1107
 TGraphPainter.cxx:1108
 TGraphPainter.cxx:1109
 TGraphPainter.cxx:1110
 TGraphPainter.cxx:1111
 TGraphPainter.cxx:1112
 TGraphPainter.cxx:1113
 TGraphPainter.cxx:1114
 TGraphPainter.cxx:1115
 TGraphPainter.cxx:1116
 TGraphPainter.cxx:1117
 TGraphPainter.cxx:1118
 TGraphPainter.cxx:1119
 TGraphPainter.cxx:1120
 TGraphPainter.cxx:1121
 TGraphPainter.cxx:1122
 TGraphPainter.cxx:1123
 TGraphPainter.cxx:1124
 TGraphPainter.cxx:1125
 TGraphPainter.cxx:1126
 TGraphPainter.cxx:1127
 TGraphPainter.cxx:1128
 TGraphPainter.cxx:1129
 TGraphPainter.cxx:1130
 TGraphPainter.cxx:1131
 TGraphPainter.cxx:1132
 TGraphPainter.cxx:1133
 TGraphPainter.cxx:1134
 TGraphPainter.cxx:1135
 TGraphPainter.cxx:1136
 TGraphPainter.cxx:1137
 TGraphPainter.cxx:1138
 TGraphPainter.cxx:1139
 TGraphPainter.cxx:1140
 TGraphPainter.cxx:1141
 TGraphPainter.cxx:1142
 TGraphPainter.cxx:1143
 TGraphPainter.cxx:1144
 TGraphPainter.cxx:1145
 TGraphPainter.cxx:1146
 TGraphPainter.cxx:1147
 TGraphPainter.cxx:1148
 TGraphPainter.cxx:1149
 TGraphPainter.cxx:1150
 TGraphPainter.cxx:1151
 TGraphPainter.cxx:1152
 TGraphPainter.cxx:1153
 TGraphPainter.cxx:1154
 TGraphPainter.cxx:1155
 TGraphPainter.cxx:1156
 TGraphPainter.cxx:1157
 TGraphPainter.cxx:1158
 TGraphPainter.cxx:1159
 TGraphPainter.cxx:1160
 TGraphPainter.cxx:1161
 TGraphPainter.cxx:1162
 TGraphPainter.cxx:1163
 TGraphPainter.cxx:1164
 TGraphPainter.cxx:1165
 TGraphPainter.cxx:1166
 TGraphPainter.cxx:1167
 TGraphPainter.cxx:1168
 TGraphPainter.cxx:1169
 TGraphPainter.cxx:1170
 TGraphPainter.cxx:1171
 TGraphPainter.cxx:1172
 TGraphPainter.cxx:1173
 TGraphPainter.cxx:1174
 TGraphPainter.cxx:1175
 TGraphPainter.cxx:1176
 TGraphPainter.cxx:1177
 TGraphPainter.cxx:1178
 TGraphPainter.cxx:1179
 TGraphPainter.cxx:1180
 TGraphPainter.cxx:1181
 TGraphPainter.cxx:1182
 TGraphPainter.cxx:1183
 TGraphPainter.cxx:1184
 TGraphPainter.cxx:1185
 TGraphPainter.cxx:1186
 TGraphPainter.cxx:1187
 TGraphPainter.cxx:1188
 TGraphPainter.cxx:1189
 TGraphPainter.cxx:1190
 TGraphPainter.cxx:1191
 TGraphPainter.cxx:1192
 TGraphPainter.cxx:1193
 TGraphPainter.cxx:1194
 TGraphPainter.cxx:1195
 TGraphPainter.cxx:1196
 TGraphPainter.cxx:1197
 TGraphPainter.cxx:1198
 TGraphPainter.cxx:1199
 TGraphPainter.cxx:1200
 TGraphPainter.cxx:1201
 TGraphPainter.cxx:1202
 TGraphPainter.cxx:1203
 TGraphPainter.cxx:1204
 TGraphPainter.cxx:1205
 TGraphPainter.cxx:1206
 TGraphPainter.cxx:1207
 TGraphPainter.cxx:1208
 TGraphPainter.cxx:1209
 TGraphPainter.cxx:1210
 TGraphPainter.cxx:1211
 TGraphPainter.cxx:1212
 TGraphPainter.cxx:1213
 TGraphPainter.cxx:1214
 TGraphPainter.cxx:1215
 TGraphPainter.cxx:1216
 TGraphPainter.cxx:1217
 TGraphPainter.cxx:1218
 TGraphPainter.cxx:1219
 TGraphPainter.cxx:1220
 TGraphPainter.cxx:1221
 TGraphPainter.cxx:1222
 TGraphPainter.cxx:1223
 TGraphPainter.cxx:1224
 TGraphPainter.cxx:1225
 TGraphPainter.cxx:1226
 TGraphPainter.cxx:1227
 TGraphPainter.cxx:1228
 TGraphPainter.cxx:1229
 TGraphPainter.cxx:1230
 TGraphPainter.cxx:1231
 TGraphPainter.cxx:1232
 TGraphPainter.cxx:1233
 TGraphPainter.cxx:1234
 TGraphPainter.cxx:1235
 TGraphPainter.cxx:1236
 TGraphPainter.cxx:1237
 TGraphPainter.cxx:1238
 TGraphPainter.cxx:1239
 TGraphPainter.cxx:1240
 TGraphPainter.cxx:1241
 TGraphPainter.cxx:1242
 TGraphPainter.cxx:1243
 TGraphPainter.cxx:1244
 TGraphPainter.cxx:1245
 TGraphPainter.cxx:1246
 TGraphPainter.cxx:1247
 TGraphPainter.cxx:1248
 TGraphPainter.cxx:1249
 TGraphPainter.cxx:1250
 TGraphPainter.cxx:1251
 TGraphPainter.cxx:1252
 TGraphPainter.cxx:1253
 TGraphPainter.cxx:1254
 TGraphPainter.cxx:1255
 TGraphPainter.cxx:1256
 TGraphPainter.cxx:1257
 TGraphPainter.cxx:1258
 TGraphPainter.cxx:1259
 TGraphPainter.cxx:1260
 TGraphPainter.cxx:1261
 TGraphPainter.cxx:1262
 TGraphPainter.cxx:1263
 TGraphPainter.cxx:1264
 TGraphPainter.cxx:1265
 TGraphPainter.cxx:1266
 TGraphPainter.cxx:1267
 TGraphPainter.cxx:1268
 TGraphPainter.cxx:1269
 TGraphPainter.cxx:1270
 TGraphPainter.cxx:1271
 TGraphPainter.cxx:1272
 TGraphPainter.cxx:1273
 TGraphPainter.cxx:1274
 TGraphPainter.cxx:1275
 TGraphPainter.cxx:1276
 TGraphPainter.cxx:1277
 TGraphPainter.cxx:1278
 TGraphPainter.cxx:1279
 TGraphPainter.cxx:1280
 TGraphPainter.cxx:1281
 TGraphPainter.cxx:1282
 TGraphPainter.cxx:1283
 TGraphPainter.cxx:1284
 TGraphPainter.cxx:1285
 TGraphPainter.cxx:1286
 TGraphPainter.cxx:1287
 TGraphPainter.cxx:1288
 TGraphPainter.cxx:1289
 TGraphPainter.cxx:1290
 TGraphPainter.cxx:1291
 TGraphPainter.cxx:1292
 TGraphPainter.cxx:1293
 TGraphPainter.cxx:1294
 TGraphPainter.cxx:1295
 TGraphPainter.cxx:1296
 TGraphPainter.cxx:1297
 TGraphPainter.cxx:1298
 TGraphPainter.cxx:1299
 TGraphPainter.cxx:1300
 TGraphPainter.cxx:1301
 TGraphPainter.cxx:1302
 TGraphPainter.cxx:1303
 TGraphPainter.cxx:1304
 TGraphPainter.cxx:1305
 TGraphPainter.cxx:1306
 TGraphPainter.cxx:1307
 TGraphPainter.cxx:1308
 TGraphPainter.cxx:1309
 TGraphPainter.cxx:1310
 TGraphPainter.cxx:1311
 TGraphPainter.cxx:1312
 TGraphPainter.cxx:1313
 TGraphPainter.cxx:1314
 TGraphPainter.cxx:1315
 TGraphPainter.cxx:1316
 TGraphPainter.cxx:1317
 TGraphPainter.cxx:1318
 TGraphPainter.cxx:1319
 TGraphPainter.cxx:1320
 TGraphPainter.cxx:1321
 TGraphPainter.cxx:1322
 TGraphPainter.cxx:1323
 TGraphPainter.cxx:1324
 TGraphPainter.cxx:1325
 TGraphPainter.cxx:1326
 TGraphPainter.cxx:1327
 TGraphPainter.cxx:1328
 TGraphPainter.cxx:1329
 TGraphPainter.cxx:1330
 TGraphPainter.cxx:1331
 TGraphPainter.cxx:1332
 TGraphPainter.cxx:1333
 TGraphPainter.cxx:1334
 TGraphPainter.cxx:1335
 TGraphPainter.cxx:1336
 TGraphPainter.cxx:1337
 TGraphPainter.cxx:1338
 TGraphPainter.cxx:1339
 TGraphPainter.cxx:1340
 TGraphPainter.cxx:1341
 TGraphPainter.cxx:1342
 TGraphPainter.cxx:1343
 TGraphPainter.cxx:1344
 TGraphPainter.cxx:1345
 TGraphPainter.cxx:1346
 TGraphPainter.cxx:1347
 TGraphPainter.cxx:1348
 TGraphPainter.cxx:1349
 TGraphPainter.cxx:1350
 TGraphPainter.cxx:1351
 TGraphPainter.cxx:1352
 TGraphPainter.cxx:1353
 TGraphPainter.cxx:1354
 TGraphPainter.cxx:1355
 TGraphPainter.cxx:1356
 TGraphPainter.cxx:1357
 TGraphPainter.cxx:1358
 TGraphPainter.cxx:1359
 TGraphPainter.cxx:1360
 TGraphPainter.cxx:1361
 TGraphPainter.cxx:1362
 TGraphPainter.cxx:1363
 TGraphPainter.cxx:1364
 TGraphPainter.cxx:1365
 TGraphPainter.cxx:1366
 TGraphPainter.cxx:1367
 TGraphPainter.cxx:1368
 TGraphPainter.cxx:1369
 TGraphPainter.cxx:1370
 TGraphPainter.cxx:1371
 TGraphPainter.cxx:1372
 TGraphPainter.cxx:1373
 TGraphPainter.cxx:1374
 TGraphPainter.cxx:1375
 TGraphPainter.cxx:1376
 TGraphPainter.cxx:1377
 TGraphPainter.cxx:1378
 TGraphPainter.cxx:1379
 TGraphPainter.cxx:1380
 TGraphPainter.cxx:1381
 TGraphPainter.cxx:1382
 TGraphPainter.cxx:1383
 TGraphPainter.cxx:1384
 TGraphPainter.cxx:1385
 TGraphPainter.cxx:1386
 TGraphPainter.cxx:1387
 TGraphPainter.cxx:1388
 TGraphPainter.cxx:1389
 TGraphPainter.cxx:1390
 TGraphPainter.cxx:1391
 TGraphPainter.cxx:1392
 TGraphPainter.cxx:1393
 TGraphPainter.cxx:1394
 TGraphPainter.cxx:1395
 TGraphPainter.cxx:1396
 TGraphPainter.cxx:1397
 TGraphPainter.cxx:1398
 TGraphPainter.cxx:1399
 TGraphPainter.cxx:1400
 TGraphPainter.cxx:1401
 TGraphPainter.cxx:1402
 TGraphPainter.cxx:1403
 TGraphPainter.cxx:1404
 TGraphPainter.cxx:1405
 TGraphPainter.cxx:1406
 TGraphPainter.cxx:1407
 TGraphPainter.cxx:1408
 TGraphPainter.cxx:1409
 TGraphPainter.cxx:1410
 TGraphPainter.cxx:1411
 TGraphPainter.cxx:1412
 TGraphPainter.cxx:1413
 TGraphPainter.cxx:1414
 TGraphPainter.cxx:1415
 TGraphPainter.cxx:1416
 TGraphPainter.cxx:1417
 TGraphPainter.cxx:1418
 TGraphPainter.cxx:1419
 TGraphPainter.cxx:1420
 TGraphPainter.cxx:1421
 TGraphPainter.cxx:1422
 TGraphPainter.cxx:1423
 TGraphPainter.cxx:1424
 TGraphPainter.cxx:1425
 TGraphPainter.cxx:1426
 TGraphPainter.cxx:1427
 TGraphPainter.cxx:1428
 TGraphPainter.cxx:1429
 TGraphPainter.cxx:1430
 TGraphPainter.cxx:1431
 TGraphPainter.cxx:1432
 TGraphPainter.cxx:1433
 TGraphPainter.cxx:1434
 TGraphPainter.cxx:1435
 TGraphPainter.cxx:1436
 TGraphPainter.cxx:1437
 TGraphPainter.cxx:1438
 TGraphPainter.cxx:1439
 TGraphPainter.cxx:1440
 TGraphPainter.cxx:1441
 TGraphPainter.cxx:1442
 TGraphPainter.cxx:1443
 TGraphPainter.cxx:1444
 TGraphPainter.cxx:1445
 TGraphPainter.cxx:1446
 TGraphPainter.cxx:1447
 TGraphPainter.cxx:1448
 TGraphPainter.cxx:1449
 TGraphPainter.cxx:1450
 TGraphPainter.cxx:1451
 TGraphPainter.cxx:1452
 TGraphPainter.cxx:1453
 TGraphPainter.cxx:1454
 TGraphPainter.cxx:1455
 TGraphPainter.cxx:1456
 TGraphPainter.cxx:1457
 TGraphPainter.cxx:1458
 TGraphPainter.cxx:1459
 TGraphPainter.cxx:1460
 TGraphPainter.cxx:1461
 TGraphPainter.cxx:1462
 TGraphPainter.cxx:1463
 TGraphPainter.cxx:1464
 TGraphPainter.cxx:1465
 TGraphPainter.cxx:1466
 TGraphPainter.cxx:1467
 TGraphPainter.cxx:1468
 TGraphPainter.cxx:1469
 TGraphPainter.cxx:1470
 TGraphPainter.cxx:1471
 TGraphPainter.cxx:1472
 TGraphPainter.cxx:1473
 TGraphPainter.cxx:1474
 TGraphPainter.cxx:1475
 TGraphPainter.cxx:1476
 TGraphPainter.cxx:1477
 TGraphPainter.cxx:1478
 TGraphPainter.cxx:1479
 TGraphPainter.cxx:1480
 TGraphPainter.cxx:1481
 TGraphPainter.cxx:1482
 TGraphPainter.cxx:1483
 TGraphPainter.cxx:1484
 TGraphPainter.cxx:1485
 TGraphPainter.cxx:1486
 TGraphPainter.cxx:1487
 TGraphPainter.cxx:1488
 TGraphPainter.cxx:1489
 TGraphPainter.cxx:1490
 TGraphPainter.cxx:1491
 TGraphPainter.cxx:1492
 TGraphPainter.cxx:1493
 TGraphPainter.cxx:1494
 TGraphPainter.cxx:1495
 TGraphPainter.cxx:1496
 TGraphPainter.cxx:1497
 TGraphPainter.cxx:1498
 TGraphPainter.cxx:1499
 TGraphPainter.cxx:1500
 TGraphPainter.cxx:1501
 TGraphPainter.cxx:1502
 TGraphPainter.cxx:1503
 TGraphPainter.cxx:1504
 TGraphPainter.cxx:1505
 TGraphPainter.cxx:1506
 TGraphPainter.cxx:1507
 TGraphPainter.cxx:1508
 TGraphPainter.cxx:1509
 TGraphPainter.cxx:1510
 TGraphPainter.cxx:1511
 TGraphPainter.cxx:1512
 TGraphPainter.cxx:1513
 TGraphPainter.cxx:1514
 TGraphPainter.cxx:1515
 TGraphPainter.cxx:1516
 TGraphPainter.cxx:1517
 TGraphPainter.cxx:1518
 TGraphPainter.cxx:1519
 TGraphPainter.cxx:1520
 TGraphPainter.cxx:1521
 TGraphPainter.cxx:1522
 TGraphPainter.cxx:1523
 TGraphPainter.cxx:1524
 TGraphPainter.cxx:1525
 TGraphPainter.cxx:1526
 TGraphPainter.cxx:1527
 TGraphPainter.cxx:1528
 TGraphPainter.cxx:1529
 TGraphPainter.cxx:1530
 TGraphPainter.cxx:1531
 TGraphPainter.cxx:1532
 TGraphPainter.cxx:1533
 TGraphPainter.cxx:1534
 TGraphPainter.cxx:1535
 TGraphPainter.cxx:1536
 TGraphPainter.cxx:1537
 TGraphPainter.cxx:1538
 TGraphPainter.cxx:1539
 TGraphPainter.cxx:1540
 TGraphPainter.cxx:1541
 TGraphPainter.cxx:1542
 TGraphPainter.cxx:1543
 TGraphPainter.cxx:1544
 TGraphPainter.cxx:1545
 TGraphPainter.cxx:1546
 TGraphPainter.cxx:1547
 TGraphPainter.cxx:1548
 TGraphPainter.cxx:1549
 TGraphPainter.cxx:1550
 TGraphPainter.cxx:1551
 TGraphPainter.cxx:1552
 TGraphPainter.cxx:1553
 TGraphPainter.cxx:1554
 TGraphPainter.cxx:1555
 TGraphPainter.cxx:1556
 TGraphPainter.cxx:1557
 TGraphPainter.cxx:1558
 TGraphPainter.cxx:1559
 TGraphPainter.cxx:1560
 TGraphPainter.cxx:1561
 TGraphPainter.cxx:1562
 TGraphPainter.cxx:1563
 TGraphPainter.cxx:1564
 TGraphPainter.cxx:1565
 TGraphPainter.cxx:1566
 TGraphPainter.cxx:1567
 TGraphPainter.cxx:1568
 TGraphPainter.cxx:1569
 TGraphPainter.cxx:1570
 TGraphPainter.cxx:1571
 TGraphPainter.cxx:1572
 TGraphPainter.cxx:1573
 TGraphPainter.cxx:1574
 TGraphPainter.cxx:1575
 TGraphPainter.cxx:1576
 TGraphPainter.cxx:1577
 TGraphPainter.cxx:1578
 TGraphPainter.cxx:1579
 TGraphPainter.cxx:1580
 TGraphPainter.cxx:1581
 TGraphPainter.cxx:1582
 TGraphPainter.cxx:1583
 TGraphPainter.cxx:1584
 TGraphPainter.cxx:1585
 TGraphPainter.cxx:1586
 TGraphPainter.cxx:1587
 TGraphPainter.cxx:1588
 TGraphPainter.cxx:1589
 TGraphPainter.cxx:1590
 TGraphPainter.cxx:1591
 TGraphPainter.cxx:1592
 TGraphPainter.cxx:1593
 TGraphPainter.cxx:1594
 TGraphPainter.cxx:1595
 TGraphPainter.cxx:1596
 TGraphPainter.cxx:1597
 TGraphPainter.cxx:1598
 TGraphPainter.cxx:1599
 TGraphPainter.cxx:1600
 TGraphPainter.cxx:1601
 TGraphPainter.cxx:1602
 TGraphPainter.cxx:1603
 TGraphPainter.cxx:1604
 TGraphPainter.cxx:1605
 TGraphPainter.cxx:1606
 TGraphPainter.cxx:1607
 TGraphPainter.cxx:1608
 TGraphPainter.cxx:1609
 TGraphPainter.cxx:1610
 TGraphPainter.cxx:1611
 TGraphPainter.cxx:1612
 TGraphPainter.cxx:1613
 TGraphPainter.cxx:1614
 TGraphPainter.cxx:1615
 TGraphPainter.cxx:1616
 TGraphPainter.cxx:1617
 TGraphPainter.cxx:1618
 TGraphPainter.cxx:1619
 TGraphPainter.cxx:1620
 TGraphPainter.cxx:1621
 TGraphPainter.cxx:1622
 TGraphPainter.cxx:1623
 TGraphPainter.cxx:1624
 TGraphPainter.cxx:1625
 TGraphPainter.cxx:1626
 TGraphPainter.cxx:1627
 TGraphPainter.cxx:1628
 TGraphPainter.cxx:1629
 TGraphPainter.cxx:1630
 TGraphPainter.cxx:1631
 TGraphPainter.cxx:1632
 TGraphPainter.cxx:1633
 TGraphPainter.cxx:1634
 TGraphPainter.cxx:1635
 TGraphPainter.cxx:1636
 TGraphPainter.cxx:1637
 TGraphPainter.cxx:1638
 TGraphPainter.cxx:1639
 TGraphPainter.cxx:1640
 TGraphPainter.cxx:1641
 TGraphPainter.cxx:1642
 TGraphPainter.cxx:1643
 TGraphPainter.cxx:1644
 TGraphPainter.cxx:1645
 TGraphPainter.cxx:1646
 TGraphPainter.cxx:1647
 TGraphPainter.cxx:1648
 TGraphPainter.cxx:1649
 TGraphPainter.cxx:1650
 TGraphPainter.cxx:1651
 TGraphPainter.cxx:1652
 TGraphPainter.cxx:1653
 TGraphPainter.cxx:1654
 TGraphPainter.cxx:1655
 TGraphPainter.cxx:1656
 TGraphPainter.cxx:1657
 TGraphPainter.cxx:1658
 TGraphPainter.cxx:1659
 TGraphPainter.cxx:1660
 TGraphPainter.cxx:1661
 TGraphPainter.cxx:1662
 TGraphPainter.cxx:1663
 TGraphPainter.cxx:1664
 TGraphPainter.cxx:1665
 TGraphPainter.cxx:1666
 TGraphPainter.cxx:1667
 TGraphPainter.cxx:1668
 TGraphPainter.cxx:1669
 TGraphPainter.cxx:1670
 TGraphPainter.cxx:1671
 TGraphPainter.cxx:1672
 TGraphPainter.cxx:1673
 TGraphPainter.cxx:1674
 TGraphPainter.cxx:1675
 TGraphPainter.cxx:1676
 TGraphPainter.cxx:1677
 TGraphPainter.cxx:1678
 TGraphPainter.cxx:1679
 TGraphPainter.cxx:1680
 TGraphPainter.cxx:1681
 TGraphPainter.cxx:1682
 TGraphPainter.cxx:1683
 TGraphPainter.cxx:1684
 TGraphPainter.cxx:1685
 TGraphPainter.cxx:1686
 TGraphPainter.cxx:1687
 TGraphPainter.cxx:1688
 TGraphPainter.cxx:1689
 TGraphPainter.cxx:1690
 TGraphPainter.cxx:1691
 TGraphPainter.cxx:1692
 TGraphPainter.cxx:1693
 TGraphPainter.cxx:1694
 TGraphPainter.cxx:1695
 TGraphPainter.cxx:1696
 TGraphPainter.cxx:1697
 TGraphPainter.cxx:1698
 TGraphPainter.cxx:1699
 TGraphPainter.cxx:1700
 TGraphPainter.cxx:1701
 TGraphPainter.cxx:1702
 TGraphPainter.cxx:1703
 TGraphPainter.cxx:1704
 TGraphPainter.cxx:1705
 TGraphPainter.cxx:1706
 TGraphPainter.cxx:1707
 TGraphPainter.cxx:1708
 TGraphPainter.cxx:1709
 TGraphPainter.cxx:1710
 TGraphPainter.cxx:1711
 TGraphPainter.cxx:1712
 TGraphPainter.cxx:1713
 TGraphPainter.cxx:1714
 TGraphPainter.cxx:1715
 TGraphPainter.cxx:1716
 TGraphPainter.cxx:1717
 TGraphPainter.cxx:1718
 TGraphPainter.cxx:1719
 TGraphPainter.cxx:1720
 TGraphPainter.cxx:1721
 TGraphPainter.cxx:1722
 TGraphPainter.cxx:1723
 TGraphPainter.cxx:1724
 TGraphPainter.cxx:1725
 TGraphPainter.cxx:1726
 TGraphPainter.cxx:1727
 TGraphPainter.cxx:1728
 TGraphPainter.cxx:1729
 TGraphPainter.cxx:1730
 TGraphPainter.cxx:1731
 TGraphPainter.cxx:1732
 TGraphPainter.cxx:1733
 TGraphPainter.cxx:1734
 TGraphPainter.cxx:1735
 TGraphPainter.cxx:1736
 TGraphPainter.cxx:1737
 TGraphPainter.cxx:1738
 TGraphPainter.cxx:1739
 TGraphPainter.cxx:1740
 TGraphPainter.cxx:1741
 TGraphPainter.cxx:1742
 TGraphPainter.cxx:1743
 TGraphPainter.cxx:1744
 TGraphPainter.cxx:1745
 TGraphPainter.cxx:1746
 TGraphPainter.cxx:1747
 TGraphPainter.cxx:1748
 TGraphPainter.cxx:1749
 TGraphPainter.cxx:1750
 TGraphPainter.cxx:1751
 TGraphPainter.cxx:1752
 TGraphPainter.cxx:1753
 TGraphPainter.cxx:1754
 TGraphPainter.cxx:1755
 TGraphPainter.cxx:1756
 TGraphPainter.cxx:1757
 TGraphPainter.cxx:1758
 TGraphPainter.cxx:1759
 TGraphPainter.cxx:1760
 TGraphPainter.cxx:1761
 TGraphPainter.cxx:1762
 TGraphPainter.cxx:1763
 TGraphPainter.cxx:1764
 TGraphPainter.cxx:1765
 TGraphPainter.cxx:1766
 TGraphPainter.cxx:1767
 TGraphPainter.cxx:1768
 TGraphPainter.cxx:1769
 TGraphPainter.cxx:1770
 TGraphPainter.cxx:1771
 TGraphPainter.cxx:1772
 TGraphPainter.cxx:1773
 TGraphPainter.cxx:1774
 TGraphPainter.cxx:1775
 TGraphPainter.cxx:1776
 TGraphPainter.cxx:1777
 TGraphPainter.cxx:1778
 TGraphPainter.cxx:1779
 TGraphPainter.cxx:1780
 TGraphPainter.cxx:1781
 TGraphPainter.cxx:1782
 TGraphPainter.cxx:1783
 TGraphPainter.cxx:1784
 TGraphPainter.cxx:1785
 TGraphPainter.cxx:1786
 TGraphPainter.cxx:1787
 TGraphPainter.cxx:1788
 TGraphPainter.cxx:1789
 TGraphPainter.cxx:1790
 TGraphPainter.cxx:1791
 TGraphPainter.cxx:1792
 TGraphPainter.cxx:1793
 TGraphPainter.cxx:1794
 TGraphPainter.cxx:1795
 TGraphPainter.cxx:1796
 TGraphPainter.cxx:1797
 TGraphPainter.cxx:1798
 TGraphPainter.cxx:1799
 TGraphPainter.cxx:1800
 TGraphPainter.cxx:1801
 TGraphPainter.cxx:1802
 TGraphPainter.cxx:1803
 TGraphPainter.cxx:1804
 TGraphPainter.cxx:1805
 TGraphPainter.cxx:1806
 TGraphPainter.cxx:1807
 TGraphPainter.cxx:1808
 TGraphPainter.cxx:1809
 TGraphPainter.cxx:1810
 TGraphPainter.cxx:1811
 TGraphPainter.cxx:1812
 TGraphPainter.cxx:1813
 TGraphPainter.cxx:1814
 TGraphPainter.cxx:1815
 TGraphPainter.cxx:1816
 TGraphPainter.cxx:1817
 TGraphPainter.cxx:1818
 TGraphPainter.cxx:1819
 TGraphPainter.cxx:1820
 TGraphPainter.cxx:1821
 TGraphPainter.cxx:1822
 TGraphPainter.cxx:1823
 TGraphPainter.cxx:1824
 TGraphPainter.cxx:1825
 TGraphPainter.cxx:1826
 TGraphPainter.cxx:1827
 TGraphPainter.cxx:1828
 TGraphPainter.cxx:1829
 TGraphPainter.cxx:1830
 TGraphPainter.cxx:1831
 TGraphPainter.cxx:1832
 TGraphPainter.cxx:1833
 TGraphPainter.cxx:1834
 TGraphPainter.cxx:1835
 TGraphPainter.cxx:1836
 TGraphPainter.cxx:1837
 TGraphPainter.cxx:1838
 TGraphPainter.cxx:1839
 TGraphPainter.cxx:1840
 TGraphPainter.cxx:1841
 TGraphPainter.cxx:1842
 TGraphPainter.cxx:1843
 TGraphPainter.cxx:1844
 TGraphPainter.cxx:1845
 TGraphPainter.cxx:1846
 TGraphPainter.cxx:1847
 TGraphPainter.cxx:1848
 TGraphPainter.cxx:1849
 TGraphPainter.cxx:1850
 TGraphPainter.cxx:1851
 TGraphPainter.cxx:1852
 TGraphPainter.cxx:1853
 TGraphPainter.cxx:1854
 TGraphPainter.cxx:1855
 TGraphPainter.cxx:1856
 TGraphPainter.cxx:1857
 TGraphPainter.cxx:1858
 TGraphPainter.cxx:1859
 TGraphPainter.cxx:1860
 TGraphPainter.cxx:1861
 TGraphPainter.cxx:1862
 TGraphPainter.cxx:1863
 TGraphPainter.cxx:1864
 TGraphPainter.cxx:1865
 TGraphPainter.cxx:1866
 TGraphPainter.cxx:1867
 TGraphPainter.cxx:1868
 TGraphPainter.cxx:1869
 TGraphPainter.cxx:1870
 TGraphPainter.cxx:1871
 TGraphPainter.cxx:1872
 TGraphPainter.cxx:1873
 TGraphPainter.cxx:1874
 TGraphPainter.cxx:1875
 TGraphPainter.cxx:1876
 TGraphPainter.cxx:1877
 TGraphPainter.cxx:1878
 TGraphPainter.cxx:1879
 TGraphPainter.cxx:1880
 TGraphPainter.cxx:1881
 TGraphPainter.cxx:1882
 TGraphPainter.cxx:1883
 TGraphPainter.cxx:1884
 TGraphPainter.cxx:1885
 TGraphPainter.cxx:1886
 TGraphPainter.cxx:1887
 TGraphPainter.cxx:1888
 TGraphPainter.cxx:1889
 TGraphPainter.cxx:1890
 TGraphPainter.cxx:1891
 TGraphPainter.cxx:1892
 TGraphPainter.cxx:1893
 TGraphPainter.cxx:1894
 TGraphPainter.cxx:1895
 TGraphPainter.cxx:1896
 TGraphPainter.cxx:1897
 TGraphPainter.cxx:1898
 TGraphPainter.cxx:1899
 TGraphPainter.cxx:1900
 TGraphPainter.cxx:1901
 TGraphPainter.cxx:1902
 TGraphPainter.cxx:1903
 TGraphPainter.cxx:1904
 TGraphPainter.cxx:1905
 TGraphPainter.cxx:1906
 TGraphPainter.cxx:1907
 TGraphPainter.cxx:1908
 TGraphPainter.cxx:1909
 TGraphPainter.cxx:1910
 TGraphPainter.cxx:1911
 TGraphPainter.cxx:1912
 TGraphPainter.cxx:1913
 TGraphPainter.cxx:1914
 TGraphPainter.cxx:1915
 TGraphPainter.cxx:1916
 TGraphPainter.cxx:1917
 TGraphPainter.cxx:1918
 TGraphPainter.cxx:1919
 TGraphPainter.cxx:1920
 TGraphPainter.cxx:1921
 TGraphPainter.cxx:1922
 TGraphPainter.cxx:1923
 TGraphPainter.cxx:1924
 TGraphPainter.cxx:1925
 TGraphPainter.cxx:1926
 TGraphPainter.cxx:1927
 TGraphPainter.cxx:1928
 TGraphPainter.cxx:1929
 TGraphPainter.cxx:1930
 TGraphPainter.cxx:1931
 TGraphPainter.cxx:1932
 TGraphPainter.cxx:1933
 TGraphPainter.cxx:1934
 TGraphPainter.cxx:1935
 TGraphPainter.cxx:1936
 TGraphPainter.cxx:1937
 TGraphPainter.cxx:1938
 TGraphPainter.cxx:1939
 TGraphPainter.cxx:1940
 TGraphPainter.cxx:1941
 TGraphPainter.cxx:1942
 TGraphPainter.cxx:1943
 TGraphPainter.cxx:1944
 TGraphPainter.cxx:1945
 TGraphPainter.cxx:1946
 TGraphPainter.cxx:1947
 TGraphPainter.cxx:1948
 TGraphPainter.cxx:1949
 TGraphPainter.cxx:1950
 TGraphPainter.cxx:1951
 TGraphPainter.cxx:1952
 TGraphPainter.cxx:1953
 TGraphPainter.cxx:1954
 TGraphPainter.cxx:1955
 TGraphPainter.cxx:1956
 TGraphPainter.cxx:1957
 TGraphPainter.cxx:1958
 TGraphPainter.cxx:1959
 TGraphPainter.cxx:1960
 TGraphPainter.cxx:1961
 TGraphPainter.cxx:1962
 TGraphPainter.cxx:1963
 TGraphPainter.cxx:1964
 TGraphPainter.cxx:1965
 TGraphPainter.cxx:1966
 TGraphPainter.cxx:1967
 TGraphPainter.cxx:1968
 TGraphPainter.cxx:1969
 TGraphPainter.cxx:1970
 TGraphPainter.cxx:1971
 TGraphPainter.cxx:1972
 TGraphPainter.cxx:1973
 TGraphPainter.cxx:1974
 TGraphPainter.cxx:1975
 TGraphPainter.cxx:1976
 TGraphPainter.cxx:1977
 TGraphPainter.cxx:1978
 TGraphPainter.cxx:1979
 TGraphPainter.cxx:1980
 TGraphPainter.cxx:1981
 TGraphPainter.cxx:1982
 TGraphPainter.cxx:1983
 TGraphPainter.cxx:1984
 TGraphPainter.cxx:1985
 TGraphPainter.cxx:1986
 TGraphPainter.cxx:1987
 TGraphPainter.cxx:1988
 TGraphPainter.cxx:1989
 TGraphPainter.cxx:1990
 TGraphPainter.cxx:1991
 TGraphPainter.cxx:1992
 TGraphPainter.cxx:1993
 TGraphPainter.cxx:1994
 TGraphPainter.cxx:1995
 TGraphPainter.cxx:1996
 TGraphPainter.cxx:1997
 TGraphPainter.cxx:1998
 TGraphPainter.cxx:1999
 TGraphPainter.cxx:2000
 TGraphPainter.cxx:2001
 TGraphPainter.cxx:2002
 TGraphPainter.cxx:2003
 TGraphPainter.cxx:2004
 TGraphPainter.cxx:2005
 TGraphPainter.cxx:2006
 TGraphPainter.cxx:2007
 TGraphPainter.cxx:2008
 TGraphPainter.cxx:2009
 TGraphPainter.cxx:2010
 TGraphPainter.cxx:2011
 TGraphPainter.cxx:2012
 TGraphPainter.cxx:2013
 TGraphPainter.cxx:2014
 TGraphPainter.cxx:2015
 TGraphPainter.cxx:2016
 TGraphPainter.cxx:2017
 TGraphPainter.cxx:2018
 TGraphPainter.cxx:2019
 TGraphPainter.cxx:2020
 TGraphPainter.cxx:2021
 TGraphPainter.cxx:2022
 TGraphPainter.cxx:2023
 TGraphPainter.cxx:2024
 TGraphPainter.cxx:2025
 TGraphPainter.cxx:2026
 TGraphPainter.cxx:2027
 TGraphPainter.cxx:2028
 TGraphPainter.cxx:2029
 TGraphPainter.cxx:2030
 TGraphPainter.cxx:2031
 TGraphPainter.cxx:2032
 TGraphPainter.cxx:2033
 TGraphPainter.cxx:2034
 TGraphPainter.cxx:2035
 TGraphPainter.cxx:2036
 TGraphPainter.cxx:2037
 TGraphPainter.cxx:2038
 TGraphPainter.cxx:2039
 TGraphPainter.cxx:2040
 TGraphPainter.cxx:2041
 TGraphPainter.cxx:2042
 TGraphPainter.cxx:2043
 TGraphPainter.cxx:2044
 TGraphPainter.cxx:2045
 TGraphPainter.cxx:2046
 TGraphPainter.cxx:2047
 TGraphPainter.cxx:2048
 TGraphPainter.cxx:2049
 TGraphPainter.cxx:2050
 TGraphPainter.cxx:2051
 TGraphPainter.cxx:2052
 TGraphPainter.cxx:2053
 TGraphPainter.cxx:2054
 TGraphPainter.cxx:2055
 TGraphPainter.cxx:2056
 TGraphPainter.cxx:2057
 TGraphPainter.cxx:2058
 TGraphPainter.cxx:2059
 TGraphPainter.cxx:2060
 TGraphPainter.cxx:2061
 TGraphPainter.cxx:2062
 TGraphPainter.cxx:2063
 TGraphPainter.cxx:2064
 TGraphPainter.cxx:2065
 TGraphPainter.cxx:2066
 TGraphPainter.cxx:2067
 TGraphPainter.cxx:2068
 TGraphPainter.cxx:2069
 TGraphPainter.cxx:2070
 TGraphPainter.cxx:2071
 TGraphPainter.cxx:2072
 TGraphPainter.cxx:2073
 TGraphPainter.cxx:2074
 TGraphPainter.cxx:2075
 TGraphPainter.cxx:2076
 TGraphPainter.cxx:2077
 TGraphPainter.cxx:2078
 TGraphPainter.cxx:2079
 TGraphPainter.cxx:2080
 TGraphPainter.cxx:2081
 TGraphPainter.cxx:2082
 TGraphPainter.cxx:2083
 TGraphPainter.cxx:2084
 TGraphPainter.cxx:2085
 TGraphPainter.cxx:2086
 TGraphPainter.cxx:2087
 TGraphPainter.cxx:2088
 TGraphPainter.cxx:2089
 TGraphPainter.cxx:2090
 TGraphPainter.cxx:2091
 TGraphPainter.cxx:2092
 TGraphPainter.cxx:2093
 TGraphPainter.cxx:2094
 TGraphPainter.cxx:2095
 TGraphPainter.cxx:2096
 TGraphPainter.cxx:2097
 TGraphPainter.cxx:2098
 TGraphPainter.cxx:2099
 TGraphPainter.cxx:2100
 TGraphPainter.cxx:2101
 TGraphPainter.cxx:2102
 TGraphPainter.cxx:2103
 TGraphPainter.cxx:2104
 TGraphPainter.cxx:2105
 TGraphPainter.cxx:2106
 TGraphPainter.cxx:2107
 TGraphPainter.cxx:2108
 TGraphPainter.cxx:2109
 TGraphPainter.cxx:2110
 TGraphPainter.cxx:2111
 TGraphPainter.cxx:2112
 TGraphPainter.cxx:2113
 TGraphPainter.cxx:2114
 TGraphPainter.cxx:2115
 TGraphPainter.cxx:2116
 TGraphPainter.cxx:2117
 TGraphPainter.cxx:2118
 TGraphPainter.cxx:2119
 TGraphPainter.cxx:2120
 TGraphPainter.cxx:2121
 TGraphPainter.cxx:2122
 TGraphPainter.cxx:2123
 TGraphPainter.cxx:2124
 TGraphPainter.cxx:2125
 TGraphPainter.cxx:2126
 TGraphPainter.cxx:2127
 TGraphPainter.cxx:2128
 TGraphPainter.cxx:2129
 TGraphPainter.cxx:2130
 TGraphPainter.cxx:2131
 TGraphPainter.cxx:2132
 TGraphPainter.cxx:2133
 TGraphPainter.cxx:2134
 TGraphPainter.cxx:2135
 TGraphPainter.cxx:2136
 TGraphPainter.cxx:2137
 TGraphPainter.cxx:2138
 TGraphPainter.cxx:2139
 TGraphPainter.cxx:2140
 TGraphPainter.cxx:2141
 TGraphPainter.cxx:2142
 TGraphPainter.cxx:2143
 TGraphPainter.cxx:2144
 TGraphPainter.cxx:2145
 TGraphPainter.cxx:2146
 TGraphPainter.cxx:2147
 TGraphPainter.cxx:2148
 TGraphPainter.cxx:2149
 TGraphPainter.cxx:2150
 TGraphPainter.cxx:2151
 TGraphPainter.cxx:2152
 TGraphPainter.cxx:2153
 TGraphPainter.cxx:2154
 TGraphPainter.cxx:2155
 TGraphPainter.cxx:2156
 TGraphPainter.cxx:2157
 TGraphPainter.cxx:2158
 TGraphPainter.cxx:2159
 TGraphPainter.cxx:2160
 TGraphPainter.cxx:2161
 TGraphPainter.cxx:2162
 TGraphPainter.cxx:2163
 TGraphPainter.cxx:2164
 TGraphPainter.cxx:2165
 TGraphPainter.cxx:2166
 TGraphPainter.cxx:2167
 TGraphPainter.cxx:2168
 TGraphPainter.cxx:2169
 TGraphPainter.cxx:2170
 TGraphPainter.cxx:2171
 TGraphPainter.cxx:2172
 TGraphPainter.cxx:2173
 TGraphPainter.cxx:2174
 TGraphPainter.cxx:2175
 TGraphPainter.cxx:2176
 TGraphPainter.cxx:2177
 TGraphPainter.cxx:2178
 TGraphPainter.cxx:2179
 TGraphPainter.cxx:2180
 TGraphPainter.cxx:2181
 TGraphPainter.cxx:2182
 TGraphPainter.cxx:2183
 TGraphPainter.cxx:2184
 TGraphPainter.cxx:2185
 TGraphPainter.cxx:2186
 TGraphPainter.cxx:2187
 TGraphPainter.cxx:2188
 TGraphPainter.cxx:2189
 TGraphPainter.cxx:2190
 TGraphPainter.cxx:2191
 TGraphPainter.cxx:2192
 TGraphPainter.cxx:2193
 TGraphPainter.cxx:2194
 TGraphPainter.cxx:2195
 TGraphPainter.cxx:2196
 TGraphPainter.cxx:2197
 TGraphPainter.cxx:2198
 TGraphPainter.cxx:2199
 TGraphPainter.cxx:2200
 TGraphPainter.cxx:2201
 TGraphPainter.cxx:2202
 TGraphPainter.cxx:2203
 TGraphPainter.cxx:2204
 TGraphPainter.cxx:2205
 TGraphPainter.cxx:2206
 TGraphPainter.cxx:2207
 TGraphPainter.cxx:2208
 TGraphPainter.cxx:2209
 TGraphPainter.cxx:2210
 TGraphPainter.cxx:2211
 TGraphPainter.cxx:2212
 TGraphPainter.cxx:2213
 TGraphPainter.cxx:2214
 TGraphPainter.cxx:2215
 TGraphPainter.cxx:2216
 TGraphPainter.cxx:2217
 TGraphPainter.cxx:2218
 TGraphPainter.cxx:2219
 TGraphPainter.cxx:2220
 TGraphPainter.cxx:2221
 TGraphPainter.cxx:2222
 TGraphPainter.cxx:2223
 TGraphPainter.cxx:2224
 TGraphPainter.cxx:2225
 TGraphPainter.cxx:2226
 TGraphPainter.cxx:2227
 TGraphPainter.cxx:2228
 TGraphPainter.cxx:2229
 TGraphPainter.cxx:2230
 TGraphPainter.cxx:2231
 TGraphPainter.cxx:2232
 TGraphPainter.cxx:2233
 TGraphPainter.cxx:2234
 TGraphPainter.cxx:2235
 TGraphPainter.cxx:2236
 TGraphPainter.cxx:2237
 TGraphPainter.cxx:2238
 TGraphPainter.cxx:2239
 TGraphPainter.cxx:2240
 TGraphPainter.cxx:2241
 TGraphPainter.cxx:2242
 TGraphPainter.cxx:2243
 TGraphPainter.cxx:2244
 TGraphPainter.cxx:2245
 TGraphPainter.cxx:2246
 TGraphPainter.cxx:2247
 TGraphPainter.cxx:2248
 TGraphPainter.cxx:2249
 TGraphPainter.cxx:2250
 TGraphPainter.cxx:2251
 TGraphPainter.cxx:2252
 TGraphPainter.cxx:2253
 TGraphPainter.cxx:2254
 TGraphPainter.cxx:2255
 TGraphPainter.cxx:2256
 TGraphPainter.cxx:2257
 TGraphPainter.cxx:2258
 TGraphPainter.cxx:2259
 TGraphPainter.cxx:2260
 TGraphPainter.cxx:2261
 TGraphPainter.cxx:2262
 TGraphPainter.cxx:2263
 TGraphPainter.cxx:2264
 TGraphPainter.cxx:2265
 TGraphPainter.cxx:2266
 TGraphPainter.cxx:2267
 TGraphPainter.cxx:2268
 TGraphPainter.cxx:2269
 TGraphPainter.cxx:2270
 TGraphPainter.cxx:2271
 TGraphPainter.cxx:2272
 TGraphPainter.cxx:2273
 TGraphPainter.cxx:2274
 TGraphPainter.cxx:2275
 TGraphPainter.cxx:2276
 TGraphPainter.cxx:2277
 TGraphPainter.cxx:2278
 TGraphPainter.cxx:2279
 TGraphPainter.cxx:2280
 TGraphPainter.cxx:2281
 TGraphPainter.cxx:2282
 TGraphPainter.cxx:2283
 TGraphPainter.cxx:2284
 TGraphPainter.cxx:2285
 TGraphPainter.cxx:2286
 TGraphPainter.cxx:2287
 TGraphPainter.cxx:2288
 TGraphPainter.cxx:2289
 TGraphPainter.cxx:2290
 TGraphPainter.cxx:2291
 TGraphPainter.cxx:2292
 TGraphPainter.cxx:2293
 TGraphPainter.cxx:2294
 TGraphPainter.cxx:2295
 TGraphPainter.cxx:2296
 TGraphPainter.cxx:2297
 TGraphPainter.cxx:2298
 TGraphPainter.cxx:2299
 TGraphPainter.cxx:2300
 TGraphPainter.cxx:2301
 TGraphPainter.cxx:2302
 TGraphPainter.cxx:2303
 TGraphPainter.cxx:2304
 TGraphPainter.cxx:2305
 TGraphPainter.cxx:2306
 TGraphPainter.cxx:2307
 TGraphPainter.cxx:2308
 TGraphPainter.cxx:2309
 TGraphPainter.cxx:2310
 TGraphPainter.cxx:2311
 TGraphPainter.cxx:2312
 TGraphPainter.cxx:2313
 TGraphPainter.cxx:2314
 TGraphPainter.cxx:2315
 TGraphPainter.cxx:2316
 TGraphPainter.cxx:2317
 TGraphPainter.cxx:2318
 TGraphPainter.cxx:2319
 TGraphPainter.cxx:2320
 TGraphPainter.cxx:2321
 TGraphPainter.cxx:2322
 TGraphPainter.cxx:2323
 TGraphPainter.cxx:2324
 TGraphPainter.cxx:2325
 TGraphPainter.cxx:2326
 TGraphPainter.cxx:2327
 TGraphPainter.cxx:2328
 TGraphPainter.cxx:2329
 TGraphPainter.cxx:2330
 TGraphPainter.cxx:2331
 TGraphPainter.cxx:2332
 TGraphPainter.cxx:2333
 TGraphPainter.cxx:2334
 TGraphPainter.cxx:2335
 TGraphPainter.cxx:2336
 TGraphPainter.cxx:2337
 TGraphPainter.cxx:2338
 TGraphPainter.cxx:2339
 TGraphPainter.cxx:2340
 TGraphPainter.cxx:2341
 TGraphPainter.cxx:2342
 TGraphPainter.cxx:2343
 TGraphPainter.cxx:2344
 TGraphPainter.cxx:2345
 TGraphPainter.cxx:2346
 TGraphPainter.cxx:2347
 TGraphPainter.cxx:2348
 TGraphPainter.cxx:2349
 TGraphPainter.cxx:2350
 TGraphPainter.cxx:2351
 TGraphPainter.cxx:2352
 TGraphPainter.cxx:2353
 TGraphPainter.cxx:2354
 TGraphPainter.cxx:2355
 TGraphPainter.cxx:2356
 TGraphPainter.cxx:2357
 TGraphPainter.cxx:2358
 TGraphPainter.cxx:2359
 TGraphPainter.cxx:2360
 TGraphPainter.cxx:2361
 TGraphPainter.cxx:2362
 TGraphPainter.cxx:2363
 TGraphPainter.cxx:2364
 TGraphPainter.cxx:2365
 TGraphPainter.cxx:2366
 TGraphPainter.cxx:2367
 TGraphPainter.cxx:2368
 TGraphPainter.cxx:2369
 TGraphPainter.cxx:2370
 TGraphPainter.cxx:2371
 TGraphPainter.cxx:2372
 TGraphPainter.cxx:2373
 TGraphPainter.cxx:2374
 TGraphPainter.cxx:2375
 TGraphPainter.cxx:2376
 TGraphPainter.cxx:2377
 TGraphPainter.cxx:2378
 TGraphPainter.cxx:2379
 TGraphPainter.cxx:2380
 TGraphPainter.cxx:2381
 TGraphPainter.cxx:2382
 TGraphPainter.cxx:2383
 TGraphPainter.cxx:2384
 TGraphPainter.cxx:2385
 TGraphPainter.cxx:2386
 TGraphPainter.cxx:2387
 TGraphPainter.cxx:2388
 TGraphPainter.cxx:2389
 TGraphPainter.cxx:2390
 TGraphPainter.cxx:2391
 TGraphPainter.cxx:2392
 TGraphPainter.cxx:2393
 TGraphPainter.cxx:2394
 TGraphPainter.cxx:2395
 TGraphPainter.cxx:2396
 TGraphPainter.cxx:2397
 TGraphPainter.cxx:2398
 TGraphPainter.cxx:2399
 TGraphPainter.cxx:2400
 TGraphPainter.cxx:2401
 TGraphPainter.cxx:2402
 TGraphPainter.cxx:2403
 TGraphPainter.cxx:2404
 TGraphPainter.cxx:2405
 TGraphPainter.cxx:2406
 TGraphPainter.cxx:2407
 TGraphPainter.cxx:2408
 TGraphPainter.cxx:2409
 TGraphPainter.cxx:2410
 TGraphPainter.cxx:2411
 TGraphPainter.cxx:2412
 TGraphPainter.cxx:2413
 TGraphPainter.cxx:2414
 TGraphPainter.cxx:2415
 TGraphPainter.cxx:2416
 TGraphPainter.cxx:2417
 TGraphPainter.cxx:2418
 TGraphPainter.cxx:2419
 TGraphPainter.cxx:2420
 TGraphPainter.cxx:2421
 TGraphPainter.cxx:2422
 TGraphPainter.cxx:2423
 TGraphPainter.cxx:2424
 TGraphPainter.cxx:2425
 TGraphPainter.cxx:2426
 TGraphPainter.cxx:2427
 TGraphPainter.cxx:2428
 TGraphPainter.cxx:2429
 TGraphPainter.cxx:2430
 TGraphPainter.cxx:2431
 TGraphPainter.cxx:2432
 TGraphPainter.cxx:2433
 TGraphPainter.cxx:2434
 TGraphPainter.cxx:2435
 TGraphPainter.cxx:2436
 TGraphPainter.cxx:2437
 TGraphPainter.cxx:2438
 TGraphPainter.cxx:2439
 TGraphPainter.cxx:2440
 TGraphPainter.cxx:2441
 TGraphPainter.cxx:2442
 TGraphPainter.cxx:2443
 TGraphPainter.cxx:2444
 TGraphPainter.cxx:2445
 TGraphPainter.cxx:2446
 TGraphPainter.cxx:2447
 TGraphPainter.cxx:2448
 TGraphPainter.cxx:2449
 TGraphPainter.cxx:2450
 TGraphPainter.cxx:2451
 TGraphPainter.cxx:2452
 TGraphPainter.cxx:2453
 TGraphPainter.cxx:2454
 TGraphPainter.cxx:2455
 TGraphPainter.cxx:2456
 TGraphPainter.cxx:2457
 TGraphPainter.cxx:2458
 TGraphPainter.cxx:2459
 TGraphPainter.cxx:2460
 TGraphPainter.cxx:2461
 TGraphPainter.cxx:2462
 TGraphPainter.cxx:2463
 TGraphPainter.cxx:2464
 TGraphPainter.cxx:2465
 TGraphPainter.cxx:2466
 TGraphPainter.cxx:2467
 TGraphPainter.cxx:2468
 TGraphPainter.cxx:2469
 TGraphPainter.cxx:2470
 TGraphPainter.cxx:2471
 TGraphPainter.cxx:2472
 TGraphPainter.cxx:2473
 TGraphPainter.cxx:2474
 TGraphPainter.cxx:2475
 TGraphPainter.cxx:2476
 TGraphPainter.cxx:2477
 TGraphPainter.cxx:2478
 TGraphPainter.cxx:2479
 TGraphPainter.cxx:2480
 TGraphPainter.cxx:2481
 TGraphPainter.cxx:2482
 TGraphPainter.cxx:2483
 TGraphPainter.cxx:2484
 TGraphPainter.cxx:2485
 TGraphPainter.cxx:2486
 TGraphPainter.cxx:2487
 TGraphPainter.cxx:2488
 TGraphPainter.cxx:2489
 TGraphPainter.cxx:2490
 TGraphPainter.cxx:2491
 TGraphPainter.cxx:2492
 TGraphPainter.cxx:2493
 TGraphPainter.cxx:2494
 TGraphPainter.cxx:2495
 TGraphPainter.cxx:2496
 TGraphPainter.cxx:2497
 TGraphPainter.cxx:2498
 TGraphPainter.cxx:2499
 TGraphPainter.cxx:2500
 TGraphPainter.cxx:2501
 TGraphPainter.cxx:2502
 TGraphPainter.cxx:2503
 TGraphPainter.cxx:2504
 TGraphPainter.cxx:2505
 TGraphPainter.cxx:2506
 TGraphPainter.cxx:2507
 TGraphPainter.cxx:2508
 TGraphPainter.cxx:2509
 TGraphPainter.cxx:2510
 TGraphPainter.cxx:2511
 TGraphPainter.cxx:2512
 TGraphPainter.cxx:2513
 TGraphPainter.cxx:2514
 TGraphPainter.cxx:2515
 TGraphPainter.cxx:2516
 TGraphPainter.cxx:2517
 TGraphPainter.cxx:2518
 TGraphPainter.cxx:2519
 TGraphPainter.cxx:2520
 TGraphPainter.cxx:2521
 TGraphPainter.cxx:2522
 TGraphPainter.cxx:2523
 TGraphPainter.cxx:2524
 TGraphPainter.cxx:2525
 TGraphPainter.cxx:2526
 TGraphPainter.cxx:2527
 TGraphPainter.cxx:2528
 TGraphPainter.cxx:2529
 TGraphPainter.cxx:2530
 TGraphPainter.cxx:2531
 TGraphPainter.cxx:2532
 TGraphPainter.cxx:2533
 TGraphPainter.cxx:2534
 TGraphPainter.cxx:2535
 TGraphPainter.cxx:2536
 TGraphPainter.cxx:2537
 TGraphPainter.cxx:2538
 TGraphPainter.cxx:2539
 TGraphPainter.cxx:2540
 TGraphPainter.cxx:2541
 TGraphPainter.cxx:2542
 TGraphPainter.cxx:2543
 TGraphPainter.cxx:2544
 TGraphPainter.cxx:2545
 TGraphPainter.cxx:2546
 TGraphPainter.cxx:2547
 TGraphPainter.cxx:2548
 TGraphPainter.cxx:2549
 TGraphPainter.cxx:2550
 TGraphPainter.cxx:2551
 TGraphPainter.cxx:2552
 TGraphPainter.cxx:2553
 TGraphPainter.cxx:2554
 TGraphPainter.cxx:2555
 TGraphPainter.cxx:2556
 TGraphPainter.cxx:2557
 TGraphPainter.cxx:2558
 TGraphPainter.cxx:2559
 TGraphPainter.cxx:2560
 TGraphPainter.cxx:2561
 TGraphPainter.cxx:2562
 TGraphPainter.cxx:2563
 TGraphPainter.cxx:2564
 TGraphPainter.cxx:2565
 TGraphPainter.cxx:2566
 TGraphPainter.cxx:2567
 TGraphPainter.cxx:2568
 TGraphPainter.cxx:2569
 TGraphPainter.cxx:2570
 TGraphPainter.cxx:2571
 TGraphPainter.cxx:2572
 TGraphPainter.cxx:2573
 TGraphPainter.cxx:2574
 TGraphPainter.cxx:2575
 TGraphPainter.cxx:2576
 TGraphPainter.cxx:2577
 TGraphPainter.cxx:2578
 TGraphPainter.cxx:2579
 TGraphPainter.cxx:2580
 TGraphPainter.cxx:2581
 TGraphPainter.cxx:2582
 TGraphPainter.cxx:2583
 TGraphPainter.cxx:2584
 TGraphPainter.cxx:2585
 TGraphPainter.cxx:2586
 TGraphPainter.cxx:2587
 TGraphPainter.cxx:2588
 TGraphPainter.cxx:2589
 TGraphPainter.cxx:2590
 TGraphPainter.cxx:2591
 TGraphPainter.cxx:2592
 TGraphPainter.cxx:2593
 TGraphPainter.cxx:2594
 TGraphPainter.cxx:2595
 TGraphPainter.cxx:2596
 TGraphPainter.cxx:2597
 TGraphPainter.cxx:2598
 TGraphPainter.cxx:2599
 TGraphPainter.cxx:2600
 TGraphPainter.cxx:2601
 TGraphPainter.cxx:2602
 TGraphPainter.cxx:2603
 TGraphPainter.cxx:2604
 TGraphPainter.cxx:2605
 TGraphPainter.cxx:2606
 TGraphPainter.cxx:2607
 TGraphPainter.cxx:2608
 TGraphPainter.cxx:2609
 TGraphPainter.cxx:2610
 TGraphPainter.cxx:2611
 TGraphPainter.cxx:2612
 TGraphPainter.cxx:2613
 TGraphPainter.cxx:2614
 TGraphPainter.cxx:2615
 TGraphPainter.cxx:2616
 TGraphPainter.cxx:2617
 TGraphPainter.cxx:2618
 TGraphPainter.cxx:2619
 TGraphPainter.cxx:2620
 TGraphPainter.cxx:2621
 TGraphPainter.cxx:2622
 TGraphPainter.cxx:2623
 TGraphPainter.cxx:2624
 TGraphPainter.cxx:2625
 TGraphPainter.cxx:2626
 TGraphPainter.cxx:2627
 TGraphPainter.cxx:2628
 TGraphPainter.cxx:2629
 TGraphPainter.cxx:2630
 TGraphPainter.cxx:2631
 TGraphPainter.cxx:2632
 TGraphPainter.cxx:2633
 TGraphPainter.cxx:2634
 TGraphPainter.cxx:2635
 TGraphPainter.cxx:2636
 TGraphPainter.cxx:2637
 TGraphPainter.cxx:2638
 TGraphPainter.cxx:2639
 TGraphPainter.cxx:2640
 TGraphPainter.cxx:2641
 TGraphPainter.cxx:2642
 TGraphPainter.cxx:2643
 TGraphPainter.cxx:2644
 TGraphPainter.cxx:2645
 TGraphPainter.cxx:2646
 TGraphPainter.cxx:2647
 TGraphPainter.cxx:2648
 TGraphPainter.cxx:2649
 TGraphPainter.cxx:2650
 TGraphPainter.cxx:2651
 TGraphPainter.cxx:2652
 TGraphPainter.cxx:2653
 TGraphPainter.cxx:2654
 TGraphPainter.cxx:2655
 TGraphPainter.cxx:2656
 TGraphPainter.cxx:2657
 TGraphPainter.cxx:2658
 TGraphPainter.cxx:2659
 TGraphPainter.cxx:2660
 TGraphPainter.cxx:2661
 TGraphPainter.cxx:2662
 TGraphPainter.cxx:2663
 TGraphPainter.cxx:2664
 TGraphPainter.cxx:2665
 TGraphPainter.cxx:2666
 TGraphPainter.cxx:2667
 TGraphPainter.cxx:2668
 TGraphPainter.cxx:2669
 TGraphPainter.cxx:2670
 TGraphPainter.cxx:2671
 TGraphPainter.cxx:2672
 TGraphPainter.cxx:2673
 TGraphPainter.cxx:2674
 TGraphPainter.cxx:2675
 TGraphPainter.cxx:2676
 TGraphPainter.cxx:2677
 TGraphPainter.cxx:2678
 TGraphPainter.cxx:2679
 TGraphPainter.cxx:2680
 TGraphPainter.cxx:2681
 TGraphPainter.cxx:2682
 TGraphPainter.cxx:2683
 TGraphPainter.cxx:2684
 TGraphPainter.cxx:2685
 TGraphPainter.cxx:2686
 TGraphPainter.cxx:2687
 TGraphPainter.cxx:2688
 TGraphPainter.cxx:2689
 TGraphPainter.cxx:2690
 TGraphPainter.cxx:2691
 TGraphPainter.cxx:2692
 TGraphPainter.cxx:2693
 TGraphPainter.cxx:2694
 TGraphPainter.cxx:2695
 TGraphPainter.cxx:2696
 TGraphPainter.cxx:2697
 TGraphPainter.cxx:2698
 TGraphPainter.cxx:2699
 TGraphPainter.cxx:2700
 TGraphPainter.cxx:2701
 TGraphPainter.cxx:2702
 TGraphPainter.cxx:2703
 TGraphPainter.cxx:2704
 TGraphPainter.cxx:2705
 TGraphPainter.cxx:2706
 TGraphPainter.cxx:2707
 TGraphPainter.cxx:2708
 TGraphPainter.cxx:2709
 TGraphPainter.cxx:2710
 TGraphPainter.cxx:2711
 TGraphPainter.cxx:2712
 TGraphPainter.cxx:2713
 TGraphPainter.cxx:2714
 TGraphPainter.cxx:2715
 TGraphPainter.cxx:2716
 TGraphPainter.cxx:2717
 TGraphPainter.cxx:2718
 TGraphPainter.cxx:2719
 TGraphPainter.cxx:2720
 TGraphPainter.cxx:2721
 TGraphPainter.cxx:2722
 TGraphPainter.cxx:2723
 TGraphPainter.cxx:2724
 TGraphPainter.cxx:2725
 TGraphPainter.cxx:2726
 TGraphPainter.cxx:2727
 TGraphPainter.cxx:2728
 TGraphPainter.cxx:2729
 TGraphPainter.cxx:2730
 TGraphPainter.cxx:2731
 TGraphPainter.cxx:2732
 TGraphPainter.cxx:2733
 TGraphPainter.cxx:2734
 TGraphPainter.cxx:2735
 TGraphPainter.cxx:2736
 TGraphPainter.cxx:2737
 TGraphPainter.cxx:2738
 TGraphPainter.cxx:2739
 TGraphPainter.cxx:2740
 TGraphPainter.cxx:2741
 TGraphPainter.cxx:2742
 TGraphPainter.cxx:2743
 TGraphPainter.cxx:2744
 TGraphPainter.cxx:2745
 TGraphPainter.cxx:2746
 TGraphPainter.cxx:2747
 TGraphPainter.cxx:2748
 TGraphPainter.cxx:2749
 TGraphPainter.cxx:2750
 TGraphPainter.cxx:2751
 TGraphPainter.cxx:2752
 TGraphPainter.cxx:2753
 TGraphPainter.cxx:2754
 TGraphPainter.cxx:2755
 TGraphPainter.cxx:2756
 TGraphPainter.cxx:2757
 TGraphPainter.cxx:2758
 TGraphPainter.cxx:2759
 TGraphPainter.cxx:2760
 TGraphPainter.cxx:2761
 TGraphPainter.cxx:2762
 TGraphPainter.cxx:2763
 TGraphPainter.cxx:2764
 TGraphPainter.cxx:2765
 TGraphPainter.cxx:2766
 TGraphPainter.cxx:2767
 TGraphPainter.cxx:2768
 TGraphPainter.cxx:2769
 TGraphPainter.cxx:2770
 TGraphPainter.cxx:2771
 TGraphPainter.cxx:2772
 TGraphPainter.cxx:2773
 TGraphPainter.cxx:2774
 TGraphPainter.cxx:2775
 TGraphPainter.cxx:2776
 TGraphPainter.cxx:2777
 TGraphPainter.cxx:2778
 TGraphPainter.cxx:2779
 TGraphPainter.cxx:2780
 TGraphPainter.cxx:2781
 TGraphPainter.cxx:2782
 TGraphPainter.cxx:2783
 TGraphPainter.cxx:2784
 TGraphPainter.cxx:2785
 TGraphPainter.cxx:2786
 TGraphPainter.cxx:2787
 TGraphPainter.cxx:2788
 TGraphPainter.cxx:2789
 TGraphPainter.cxx:2790
 TGraphPainter.cxx:2791
 TGraphPainter.cxx:2792
 TGraphPainter.cxx:2793
 TGraphPainter.cxx:2794
 TGraphPainter.cxx:2795
 TGraphPainter.cxx:2796
 TGraphPainter.cxx:2797
 TGraphPainter.cxx:2798
 TGraphPainter.cxx:2799
 TGraphPainter.cxx:2800
 TGraphPainter.cxx:2801
 TGraphPainter.cxx:2802
 TGraphPainter.cxx:2803
 TGraphPainter.cxx:2804
 TGraphPainter.cxx:2805
 TGraphPainter.cxx:2806
 TGraphPainter.cxx:2807
 TGraphPainter.cxx:2808
 TGraphPainter.cxx:2809
 TGraphPainter.cxx:2810
 TGraphPainter.cxx:2811
 TGraphPainter.cxx:2812
 TGraphPainter.cxx:2813
 TGraphPainter.cxx:2814
 TGraphPainter.cxx:2815
 TGraphPainter.cxx:2816
 TGraphPainter.cxx:2817
 TGraphPainter.cxx:2818
 TGraphPainter.cxx:2819
 TGraphPainter.cxx:2820
 TGraphPainter.cxx:2821
 TGraphPainter.cxx:2822
 TGraphPainter.cxx:2823
 TGraphPainter.cxx:2824
 TGraphPainter.cxx:2825
 TGraphPainter.cxx:2826
 TGraphPainter.cxx:2827
 TGraphPainter.cxx:2828
 TGraphPainter.cxx:2829
 TGraphPainter.cxx:2830
 TGraphPainter.cxx:2831
 TGraphPainter.cxx:2832
 TGraphPainter.cxx:2833
 TGraphPainter.cxx:2834
 TGraphPainter.cxx:2835
 TGraphPainter.cxx:2836
 TGraphPainter.cxx:2837
 TGraphPainter.cxx:2838
 TGraphPainter.cxx:2839
 TGraphPainter.cxx:2840
 TGraphPainter.cxx:2841
 TGraphPainter.cxx:2842
 TGraphPainter.cxx:2843
 TGraphPainter.cxx:2844
 TGraphPainter.cxx:2845
 TGraphPainter.cxx:2846
 TGraphPainter.cxx:2847
 TGraphPainter.cxx:2848
 TGraphPainter.cxx:2849
 TGraphPainter.cxx:2850
 TGraphPainter.cxx:2851
 TGraphPainter.cxx:2852
 TGraphPainter.cxx:2853
 TGraphPainter.cxx:2854
 TGraphPainter.cxx:2855
 TGraphPainter.cxx:2856
 TGraphPainter.cxx:2857
 TGraphPainter.cxx:2858
 TGraphPainter.cxx:2859
 TGraphPainter.cxx:2860
 TGraphPainter.cxx:2861
 TGraphPainter.cxx:2862
 TGraphPainter.cxx:2863
 TGraphPainter.cxx:2864
 TGraphPainter.cxx:2865
 TGraphPainter.cxx:2866
 TGraphPainter.cxx:2867
 TGraphPainter.cxx:2868
 TGraphPainter.cxx:2869
 TGraphPainter.cxx:2870
 TGraphPainter.cxx:2871
 TGraphPainter.cxx:2872
 TGraphPainter.cxx:2873
 TGraphPainter.cxx:2874
 TGraphPainter.cxx:2875
 TGraphPainter.cxx:2876
 TGraphPainter.cxx:2877
 TGraphPainter.cxx:2878
 TGraphPainter.cxx:2879
 TGraphPainter.cxx:2880
 TGraphPainter.cxx:2881
 TGraphPainter.cxx:2882
 TGraphPainter.cxx:2883
 TGraphPainter.cxx:2884
 TGraphPainter.cxx:2885
 TGraphPainter.cxx:2886
 TGraphPainter.cxx:2887
 TGraphPainter.cxx:2888
 TGraphPainter.cxx:2889
 TGraphPainter.cxx:2890
 TGraphPainter.cxx:2891
 TGraphPainter.cxx:2892
 TGraphPainter.cxx:2893
 TGraphPainter.cxx:2894
 TGraphPainter.cxx:2895
 TGraphPainter.cxx:2896
 TGraphPainter.cxx:2897
 TGraphPainter.cxx:2898
 TGraphPainter.cxx:2899
 TGraphPainter.cxx:2900
 TGraphPainter.cxx:2901
 TGraphPainter.cxx:2902
 TGraphPainter.cxx:2903
 TGraphPainter.cxx:2904
 TGraphPainter.cxx:2905
 TGraphPainter.cxx:2906
 TGraphPainter.cxx:2907
 TGraphPainter.cxx:2908
 TGraphPainter.cxx:2909
 TGraphPainter.cxx:2910
 TGraphPainter.cxx:2911
 TGraphPainter.cxx:2912
 TGraphPainter.cxx:2913
 TGraphPainter.cxx:2914
 TGraphPainter.cxx:2915
 TGraphPainter.cxx:2916
 TGraphPainter.cxx:2917
 TGraphPainter.cxx:2918
 TGraphPainter.cxx:2919
 TGraphPainter.cxx:2920
 TGraphPainter.cxx:2921
 TGraphPainter.cxx:2922
 TGraphPainter.cxx:2923
 TGraphPainter.cxx:2924
 TGraphPainter.cxx:2925
 TGraphPainter.cxx:2926
 TGraphPainter.cxx:2927
 TGraphPainter.cxx:2928
 TGraphPainter.cxx:2929
 TGraphPainter.cxx:2930
 TGraphPainter.cxx:2931
 TGraphPainter.cxx:2932
 TGraphPainter.cxx:2933
 TGraphPainter.cxx:2934
 TGraphPainter.cxx:2935
 TGraphPainter.cxx:2936
 TGraphPainter.cxx:2937
 TGraphPainter.cxx:2938
 TGraphPainter.cxx:2939
 TGraphPainter.cxx:2940
 TGraphPainter.cxx:2941
 TGraphPainter.cxx:2942
 TGraphPainter.cxx:2943
 TGraphPainter.cxx:2944
 TGraphPainter.cxx:2945
 TGraphPainter.cxx:2946
 TGraphPainter.cxx:2947
 TGraphPainter.cxx:2948
 TGraphPainter.cxx:2949
 TGraphPainter.cxx:2950
 TGraphPainter.cxx:2951
 TGraphPainter.cxx:2952
 TGraphPainter.cxx:2953
 TGraphPainter.cxx:2954
 TGraphPainter.cxx:2955
 TGraphPainter.cxx:2956
 TGraphPainter.cxx:2957
 TGraphPainter.cxx:2958
 TGraphPainter.cxx:2959
 TGraphPainter.cxx:2960
 TGraphPainter.cxx:2961
 TGraphPainter.cxx:2962
 TGraphPainter.cxx:2963
 TGraphPainter.cxx:2964
 TGraphPainter.cxx:2965
 TGraphPainter.cxx:2966
 TGraphPainter.cxx:2967
 TGraphPainter.cxx:2968
 TGraphPainter.cxx:2969
 TGraphPainter.cxx:2970
 TGraphPainter.cxx:2971
 TGraphPainter.cxx:2972
 TGraphPainter.cxx:2973
 TGraphPainter.cxx:2974
 TGraphPainter.cxx:2975
 TGraphPainter.cxx:2976
 TGraphPainter.cxx:2977
 TGraphPainter.cxx:2978
 TGraphPainter.cxx:2979
 TGraphPainter.cxx:2980
 TGraphPainter.cxx:2981
 TGraphPainter.cxx:2982
 TGraphPainter.cxx:2983
 TGraphPainter.cxx:2984
 TGraphPainter.cxx:2985
 TGraphPainter.cxx:2986
 TGraphPainter.cxx:2987
 TGraphPainter.cxx:2988
 TGraphPainter.cxx:2989
 TGraphPainter.cxx:2990
 TGraphPainter.cxx:2991
 TGraphPainter.cxx:2992
 TGraphPainter.cxx:2993
 TGraphPainter.cxx:2994
 TGraphPainter.cxx:2995
 TGraphPainter.cxx:2996
 TGraphPainter.cxx:2997
 TGraphPainter.cxx:2998
 TGraphPainter.cxx:2999
 TGraphPainter.cxx:3000
 TGraphPainter.cxx:3001
 TGraphPainter.cxx:3002
 TGraphPainter.cxx:3003
 TGraphPainter.cxx:3004
 TGraphPainter.cxx:3005
 TGraphPainter.cxx:3006
 TGraphPainter.cxx:3007
 TGraphPainter.cxx:3008
 TGraphPainter.cxx:3009
 TGraphPainter.cxx:3010
 TGraphPainter.cxx:3011
 TGraphPainter.cxx:3012
 TGraphPainter.cxx:3013
 TGraphPainter.cxx:3014
 TGraphPainter.cxx:3015
 TGraphPainter.cxx:3016
 TGraphPainter.cxx:3017
 TGraphPainter.cxx:3018
 TGraphPainter.cxx:3019
 TGraphPainter.cxx:3020
 TGraphPainter.cxx:3021
 TGraphPainter.cxx:3022
 TGraphPainter.cxx:3023
 TGraphPainter.cxx:3024
 TGraphPainter.cxx:3025
 TGraphPainter.cxx:3026
 TGraphPainter.cxx:3027
 TGraphPainter.cxx:3028
 TGraphPainter.cxx:3029
 TGraphPainter.cxx:3030
 TGraphPainter.cxx:3031
 TGraphPainter.cxx:3032
 TGraphPainter.cxx:3033
 TGraphPainter.cxx:3034
 TGraphPainter.cxx:3035
 TGraphPainter.cxx:3036
 TGraphPainter.cxx:3037
 TGraphPainter.cxx:3038
 TGraphPainter.cxx:3039
 TGraphPainter.cxx:3040
 TGraphPainter.cxx:3041
 TGraphPainter.cxx:3042
 TGraphPainter.cxx:3043
 TGraphPainter.cxx:3044
 TGraphPainter.cxx:3045
 TGraphPainter.cxx:3046
 TGraphPainter.cxx:3047
 TGraphPainter.cxx:3048
 TGraphPainter.cxx:3049
 TGraphPainter.cxx:3050
 TGraphPainter.cxx:3051
 TGraphPainter.cxx:3052
 TGraphPainter.cxx:3053
 TGraphPainter.cxx:3054
 TGraphPainter.cxx:3055
 TGraphPainter.cxx:3056
 TGraphPainter.cxx:3057
 TGraphPainter.cxx:3058
 TGraphPainter.cxx:3059
 TGraphPainter.cxx:3060
 TGraphPainter.cxx:3061
 TGraphPainter.cxx:3062
 TGraphPainter.cxx:3063
 TGraphPainter.cxx:3064
 TGraphPainter.cxx:3065
 TGraphPainter.cxx:3066
 TGraphPainter.cxx:3067
 TGraphPainter.cxx:3068
 TGraphPainter.cxx:3069
 TGraphPainter.cxx:3070
 TGraphPainter.cxx:3071
 TGraphPainter.cxx:3072
 TGraphPainter.cxx:3073
 TGraphPainter.cxx:3074
 TGraphPainter.cxx:3075
 TGraphPainter.cxx:3076
 TGraphPainter.cxx:3077
 TGraphPainter.cxx:3078
 TGraphPainter.cxx:3079
 TGraphPainter.cxx:3080
 TGraphPainter.cxx:3081
 TGraphPainter.cxx:3082
 TGraphPainter.cxx:3083
 TGraphPainter.cxx:3084
 TGraphPainter.cxx:3085
 TGraphPainter.cxx:3086
 TGraphPainter.cxx:3087
 TGraphPainter.cxx:3088
 TGraphPainter.cxx:3089
 TGraphPainter.cxx:3090
 TGraphPainter.cxx:3091
 TGraphPainter.cxx:3092
 TGraphPainter.cxx:3093
 TGraphPainter.cxx:3094
 TGraphPainter.cxx:3095
 TGraphPainter.cxx:3096
 TGraphPainter.cxx:3097
 TGraphPainter.cxx:3098
 TGraphPainter.cxx:3099
 TGraphPainter.cxx:3100
 TGraphPainter.cxx:3101
 TGraphPainter.cxx:3102
 TGraphPainter.cxx:3103
 TGraphPainter.cxx:3104
 TGraphPainter.cxx:3105
 TGraphPainter.cxx:3106
 TGraphPainter.cxx:3107
 TGraphPainter.cxx:3108
 TGraphPainter.cxx:3109
 TGraphPainter.cxx:3110
 TGraphPainter.cxx:3111
 TGraphPainter.cxx:3112
 TGraphPainter.cxx:3113
 TGraphPainter.cxx:3114
 TGraphPainter.cxx:3115
 TGraphPainter.cxx:3116
 TGraphPainter.cxx:3117
 TGraphPainter.cxx:3118
 TGraphPainter.cxx:3119
 TGraphPainter.cxx:3120
 TGraphPainter.cxx:3121
 TGraphPainter.cxx:3122
 TGraphPainter.cxx:3123
 TGraphPainter.cxx:3124
 TGraphPainter.cxx:3125
 TGraphPainter.cxx:3126
 TGraphPainter.cxx:3127
 TGraphPainter.cxx:3128
 TGraphPainter.cxx:3129
 TGraphPainter.cxx:3130
 TGraphPainter.cxx:3131
 TGraphPainter.cxx:3132
 TGraphPainter.cxx:3133
 TGraphPainter.cxx:3134
 TGraphPainter.cxx:3135
 TGraphPainter.cxx:3136
 TGraphPainter.cxx:3137
 TGraphPainter.cxx:3138
 TGraphPainter.cxx:3139
 TGraphPainter.cxx:3140
 TGraphPainter.cxx:3141
 TGraphPainter.cxx:3142
 TGraphPainter.cxx:3143
 TGraphPainter.cxx:3144
 TGraphPainter.cxx:3145
 TGraphPainter.cxx:3146
 TGraphPainter.cxx:3147
 TGraphPainter.cxx:3148
 TGraphPainter.cxx:3149
 TGraphPainter.cxx:3150
 TGraphPainter.cxx:3151
 TGraphPainter.cxx:3152
 TGraphPainter.cxx:3153
 TGraphPainter.cxx:3154
 TGraphPainter.cxx:3155
 TGraphPainter.cxx:3156
 TGraphPainter.cxx:3157
 TGraphPainter.cxx:3158
 TGraphPainter.cxx:3159
 TGraphPainter.cxx:3160
 TGraphPainter.cxx:3161
 TGraphPainter.cxx:3162
 TGraphPainter.cxx:3163
 TGraphPainter.cxx:3164
 TGraphPainter.cxx:3165
 TGraphPainter.cxx:3166
 TGraphPainter.cxx:3167
 TGraphPainter.cxx:3168
 TGraphPainter.cxx:3169
 TGraphPainter.cxx:3170
 TGraphPainter.cxx:3171
 TGraphPainter.cxx:3172
 TGraphPainter.cxx:3173
 TGraphPainter.cxx:3174
 TGraphPainter.cxx:3175
 TGraphPainter.cxx:3176
 TGraphPainter.cxx:3177
 TGraphPainter.cxx:3178
 TGraphPainter.cxx:3179
 TGraphPainter.cxx:3180
 TGraphPainter.cxx:3181
 TGraphPainter.cxx:3182
 TGraphPainter.cxx:3183
 TGraphPainter.cxx:3184
 TGraphPainter.cxx:3185
 TGraphPainter.cxx:3186
 TGraphPainter.cxx:3187
 TGraphPainter.cxx:3188
 TGraphPainter.cxx:3189
 TGraphPainter.cxx:3190
 TGraphPainter.cxx:3191
 TGraphPainter.cxx:3192
 TGraphPainter.cxx:3193
 TGraphPainter.cxx:3194
 TGraphPainter.cxx:3195
 TGraphPainter.cxx:3196
 TGraphPainter.cxx:3197
 TGraphPainter.cxx:3198
 TGraphPainter.cxx:3199
 TGraphPainter.cxx:3200
 TGraphPainter.cxx:3201
 TGraphPainter.cxx:3202
 TGraphPainter.cxx:3203
 TGraphPainter.cxx:3204
 TGraphPainter.cxx:3205
 TGraphPainter.cxx:3206
 TGraphPainter.cxx:3207
 TGraphPainter.cxx:3208
 TGraphPainter.cxx:3209
 TGraphPainter.cxx:3210
 TGraphPainter.cxx:3211
 TGraphPainter.cxx:3212
 TGraphPainter.cxx:3213
 TGraphPainter.cxx:3214
 TGraphPainter.cxx:3215
 TGraphPainter.cxx:3216
 TGraphPainter.cxx:3217
 TGraphPainter.cxx:3218
 TGraphPainter.cxx:3219
 TGraphPainter.cxx:3220
 TGraphPainter.cxx:3221
 TGraphPainter.cxx:3222
 TGraphPainter.cxx:3223
 TGraphPainter.cxx:3224
 TGraphPainter.cxx:3225
 TGraphPainter.cxx:3226
 TGraphPainter.cxx:3227
 TGraphPainter.cxx:3228
 TGraphPainter.cxx:3229
 TGraphPainter.cxx:3230
 TGraphPainter.cxx:3231
 TGraphPainter.cxx:3232
 TGraphPainter.cxx:3233
 TGraphPainter.cxx:3234
 TGraphPainter.cxx:3235
 TGraphPainter.cxx:3236
 TGraphPainter.cxx:3237
 TGraphPainter.cxx:3238
 TGraphPainter.cxx:3239
 TGraphPainter.cxx:3240
 TGraphPainter.cxx:3241
 TGraphPainter.cxx:3242
 TGraphPainter.cxx:3243
 TGraphPainter.cxx:3244
 TGraphPainter.cxx:3245
 TGraphPainter.cxx:3246
 TGraphPainter.cxx:3247
 TGraphPainter.cxx:3248
 TGraphPainter.cxx:3249
 TGraphPainter.cxx:3250
 TGraphPainter.cxx:3251
 TGraphPainter.cxx:3252
 TGraphPainter.cxx:3253
 TGraphPainter.cxx:3254
 TGraphPainter.cxx:3255
 TGraphPainter.cxx:3256
 TGraphPainter.cxx:3257
 TGraphPainter.cxx:3258
 TGraphPainter.cxx:3259
 TGraphPainter.cxx:3260
 TGraphPainter.cxx:3261
 TGraphPainter.cxx:3262
 TGraphPainter.cxx:3263
 TGraphPainter.cxx:3264
 TGraphPainter.cxx:3265
 TGraphPainter.cxx:3266
 TGraphPainter.cxx:3267
 TGraphPainter.cxx:3268
 TGraphPainter.cxx:3269
 TGraphPainter.cxx:3270
 TGraphPainter.cxx:3271
 TGraphPainter.cxx:3272
 TGraphPainter.cxx:3273
 TGraphPainter.cxx:3274
 TGraphPainter.cxx:3275
 TGraphPainter.cxx:3276
 TGraphPainter.cxx:3277
 TGraphPainter.cxx:3278
 TGraphPainter.cxx:3279
 TGraphPainter.cxx:3280
 TGraphPainter.cxx:3281
 TGraphPainter.cxx:3282
 TGraphPainter.cxx:3283
 TGraphPainter.cxx:3284
 TGraphPainter.cxx:3285
 TGraphPainter.cxx:3286
 TGraphPainter.cxx:3287
 TGraphPainter.cxx:3288
 TGraphPainter.cxx:3289
 TGraphPainter.cxx:3290
 TGraphPainter.cxx:3291
 TGraphPainter.cxx:3292
 TGraphPainter.cxx:3293
 TGraphPainter.cxx:3294
 TGraphPainter.cxx:3295
 TGraphPainter.cxx:3296
 TGraphPainter.cxx:3297
 TGraphPainter.cxx:3298
 TGraphPainter.cxx:3299
 TGraphPainter.cxx:3300
 TGraphPainter.cxx:3301
 TGraphPainter.cxx:3302
 TGraphPainter.cxx:3303
 TGraphPainter.cxx:3304
 TGraphPainter.cxx:3305
 TGraphPainter.cxx:3306
 TGraphPainter.cxx:3307
 TGraphPainter.cxx:3308
 TGraphPainter.cxx:3309
 TGraphPainter.cxx:3310
 TGraphPainter.cxx:3311
 TGraphPainter.cxx:3312
 TGraphPainter.cxx:3313
 TGraphPainter.cxx:3314
 TGraphPainter.cxx:3315
 TGraphPainter.cxx:3316
 TGraphPainter.cxx:3317
 TGraphPainter.cxx:3318
 TGraphPainter.cxx:3319
 TGraphPainter.cxx:3320
 TGraphPainter.cxx:3321
 TGraphPainter.cxx:3322
 TGraphPainter.cxx:3323
 TGraphPainter.cxx:3324
 TGraphPainter.cxx:3325
 TGraphPainter.cxx:3326
 TGraphPainter.cxx:3327
 TGraphPainter.cxx:3328
 TGraphPainter.cxx:3329
 TGraphPainter.cxx:3330
 TGraphPainter.cxx:3331
 TGraphPainter.cxx:3332
 TGraphPainter.cxx:3333
 TGraphPainter.cxx:3334
 TGraphPainter.cxx:3335
 TGraphPainter.cxx:3336
 TGraphPainter.cxx:3337
 TGraphPainter.cxx:3338
 TGraphPainter.cxx:3339
 TGraphPainter.cxx:3340
 TGraphPainter.cxx:3341
 TGraphPainter.cxx:3342
 TGraphPainter.cxx:3343
 TGraphPainter.cxx:3344
 TGraphPainter.cxx:3345
 TGraphPainter.cxx:3346
 TGraphPainter.cxx:3347
 TGraphPainter.cxx:3348
 TGraphPainter.cxx:3349
 TGraphPainter.cxx:3350
 TGraphPainter.cxx:3351
 TGraphPainter.cxx:3352
 TGraphPainter.cxx:3353
 TGraphPainter.cxx:3354
 TGraphPainter.cxx:3355
 TGraphPainter.cxx:3356
 TGraphPainter.cxx:3357
 TGraphPainter.cxx:3358
 TGraphPainter.cxx:3359
 TGraphPainter.cxx:3360
 TGraphPainter.cxx:3361
 TGraphPainter.cxx:3362
 TGraphPainter.cxx:3363
 TGraphPainter.cxx:3364
 TGraphPainter.cxx:3365
 TGraphPainter.cxx:3366
 TGraphPainter.cxx:3367
 TGraphPainter.cxx:3368
 TGraphPainter.cxx:3369
 TGraphPainter.cxx:3370
 TGraphPainter.cxx:3371
 TGraphPainter.cxx:3372
 TGraphPainter.cxx:3373
 TGraphPainter.cxx:3374
 TGraphPainter.cxx:3375
 TGraphPainter.cxx:3376
 TGraphPainter.cxx:3377
 TGraphPainter.cxx:3378
 TGraphPainter.cxx:3379
 TGraphPainter.cxx:3380
 TGraphPainter.cxx:3381
 TGraphPainter.cxx:3382
 TGraphPainter.cxx:3383
 TGraphPainter.cxx:3384
 TGraphPainter.cxx:3385
 TGraphPainter.cxx:3386
 TGraphPainter.cxx:3387
 TGraphPainter.cxx:3388
 TGraphPainter.cxx:3389
 TGraphPainter.cxx:3390
 TGraphPainter.cxx:3391
 TGraphPainter.cxx:3392
 TGraphPainter.cxx:3393
 TGraphPainter.cxx:3394
 TGraphPainter.cxx:3395
 TGraphPainter.cxx:3396
 TGraphPainter.cxx:3397
 TGraphPainter.cxx:3398
 TGraphPainter.cxx:3399
 TGraphPainter.cxx:3400
 TGraphPainter.cxx:3401
 TGraphPainter.cxx:3402
 TGraphPainter.cxx:3403
 TGraphPainter.cxx:3404
 TGraphPainter.cxx:3405
 TGraphPainter.cxx:3406
 TGraphPainter.cxx:3407
 TGraphPainter.cxx:3408
 TGraphPainter.cxx:3409
 TGraphPainter.cxx:3410
 TGraphPainter.cxx:3411
 TGraphPainter.cxx:3412
 TGraphPainter.cxx:3413
 TGraphPainter.cxx:3414
 TGraphPainter.cxx:3415
 TGraphPainter.cxx:3416
 TGraphPainter.cxx:3417
 TGraphPainter.cxx:3418
 TGraphPainter.cxx:3419
 TGraphPainter.cxx:3420
 TGraphPainter.cxx:3421
 TGraphPainter.cxx:3422
 TGraphPainter.cxx:3423
 TGraphPainter.cxx:3424
 TGraphPainter.cxx:3425
 TGraphPainter.cxx:3426
 TGraphPainter.cxx:3427
 TGraphPainter.cxx:3428
 TGraphPainter.cxx:3429
 TGraphPainter.cxx:3430
 TGraphPainter.cxx:3431
 TGraphPainter.cxx:3432
 TGraphPainter.cxx:3433
 TGraphPainter.cxx:3434
 TGraphPainter.cxx:3435
 TGraphPainter.cxx:3436
 TGraphPainter.cxx:3437
 TGraphPainter.cxx:3438
 TGraphPainter.cxx:3439
 TGraphPainter.cxx:3440
 TGraphPainter.cxx:3441
 TGraphPainter.cxx:3442
 TGraphPainter.cxx:3443
 TGraphPainter.cxx:3444
 TGraphPainter.cxx:3445
 TGraphPainter.cxx:3446
 TGraphPainter.cxx:3447
 TGraphPainter.cxx:3448
 TGraphPainter.cxx:3449
 TGraphPainter.cxx:3450
 TGraphPainter.cxx:3451
 TGraphPainter.cxx:3452
 TGraphPainter.cxx:3453
 TGraphPainter.cxx:3454
 TGraphPainter.cxx:3455
 TGraphPainter.cxx:3456
 TGraphPainter.cxx:3457
 TGraphPainter.cxx:3458
 TGraphPainter.cxx:3459
 TGraphPainter.cxx:3460
 TGraphPainter.cxx:3461
 TGraphPainter.cxx:3462
 TGraphPainter.cxx:3463
 TGraphPainter.cxx:3464
 TGraphPainter.cxx:3465
 TGraphPainter.cxx:3466
 TGraphPainter.cxx:3467
 TGraphPainter.cxx:3468
 TGraphPainter.cxx:3469
 TGraphPainter.cxx:3470
 TGraphPainter.cxx:3471
 TGraphPainter.cxx:3472
 TGraphPainter.cxx:3473
 TGraphPainter.cxx:3474
 TGraphPainter.cxx:3475
 TGraphPainter.cxx:3476
 TGraphPainter.cxx:3477
 TGraphPainter.cxx:3478
 TGraphPainter.cxx:3479
 TGraphPainter.cxx:3480
 TGraphPainter.cxx:3481
 TGraphPainter.cxx:3482
 TGraphPainter.cxx:3483
 TGraphPainter.cxx:3484
 TGraphPainter.cxx:3485
 TGraphPainter.cxx:3486
 TGraphPainter.cxx:3487
 TGraphPainter.cxx:3488
 TGraphPainter.cxx:3489
 TGraphPainter.cxx:3490
 TGraphPainter.cxx:3491
 TGraphPainter.cxx:3492
 TGraphPainter.cxx:3493
 TGraphPainter.cxx:3494
 TGraphPainter.cxx:3495
 TGraphPainter.cxx:3496
 TGraphPainter.cxx:3497
 TGraphPainter.cxx:3498
 TGraphPainter.cxx:3499
 TGraphPainter.cxx:3500
 TGraphPainter.cxx:3501
 TGraphPainter.cxx:3502
 TGraphPainter.cxx:3503
 TGraphPainter.cxx:3504
 TGraphPainter.cxx:3505
 TGraphPainter.cxx:3506
 TGraphPainter.cxx:3507
 TGraphPainter.cxx:3508
 TGraphPainter.cxx:3509
 TGraphPainter.cxx:3510
 TGraphPainter.cxx:3511
 TGraphPainter.cxx:3512
 TGraphPainter.cxx:3513
 TGraphPainter.cxx:3514
 TGraphPainter.cxx:3515
 TGraphPainter.cxx:3516
 TGraphPainter.cxx:3517
 TGraphPainter.cxx:3518
 TGraphPainter.cxx:3519
 TGraphPainter.cxx:3520
 TGraphPainter.cxx:3521
 TGraphPainter.cxx:3522
 TGraphPainter.cxx:3523
 TGraphPainter.cxx:3524
 TGraphPainter.cxx:3525
 TGraphPainter.cxx:3526
 TGraphPainter.cxx:3527
 TGraphPainter.cxx:3528
 TGraphPainter.cxx:3529
 TGraphPainter.cxx:3530
 TGraphPainter.cxx:3531
 TGraphPainter.cxx:3532
 TGraphPainter.cxx:3533
 TGraphPainter.cxx:3534
 TGraphPainter.cxx:3535
 TGraphPainter.cxx:3536
 TGraphPainter.cxx:3537
 TGraphPainter.cxx:3538
 TGraphPainter.cxx:3539
 TGraphPainter.cxx:3540
 TGraphPainter.cxx:3541
 TGraphPainter.cxx:3542
 TGraphPainter.cxx:3543
 TGraphPainter.cxx:3544
 TGraphPainter.cxx:3545
 TGraphPainter.cxx:3546
 TGraphPainter.cxx:3547
 TGraphPainter.cxx:3548
 TGraphPainter.cxx:3549
 TGraphPainter.cxx:3550
 TGraphPainter.cxx:3551
 TGraphPainter.cxx:3552
 TGraphPainter.cxx:3553
 TGraphPainter.cxx:3554
 TGraphPainter.cxx:3555
 TGraphPainter.cxx:3556
 TGraphPainter.cxx:3557
 TGraphPainter.cxx:3558
 TGraphPainter.cxx:3559
 TGraphPainter.cxx:3560
 TGraphPainter.cxx:3561
 TGraphPainter.cxx:3562
 TGraphPainter.cxx:3563
 TGraphPainter.cxx:3564
 TGraphPainter.cxx:3565
 TGraphPainter.cxx:3566
 TGraphPainter.cxx:3567
 TGraphPainter.cxx:3568
 TGraphPainter.cxx:3569
 TGraphPainter.cxx:3570
 TGraphPainter.cxx:3571
 TGraphPainter.cxx:3572
 TGraphPainter.cxx:3573
 TGraphPainter.cxx:3574
 TGraphPainter.cxx:3575
 TGraphPainter.cxx:3576
 TGraphPainter.cxx:3577
 TGraphPainter.cxx:3578
 TGraphPainter.cxx:3579
 TGraphPainter.cxx:3580
 TGraphPainter.cxx:3581
 TGraphPainter.cxx:3582
 TGraphPainter.cxx:3583
 TGraphPainter.cxx:3584
 TGraphPainter.cxx:3585
 TGraphPainter.cxx:3586
 TGraphPainter.cxx:3587
 TGraphPainter.cxx:3588
 TGraphPainter.cxx:3589
 TGraphPainter.cxx:3590
 TGraphPainter.cxx:3591
 TGraphPainter.cxx:3592
 TGraphPainter.cxx:3593
 TGraphPainter.cxx:3594
 TGraphPainter.cxx:3595
 TGraphPainter.cxx:3596
 TGraphPainter.cxx:3597
 TGraphPainter.cxx:3598
 TGraphPainter.cxx:3599
 TGraphPainter.cxx:3600
 TGraphPainter.cxx:3601
 TGraphPainter.cxx:3602
 TGraphPainter.cxx:3603
 TGraphPainter.cxx:3604
 TGraphPainter.cxx:3605
 TGraphPainter.cxx:3606
 TGraphPainter.cxx:3607
 TGraphPainter.cxx:3608
 TGraphPainter.cxx:3609
 TGraphPainter.cxx:3610
 TGraphPainter.cxx:3611
 TGraphPainter.cxx:3612
 TGraphPainter.cxx:3613
 TGraphPainter.cxx:3614
 TGraphPainter.cxx:3615
 TGraphPainter.cxx:3616
 TGraphPainter.cxx:3617
 TGraphPainter.cxx:3618
 TGraphPainter.cxx:3619
 TGraphPainter.cxx:3620
 TGraphPainter.cxx:3621
 TGraphPainter.cxx:3622
 TGraphPainter.cxx:3623
 TGraphPainter.cxx:3624
 TGraphPainter.cxx:3625
 TGraphPainter.cxx:3626
 TGraphPainter.cxx:3627
 TGraphPainter.cxx:3628
 TGraphPainter.cxx:3629
 TGraphPainter.cxx:3630
 TGraphPainter.cxx:3631
 TGraphPainter.cxx:3632
 TGraphPainter.cxx:3633
 TGraphPainter.cxx:3634
 TGraphPainter.cxx:3635
 TGraphPainter.cxx:3636
 TGraphPainter.cxx:3637
 TGraphPainter.cxx:3638
 TGraphPainter.cxx:3639
 TGraphPainter.cxx:3640
 TGraphPainter.cxx:3641
 TGraphPainter.cxx:3642
 TGraphPainter.cxx:3643
 TGraphPainter.cxx:3644
 TGraphPainter.cxx:3645
 TGraphPainter.cxx:3646
 TGraphPainter.cxx:3647
 TGraphPainter.cxx:3648
 TGraphPainter.cxx:3649
 TGraphPainter.cxx:3650
 TGraphPainter.cxx:3651
 TGraphPainter.cxx:3652
 TGraphPainter.cxx:3653
 TGraphPainter.cxx:3654
 TGraphPainter.cxx:3655
 TGraphPainter.cxx:3656
 TGraphPainter.cxx:3657
 TGraphPainter.cxx:3658
 TGraphPainter.cxx:3659
 TGraphPainter.cxx:3660
 TGraphPainter.cxx:3661
 TGraphPainter.cxx:3662
 TGraphPainter.cxx:3663
 TGraphPainter.cxx:3664
 TGraphPainter.cxx:3665
 TGraphPainter.cxx:3666
 TGraphPainter.cxx:3667
 TGraphPainter.cxx:3668
 TGraphPainter.cxx:3669
 TGraphPainter.cxx:3670
 TGraphPainter.cxx:3671
 TGraphPainter.cxx:3672
 TGraphPainter.cxx:3673
 TGraphPainter.cxx:3674
 TGraphPainter.cxx:3675
 TGraphPainter.cxx:3676
 TGraphPainter.cxx:3677
 TGraphPainter.cxx:3678
 TGraphPainter.cxx:3679
 TGraphPainter.cxx:3680
 TGraphPainter.cxx:3681
 TGraphPainter.cxx:3682
 TGraphPainter.cxx:3683
 TGraphPainter.cxx:3684
 TGraphPainter.cxx:3685
 TGraphPainter.cxx:3686
 TGraphPainter.cxx:3687
 TGraphPainter.cxx:3688
 TGraphPainter.cxx:3689
 TGraphPainter.cxx:3690
 TGraphPainter.cxx:3691
 TGraphPainter.cxx:3692
 TGraphPainter.cxx:3693
 TGraphPainter.cxx:3694
 TGraphPainter.cxx:3695
 TGraphPainter.cxx:3696
 TGraphPainter.cxx:3697
 TGraphPainter.cxx:3698
 TGraphPainter.cxx:3699
 TGraphPainter.cxx:3700
 TGraphPainter.cxx:3701
 TGraphPainter.cxx:3702
 TGraphPainter.cxx:3703
 TGraphPainter.cxx:3704
 TGraphPainter.cxx:3705
 TGraphPainter.cxx:3706
 TGraphPainter.cxx:3707
 TGraphPainter.cxx:3708
 TGraphPainter.cxx:3709
 TGraphPainter.cxx:3710
 TGraphPainter.cxx:3711
 TGraphPainter.cxx:3712
 TGraphPainter.cxx:3713
 TGraphPainter.cxx:3714
 TGraphPainter.cxx:3715
 TGraphPainter.cxx:3716
 TGraphPainter.cxx:3717
 TGraphPainter.cxx:3718
 TGraphPainter.cxx:3719
 TGraphPainter.cxx:3720
 TGraphPainter.cxx:3721
 TGraphPainter.cxx:3722
 TGraphPainter.cxx:3723
 TGraphPainter.cxx:3724
 TGraphPainter.cxx:3725
 TGraphPainter.cxx:3726
 TGraphPainter.cxx:3727
 TGraphPainter.cxx:3728
 TGraphPainter.cxx:3729
 TGraphPainter.cxx:3730
 TGraphPainter.cxx:3731
 TGraphPainter.cxx:3732
 TGraphPainter.cxx:3733
 TGraphPainter.cxx:3734
 TGraphPainter.cxx:3735
 TGraphPainter.cxx:3736
 TGraphPainter.cxx:3737
 TGraphPainter.cxx:3738
 TGraphPainter.cxx:3739
 TGraphPainter.cxx:3740
 TGraphPainter.cxx:3741
 TGraphPainter.cxx:3742
 TGraphPainter.cxx:3743
 TGraphPainter.cxx:3744
 TGraphPainter.cxx:3745
 TGraphPainter.cxx:3746
 TGraphPainter.cxx:3747
 TGraphPainter.cxx:3748
 TGraphPainter.cxx:3749
 TGraphPainter.cxx:3750
 TGraphPainter.cxx:3751
 TGraphPainter.cxx:3752
 TGraphPainter.cxx:3753
 TGraphPainter.cxx:3754
 TGraphPainter.cxx:3755
 TGraphPainter.cxx:3756
 TGraphPainter.cxx:3757
 TGraphPainter.cxx:3758
 TGraphPainter.cxx:3759
 TGraphPainter.cxx:3760
 TGraphPainter.cxx:3761
 TGraphPainter.cxx:3762
 TGraphPainter.cxx:3763
 TGraphPainter.cxx:3764
 TGraphPainter.cxx:3765
 TGraphPainter.cxx:3766
 TGraphPainter.cxx:3767
 TGraphPainter.cxx:3768
 TGraphPainter.cxx:3769
 TGraphPainter.cxx:3770
 TGraphPainter.cxx:3771
 TGraphPainter.cxx:3772
 TGraphPainter.cxx:3773
 TGraphPainter.cxx:3774
 TGraphPainter.cxx:3775
 TGraphPainter.cxx:3776
 TGraphPainter.cxx:3777
 TGraphPainter.cxx:3778
 TGraphPainter.cxx:3779
 TGraphPainter.cxx:3780
 TGraphPainter.cxx:3781
 TGraphPainter.cxx:3782
 TGraphPainter.cxx:3783
 TGraphPainter.cxx:3784
 TGraphPainter.cxx:3785
 TGraphPainter.cxx:3786
 TGraphPainter.cxx:3787
 TGraphPainter.cxx:3788
 TGraphPainter.cxx:3789
 TGraphPainter.cxx:3790
 TGraphPainter.cxx:3791
 TGraphPainter.cxx:3792
 TGraphPainter.cxx:3793
 TGraphPainter.cxx:3794
 TGraphPainter.cxx:3795
 TGraphPainter.cxx:3796
 TGraphPainter.cxx:3797
 TGraphPainter.cxx:3798
 TGraphPainter.cxx:3799
 TGraphPainter.cxx:3800
 TGraphPainter.cxx:3801
 TGraphPainter.cxx:3802
 TGraphPainter.cxx:3803
 TGraphPainter.cxx:3804
 TGraphPainter.cxx:3805
 TGraphPainter.cxx:3806
 TGraphPainter.cxx:3807
 TGraphPainter.cxx:3808
 TGraphPainter.cxx:3809
 TGraphPainter.cxx:3810
 TGraphPainter.cxx:3811
 TGraphPainter.cxx:3812
 TGraphPainter.cxx:3813
 TGraphPainter.cxx:3814
 TGraphPainter.cxx:3815
 TGraphPainter.cxx:3816
 TGraphPainter.cxx:3817
 TGraphPainter.cxx:3818
 TGraphPainter.cxx:3819
 TGraphPainter.cxx:3820
 TGraphPainter.cxx:3821
 TGraphPainter.cxx:3822
 TGraphPainter.cxx:3823
 TGraphPainter.cxx:3824
 TGraphPainter.cxx:3825
 TGraphPainter.cxx:3826
 TGraphPainter.cxx:3827
 TGraphPainter.cxx:3828
 TGraphPainter.cxx:3829
 TGraphPainter.cxx:3830
 TGraphPainter.cxx:3831
 TGraphPainter.cxx:3832
 TGraphPainter.cxx:3833
 TGraphPainter.cxx:3834
 TGraphPainter.cxx:3835
 TGraphPainter.cxx:3836
 TGraphPainter.cxx:3837
 TGraphPainter.cxx:3838
 TGraphPainter.cxx:3839
 TGraphPainter.cxx:3840
 TGraphPainter.cxx:3841
 TGraphPainter.cxx:3842
 TGraphPainter.cxx:3843
 TGraphPainter.cxx:3844
 TGraphPainter.cxx:3845
 TGraphPainter.cxx:3846
 TGraphPainter.cxx:3847
 TGraphPainter.cxx:3848
 TGraphPainter.cxx:3849
 TGraphPainter.cxx:3850
 TGraphPainter.cxx:3851
 TGraphPainter.cxx:3852
 TGraphPainter.cxx:3853
 TGraphPainter.cxx:3854
 TGraphPainter.cxx:3855
 TGraphPainter.cxx:3856
 TGraphPainter.cxx:3857
 TGraphPainter.cxx:3858
 TGraphPainter.cxx:3859
 TGraphPainter.cxx:3860
 TGraphPainter.cxx:3861
 TGraphPainter.cxx:3862
 TGraphPainter.cxx:3863
 TGraphPainter.cxx:3864
 TGraphPainter.cxx:3865
 TGraphPainter.cxx:3866
 TGraphPainter.cxx:3867
 TGraphPainter.cxx:3868
 TGraphPainter.cxx:3869
 TGraphPainter.cxx:3870
 TGraphPainter.cxx:3871
 TGraphPainter.cxx:3872
 TGraphPainter.cxx:3873
 TGraphPainter.cxx:3874
 TGraphPainter.cxx:3875
 TGraphPainter.cxx:3876
 TGraphPainter.cxx:3877
 TGraphPainter.cxx:3878
 TGraphPainter.cxx:3879
 TGraphPainter.cxx:3880
 TGraphPainter.cxx:3881
 TGraphPainter.cxx:3882
 TGraphPainter.cxx:3883
 TGraphPainter.cxx:3884
 TGraphPainter.cxx:3885
 TGraphPainter.cxx:3886
 TGraphPainter.cxx:3887
 TGraphPainter.cxx:3888
 TGraphPainter.cxx:3889
 TGraphPainter.cxx:3890
 TGraphPainter.cxx:3891
 TGraphPainter.cxx:3892
 TGraphPainter.cxx:3893
 TGraphPainter.cxx:3894
 TGraphPainter.cxx:3895
 TGraphPainter.cxx:3896
 TGraphPainter.cxx:3897
 TGraphPainter.cxx:3898
 TGraphPainter.cxx:3899
 TGraphPainter.cxx:3900
 TGraphPainter.cxx:3901
 TGraphPainter.cxx:3902
 TGraphPainter.cxx:3903
 TGraphPainter.cxx:3904
 TGraphPainter.cxx:3905
 TGraphPainter.cxx:3906
 TGraphPainter.cxx:3907
 TGraphPainter.cxx:3908
 TGraphPainter.cxx:3909
 TGraphPainter.cxx:3910
 TGraphPainter.cxx:3911
 TGraphPainter.cxx:3912
 TGraphPainter.cxx:3913
 TGraphPainter.cxx:3914
 TGraphPainter.cxx:3915
 TGraphPainter.cxx:3916
 TGraphPainter.cxx:3917
 TGraphPainter.cxx:3918
 TGraphPainter.cxx:3919
 TGraphPainter.cxx:3920
 TGraphPainter.cxx:3921
 TGraphPainter.cxx:3922
 TGraphPainter.cxx:3923
 TGraphPainter.cxx:3924
 TGraphPainter.cxx:3925
 TGraphPainter.cxx:3926
 TGraphPainter.cxx:3927
 TGraphPainter.cxx:3928
 TGraphPainter.cxx:3929
 TGraphPainter.cxx:3930
 TGraphPainter.cxx:3931
 TGraphPainter.cxx:3932
 TGraphPainter.cxx:3933
 TGraphPainter.cxx:3934
 TGraphPainter.cxx:3935
 TGraphPainter.cxx:3936
 TGraphPainter.cxx:3937
 TGraphPainter.cxx:3938
 TGraphPainter.cxx:3939
 TGraphPainter.cxx:3940
 TGraphPainter.cxx:3941
 TGraphPainter.cxx:3942
 TGraphPainter.cxx:3943
 TGraphPainter.cxx:3944
 TGraphPainter.cxx:3945
 TGraphPainter.cxx:3946
 TGraphPainter.cxx:3947
 TGraphPainter.cxx:3948
 TGraphPainter.cxx:3949
 TGraphPainter.cxx:3950
 TGraphPainter.cxx:3951
 TGraphPainter.cxx:3952
 TGraphPainter.cxx:3953
 TGraphPainter.cxx:3954
 TGraphPainter.cxx:3955
 TGraphPainter.cxx:3956
 TGraphPainter.cxx:3957
 TGraphPainter.cxx:3958
 TGraphPainter.cxx:3959
 TGraphPainter.cxx:3960
 TGraphPainter.cxx:3961
 TGraphPainter.cxx:3962
 TGraphPainter.cxx:3963
 TGraphPainter.cxx:3964
 TGraphPainter.cxx:3965
 TGraphPainter.cxx:3966
 TGraphPainter.cxx:3967
 TGraphPainter.cxx:3968
 TGraphPainter.cxx:3969
 TGraphPainter.cxx:3970
 TGraphPainter.cxx:3971
 TGraphPainter.cxx:3972
 TGraphPainter.cxx:3973
 TGraphPainter.cxx:3974
 TGraphPainter.cxx:3975
 TGraphPainter.cxx:3976
 TGraphPainter.cxx:3977
 TGraphPainter.cxx:3978
 TGraphPainter.cxx:3979
 TGraphPainter.cxx:3980
 TGraphPainter.cxx:3981
 TGraphPainter.cxx:3982
 TGraphPainter.cxx:3983
 TGraphPainter.cxx:3984
 TGraphPainter.cxx:3985
 TGraphPainter.cxx:3986
 TGraphPainter.cxx:3987
 TGraphPainter.cxx:3988
 TGraphPainter.cxx:3989
 TGraphPainter.cxx:3990
 TGraphPainter.cxx:3991
 TGraphPainter.cxx:3992
 TGraphPainter.cxx:3993
 TGraphPainter.cxx:3994
 TGraphPainter.cxx:3995
 TGraphPainter.cxx:3996
 TGraphPainter.cxx:3997
 TGraphPainter.cxx:3998
 TGraphPainter.cxx:3999
 TGraphPainter.cxx:4000
 TGraphPainter.cxx:4001
 TGraphPainter.cxx:4002
 TGraphPainter.cxx:4003
 TGraphPainter.cxx:4004
 TGraphPainter.cxx:4005
 TGraphPainter.cxx:4006
 TGraphPainter.cxx:4007
 TGraphPainter.cxx:4008
 TGraphPainter.cxx:4009
 TGraphPainter.cxx:4010
 TGraphPainter.cxx:4011
 TGraphPainter.cxx:4012
 TGraphPainter.cxx:4013
 TGraphPainter.cxx:4014
 TGraphPainter.cxx:4015
 TGraphPainter.cxx:4016
 TGraphPainter.cxx:4017
 TGraphPainter.cxx:4018
 TGraphPainter.cxx:4019
 TGraphPainter.cxx:4020
 TGraphPainter.cxx:4021
 TGraphPainter.cxx:4022
 TGraphPainter.cxx:4023
 TGraphPainter.cxx:4024
 TGraphPainter.cxx:4025
 TGraphPainter.cxx:4026
 TGraphPainter.cxx:4027
 TGraphPainter.cxx:4028
 TGraphPainter.cxx:4029
 TGraphPainter.cxx:4030
 TGraphPainter.cxx:4031
 TGraphPainter.cxx:4032