220      Error(
"GetContourList", 
"Contour level (%g) outside the Z scope [%g,%g]",
 
  242   std::vector<Double_t> 
xs0(
fNdt);
 
  243   std::vector<Double_t> 
ys0(
fNdt);
 
  244   std::vector<Double_t> 
xs1(
fNdt);
 
  245   std::vector<Double_t> 
ys1(
fNdt);
 
  246   for (i=0;i<
fNdt;i++) {
 
  259      for(it=0; it<
fNdt; it++) {
 
  277         if (
i0==0 && 
i2==0) {
 
  278            Error(
"GetContourList", 
"wrong vertices ordering");
 
  293         if(contour >= z0 && contour <=
z2) {
 
  294            r20 = (contour-z0)/(
z2-z0);
 
  297            if(contour >= 
z1 && contour <=
z2) {
 
  302               r10 = (contour-z0)/(
z1-z0);
 
  335         if (
i0==0 && 
i2==0) {
 
  336            Error(
"GetContourList", 
"wrong vertices ordering");
 
  351         if(contour >= z0 && contour <=
z2) {
 
  352            r20 = (contour-z0)/(
z2-z0);
 
  355            if(contour >= 
z1 && contour <=
z2) {
 
  360               r10 = (contour-z0)/(
z1-z0);
 
  396         if (
is==
js) 
continue;
 
  410         list->Add(graph); 
npg = 0;
 
  446         list->Add(graph); 
npg = 0;
 
  487      list->Add(graph); 
npg = 0;
 
 
  536   first = 
yaxis->GetFirst();
 
 
  570   for (
Int_t k=0; k<ndiv; k++) {
 
  574      while (
auto obj = next()) {
 
 
  598      Error(
"PaintErrors", 
"No TView in current pad");
 
 
  724   if (zmin==-1111 && zmax==-1111) {
 
  733   if (
fZ[
p[1]]<=z0) {z0=
fZ[
p[1]]; x0=
x[1]; 
y0=
y[1]; 
i0=1;}
 
  735   if (
fZ[
p[2]]<=z0) {z0=
fZ[
p[2]]; x0=
x[2]; 
y0=
y[2]; 
i0=2;}
 
  742   if (z0>zmax) z0 = zmax;
 
  743   if (
z2>zmax) 
z2 = zmax;
 
  744   if (z0<zmin) z0 = zmin;
 
  745   if (
z2<zmin) 
z2 = zmin;
 
  746   if (
z1>zmax) 
z1 = zmax;
 
  747   if (
z1<zmin) 
z1 = zmin;
 
  787         gPad->PaintFillArea(3,
x,
y);
 
  795               zi    = (((
ci+1)*(zmax-zmin))/(ncolors-1))+zmin;
 
  829               zi    = (((
ci+1)*(zmax-zmin))/(ncolors-1))+zmin;
 
  868      for(i=0; i<
nblev; i++){
 
 
  901      Error(
"PaintPolyMarker", 
"No TView in current pad");
 
  972      for (it=0; it<
npd; it++) {
 
  976         gPad->PaintPolyMarker(1,
xm.data()+it,
ym.data()+it);
 
 
  998      Error(
"PaintPolyLine", 
"No TView in current pad");
 
 
 1046   for (
Int_t i=0; i<
n; i++) {
 
 1050      gPad->PaintPolyMarker(1,&
x[i],&
y[i]);
 
 1054      gPad->PaintPolyMarker(1,&
x[i],&
y[i]);
 
 
 1079   std::vector<Int_t> order;
 
 1080   std::vector<Double_t> dist;
 
 1084      Error(
"PaintTriangles", 
"No TView in current pad");
 
 1099   std::vector<Double_t> 
glev;
 
 1103      Double_t binLow = 0, binHigh = 0, binWidth = 0;
 
 1108      if (!
r0 || !
r1) 
return;
 
 1112                                  binLow, binHigh, nbins, binWidth, 
" ");
 
 1117         binWidth = (binHigh-binLow)/nbins;
 
 1146   for (it=0; it<
fNdt; it++) {
 
 1152      if ((
cp >= 0) && (
sp >= 0.)) {
 
 1154      } 
else if ((
cp <= 0) && (
sp >= 0.)) {
 
 1157      } 
else if ((
cp <= 0) && (
sp <= 0.)) {
 
 1176    for (it=0; it<
fNdt; it++) {
 
 1180      for (
Int_t k=0; k<3; k++) {
 
 1183         if(
fZ[t[k]-1] < zmin  || 
fZ[t[k]-1] > zmax)  
goto endloop;
 
 1202         gPad->PaintFillArea(3,
x,
y);
 
 1214            gPad->PaintPolyMarker(3,
x,
y);
 
 
 1238      Error(
"PaintTriangles", 
"No TView in current pad");
 
 1253   std::vector<Double_t> 
glev;
 
 1257      Double_t binLow = 0, binHigh = 0, binWidth = 0;
 
 1262      if (!
r0 || !
r1) 
return;
 
 1266                                  binLow, binHigh, nbins, binWidth, 
" ");
 
 1271         binWidth = (binHigh-binLow)/nbins;
 
 1299   if ((
cp >= 0) && (
sp >= 0.)) {
 
 1301   } 
else if ((
cp <= 0) && (
sp >= 0.)) {
 
 1304   } 
else if ((
cp <= 0) && (
sp <= 0.)) {
 
 1311   typedef std::pair<Double_t, TGraphDelaunay2D::Triangles::const_iterator> 
DistEntry;
 
 1312   std::vector<DistEntry> dist;
 
 1318      dist.emplace_back(fDist(
xd, 
yd), it);
 
 1321   std::sort(dist.begin(), dist.end(),
 
 1322             [&](
const DistEntry & 
a, 
const DistEntry & 
b){ return !reverse ? (a.first < b.first) : (b.first < a .first); });
 
 1334   for (
const auto & it : dist) {
 
 1335      p[0] = it.second->idx[0];
 
 1336      p[1] = it.second->idx[1];
 
 1337      p[2] = it.second->idx[2];
 
 1338      for (
Int_t k=0; k<3; k++) {
 
 1360         gPad->PaintFillArea(3,
x,
y);
 
 1372            gPad->PaintPolyMarker(3,
x,
y);
 
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
winID h TVirtualViewer3D TVirtualGLPainter p
Option_t Option_t TPoint TPoint const char x2
Option_t Option_t TPoint TPoint const char x1
Option_t Option_t TPoint TPoint const char y2
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize fs
Option_t Option_t TPoint TPoint const char y1
R__EXTERN TH1 * gCurrentHist
R__EXTERN Hoption_t Hoption
R__EXTERN TStyle * gStyle
virtual Int_t GetNdivisions() const
virtual Color_t GetFillColor() const
Return the fill area color.
virtual Style_t GetFillStyle() const
Return the fill area style.
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
virtual void SetFillStyle(Style_t fstyle)
Set the fill area style.
virtual Color_t GetLineColor() const
Return the line color.
virtual void SetLineStyle(Style_t lstyle)
Set the line style.
virtual Width_t GetLineWidth() const
Return the line width.
virtual void SetLineWidth(Width_t lwidth)
Set the line width.
virtual void SetLineColor(Color_t lcolor)
Set the line color.
virtual Style_t GetLineStyle() const
Return the line style.
virtual Style_t GetMarkerStyle() const
Return the marker style.
virtual void SetMarkerColor(Color_t mcolor=1)
Set the marker color.
virtual Color_t GetMarkerColor() const
Return the marker color.
virtual Size_t GetMarkerSize() const
Return the marker size.
virtual void SetMarkerStyle(Style_t mstyle=1)
Set the marker style.
virtual void SetMarkerSize(Size_t msize=1)
Set the marker size.
Class to manage histogram axis.
The TGraphDelaunay painting class.
void PaintContour(Option_t *option)
Paints the 2D graph as a contour plot.
Int_t * fNTried
! Pointer to fDelaunay->fNTried
Double_t * fYN
! Pointer to fDelaunay->fYN
TGraphDelaunay * fDelaunay
! Pointer to the TGraphDelaunay2D to be painted
void Paint(Option_t *option) override
Paint a TGraphDelaunay according to the value of "option":
Double_t fYmin
! fGraph2D->fHistogram Ymin
Double_t * fZ
! Pointer to fGraph2D->fZ
void PaintLevels(Int_t *v, Double_t *x, Double_t *y, Int_t nblev=0, Double_t *glev=nullptr)
Paints one triangle.
TGraphDelaunay2D * fDelaunay2D
! Pointer to the TGraphDelaunay2D to be painted
TGraph2D * fGraph2D
! Pointer to the TGraph2D in fDelaunay
void PaintErrors(Option_t *option)
Paints the 2D graph as error bars.
Double_t * fXN
! Pointer to fDelaunay->fXN
Int_t * fMTried
! Pointer to fDelaunay->fMTried
void FindTriangles()
Find triangles in fDelaunay and initialise the TGraph2DPainter values needed to paint triangles or fi...
Int_t * fPTried
! Pointer to fDelaunay->fPTried
Double_t fXNmin
! Equal to fDelaunay->fXNmin
Double_t fXmax
! fGraph2D->fHistogram Xmax
Double_t * fEZhigh
! Pointer to fGraph2D->fZEhigh
Int_t fNpoints
! Equal to fGraph2D->fNpoints
Double_t fZmin
! fGraph2D->fHistogram Zmin
Int_t fNdt
! Equal to fDelaunay->fNdt
Double_t * fEYlow
! Pointer to fGraph2D->fYElow
TList * GetContourList(Double_t contour)
Returns the X and Y graphs building a contour.
Double_t * fX
! Pointer to fGraph2D->fX
Double_t fYmax
! fGraph2D->fHistogram Ymax
Double_t * fEXhigh
! Pointer to fGraph2D->fXEhigh
void PaintPolyMarker0(Int_t n, Double_t *x, Double_t *y)
Paints a circle at each vertex. Each circle background is white.
void PaintTriangles(Option_t *option)
Paints the 2D graph as triangles.
void PaintPolyMarker(Option_t *option)
Paints the 2D graph as PaintPolyMarker.
Double_t * fY
! Pointer to fGraph2D->fY
Double_t fYNmin
! Equal to fDelaunay->fYNmin
Double_t * fEXlow
! Pointer to fGraph2D->fXElow
void PaintPolyLine(Option_t *option)
Paints the 2D graph as PaintPolyLine.
Double_t * fEYhigh
! Pointer to fGraph2D->fYEhigh
TGraph2DPainter()
TGraph2DPainter default constructor.
Double_t fZmax
! fGraph2D->fHistogram Zmax
void PaintTriangles_old(Option_t *option)
Paints the 2D graph as triangles (old implementation)
void GetGraph2dProperties()
Protected method to get all TGraph2D properties.
~TGraph2DPainter() override
TGraph2DPainter destructor.
Double_t fYNmax
! Equal to fDelaunay->fYNmax
Double_t * fEZlow
! Pointer to fGraph2D->fZElow
Double_t fXmin
! fGraph2D->fHistogram Xmin
Double_t fXNmax
! Equal to fDelaunay->fXNmax
void PaintTriangles_new(Option_t *option)
Paints the 2D graph as triangles (new implementation)
virtual Double_t * GetEZhigh() const
Double_t GetMaximum() const
virtual Double_t GetZminE() const
Double_t GetMinimum() const
virtual Double_t GetZmaxE() const
virtual Double_t * GetEZ() const
Double_t GetZmax() const
Returns the Z maximum.
virtual Double_t * GetEYhigh() const
virtual Double_t * GetEY() const
virtual Double_t * GetEXhigh() const
virtual Double_t * GetEXlow() const
virtual Double_t * GetEX() const
virtual Double_t * GetEZlow() const
virtual Double_t * GetEYlow() const
TGraphDelaunay2D generates a Delaunay triangulation of a TGraph2D.
Triangles::const_iterator begin() const
Double_t GetXNmax() const
TGraph2D * GetGraph2D() const
Triangles::const_iterator end() const
Double_t GetXNmin() const
Double_t GetYNmax() const
Double_t GetYNmin() const
TGraphDelaunay generates a Delaunay triangulation of a TGraph2D.
Double_t GetYNmax() const
Int_t * GetMTried() const
Double_t GetXNmin() const
TGraph2D * GetGraph2D() const
Double_t GetXNmax() const
void FindAllTriangles()
Attempt to find all the Delaunay triangles of the point set.
Int_t * GetPTried() const
Int_t * GetNTried() const
Double_t GetYNmin() const
A TGraph is an object made of two arrays X and Y with npoints each.
virtual void SetPoint(Int_t i, Double_t x, Double_t y)
Set x and y values for point number i.
TH1 is the base class of all histogram classes in ROOT.
virtual Double_t GetContourLevelPad(Int_t level) const
Return the value of contour number "level" in Pad coordinates.
@ kUserContour
User specified contour levels.
virtual Double_t GetMaximum(Double_t maxval=FLT_MAX) const
Return maximum value smaller than maxval of bins in the range, unless the value has been overridden b...
virtual Int_t GetContour(Double_t *levels=nullptr)
Return contour values into array levels if pointer levels is non zero.
virtual void SetContour(Int_t nlevels, const Double_t *levels=nullptr)
Set the number and values of contour levels.
virtual Double_t GetMinimum(Double_t minval=-FLT_MAX) const
Return minimum value larger than minval of bins in the range, unless the value has been overridden by...
static void Optimize(Double_t A1, Double_t A2, Int_t nold, Double_t &BinLow, Double_t &BinHigh, Int_t &nbins, Double_t &BWID, Option_t *option="")
Static function to compute reasonable axis limits.
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
virtual void Delete(Option_t *option="")
Delete this object.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
void ToLower()
Change string to lower-case.
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
Int_t GetColorPalette(Int_t i) const
Return color number i in current palette.
Int_t GetNumberOfColors() const
Return number of colors in the color palette.
Int_t GetNumberContours() const
virtual Double_t * GetRmax()=0
virtual Double_t * GetRmin()=0
virtual Double_t GetLongitude()=0
virtual void WCtoNDC(const Float_t *pw, Float_t *pn)=0
Short_t Max(Short_t a, Short_t b)
Returns the largest of a and b.
Short_t Min(Short_t a, Short_t b)
Returns the smallest of a and b.
Double_t Cos(Double_t)
Returns the cosine of an angle of x radians.
Double_t Sin(Double_t)
Returns the sine of an angle of x radians.
void Sort(Index n, const Element *a, Index *index, Bool_t down=kTRUE)
Sort the n elements of the array a of generic templated type Element.
Double_t Log10(Double_t x)
Returns the common (base-10) logarithm of x.
Short_t Abs(Short_t d)
Returns the absolute value of parameter Short_t d.
Histograms' drawing options structure.
int Logx
log scale in X. Also set by histogram option
int Logz
log scale in Z. Also set by histogram option
int Logy
log scale in Y. Also set by histogram option