library: libGraf
#include "TGraphErrors.h"

TGraphErrors


class description - source file - inheritance tree (.pdf)

class TGraphErrors : public TGraph

Inheritance Chart:
TObject
<-
TNamed
TAttLine
TAttFill
TAttMarker
<-
TGraph
<-
TGraphErrors

    protected:
virtual Double_t** Allocate(Int_t size) virtual void CopyAndRelease(Double_t** newarrays, Int_t ibegin, Int_t iend, Int_t obegin) virtual Bool_t CopyPoints(Double_t** arrays, Int_t ibegin, Int_t iend, Int_t obegin) Bool_t CtorAllocate() virtual void FillZero(Int_t begin, Int_t end, Bool_t from_ctor = kTRUE) virtual void SwapPoints(Int_t pos1, Int_t pos2) public:
TGraphErrors() TGraphErrors(Int_t n) TGraphErrors(Int_t n, const Float_t* x, const Float_t* y, const Float_t* ex = 0, const Float_t* ey = 0) TGraphErrors(Int_t n, const Double_t* x, const Double_t* y, const Double_t* ex = 0, const Double_t* ey = 0) TGraphErrors(const TVector& vx, const TVector& vy, const TVector& vex, const TVector& vey) TGraphErrors(const TVectorD& vx, const TVectorD& vy, const TVectorD& vex, const TVectorD& vey) TGraphErrors(const TGraphErrors& gr) TGraphErrors(const TH1* h) TGraphErrors(const char* filename, const char* format = "%lg %lg %lg %lg", Option_t* option) virtual ~TGraphErrors() virtual void Apply(TF1* f) static Int_t CalculateScanfFields(const char* fmt) static TClass* Class() virtual void ComputeRange(Double_t& xmin, Double_t& ymin, Double_t& xmax, Double_t& ymax) const virtual Double_t GetErrorX(Int_t bin) const virtual Double_t GetErrorXhigh(Int_t bin) const virtual Double_t GetErrorXlow(Int_t bin) const virtual Double_t GetErrorY(Int_t bin) const virtual Double_t GetErrorYhigh(Int_t bin) const virtual Double_t GetErrorYlow(Int_t bin) const virtual Double_t* GetEX() const virtual Double_t* GetEY() const virtual TClass* IsA() const TGraphErrors& operator=(const TGraphErrors&) virtual void Paint(Option_t* chopt) virtual void Print(Option_t* chopt) const virtual void SavePrimitive(ofstream& out, Option_t* option) virtual void SetPointError(Double_t ex, Double_t ey) virtual void SetPointError(Int_t i, Double_t ex, Double_t ey) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members


    protected:
Double_t* fEX [fNpoints] array of X errors Double_t* fEY [fNpoints] array of Y errors

Class Description

   A TGraphErrors is a TGraph with error bars.
   The various format options to draw a TGraphErrors are explained in
     TGraphErrors::Paint.

  The picture below has been generated by the following macro:
------------------------------------------------------------------------
{
   gROOT->Reset();
   c1 = new TCanvas("c1","A Simple Graph with error bars",200,10,700,500);

   c1->SetFillColor(42);
   c1->SetGrid();
   c1->GetFrame()->SetFillColor(21);
   c1->GetFrame()->SetBorderSize(12);

   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 ex[n] = {.05,.1,.07,.07,.04,.05,.06,.07,.08,.05};
   Double_t ey[n] = {.8,.7,.6,.5,.4,.4,.5,.6,.7,.8};
   gr = new TGraphErrors(n,x,y,ex,ey);
   gr->SetTitle("TGraphErrors Example");
   gr->SetMarkerColor(4);
   gr->SetMarkerStyle(21);
   gr->Draw("ALP");

   c1->Update();
}
/* */


TGraphErrors(): TGraph()
*-*-*-*-*-*-*-*-*-*-*TGraphErrors default constructor*-*-*-*-*-*-*-*-*-*-*-*
*-*                  ================================

TGraphErrors(Int_t n) : TGraph(n)
*-*-*-*-*-*-*-*-*-*-*TGraphErrors normal constructor*-*-*-*-*-*-*-*-*-*-*-*-*
*-*                  ===============================

  the arrays are preset to zero

TGraphErrors(Int_t n, const Float_t *x, const Float_t *y, const Float_t *ex, const Float_t *ey) : TGraph(n,x,y)
*-*-*-*-*-*-*-*-*-*-*TGraphErrors normal constructor*-*-*-*-*-*-*-*-*-*-*-*-*
*-*                  ===============================

  if ex or ey are null, the corresponding arrays are preset to zero

TGraphErrors(Int_t n, const Double_t *x, const Double_t *y, const Double_t *ex, const Double_t *ey) : TGraph(n,x,y)
*-*-*-*-*-*-*-*-*-*-*TGraphErrors normal constructor*-*-*-*-*-*-*-*-*-*-*-*-*
*-*                  ===============================

  if ex or ey are null, the corresponding arrays are preset to zero

TGraphErrors(const TVector &vx, const TVector &vy, const TVector &vex, const TVector &vey) :TGraph()
 constructor with four vectors of floats in input
 A grapherrors is built with the X coordinates taken from vx and Y coord from vy
 and the errors from vectors vex and vey.
 The number of points in the graph is the minimum of number of points
 in vx and vy.

TGraphErrors(const TVectorD &vx, const TVectorD &vy, const TVectorD &vex, const TVectorD &vey) :TGraph()
 constructor with four vectors of doubles in input
 A grapherrors is built with the X coordinates taken from vx and Y coord from vy
 and the errors from vectors vex and vey.
 The number of points in the graph is the minimum of number of points
 in vx and vy.

TGraphErrors(const TGraphErrors &gr) : TGraph(gr)
 TGraphErrors copy constructor

TGraphErrors(const TH1 *h) : TGraph(h)
 TGraphErrors constructor importing its parameters from the TH1 object passed as argument

TGraphErrors(const char *filename, const char *format, Option_t *) : TGraph(100)
 GraphErrors constructor reading input from filename
 filename is assumed to contain at least 3 columns of numbers
 convention for format (default="%lg %lg %lg %lg)
  format = "%lg %lg"         read only 2 first columns into X,Y
  format = "%lg %lg %lg"     read only 3 first columns into X,Y and EY
  format = "%lg %lg %lg %lg" read only 4 first columns into X,Y,EX,EY

~TGraphErrors()
*-*-*-*-*-*-*-*-*-*-*TGraphErrors default destructor*-*-*-*-*-*-*-*-*-*-*-*-*
*-*                  ===============================

void Apply(TF1 *f)
 apply function to all the data points
 y = f(x,y)

 The error is calculated as ey=(f(x,y+ey)-f(x,y-ey))/2
 This is the same as error(fy) = df/dy * ey for small errors

 For generic functions the symmetric errors might become non-symmetric
 and are averaged here. Use TGraphAsymmErrors if desired.

 error on x doesn't change
 function suggested/implemented by Miroslav Helbich <helbich@mail.desy.de>

Int_t CalculateScanfFields(const char *fmt)

void ComputeRange(Double_t &xmin, Double_t &ymin, Double_t &xmax, Double_t &ymax) const

void CopyAndRelease(Double_t **newarrays, Int_t ibegin, Int_t iend, Int_t obegin)

Bool_t CopyPoints(Double_t **arrays, Int_t ibegin, Int_t iend, Int_t obegin)
 Copy errors from fEX and fEY to arrays[0] and arrays[1]
 or to fX and fY. Copy points.

Bool_t CtorAllocate()

void FillZero(Int_t begin, Int_t end, Bool_t from_ctor)
 Set zero values for point arrays in the range [begin, end)

Double_t GetErrorX(Int_t i) const
    This function is called by GraphFitChisquare.
    It returns the error along X at point i.

Double_t GetErrorY(Int_t i) const
    This function is called by GraphFitChisquare.
    It returns the error along Y at point i.

Double_t GetErrorXhigh(Int_t i) const
    This function is called by GraphFitChisquare.
    It returns the error along X at point i.

Double_t GetErrorXlow(Int_t i) const
    This function is called by GraphFitChisquare.
    It returns the error along X at point i.

Double_t GetErrorYhigh(Int_t i) const
    This function is called by GraphFitChisquare.
    It returns the error along X at point i.

Double_t GetErrorYlow(Int_t i) const
    This function is called by GraphFitChisquare.
    It returns the error along X at point i.

void Paint(Option_t *option)
 Paint this TGraphErrors with its current attributes

 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.

 if option contains ">" an arrow is drawn at the end of the error bars
 if option contains "|>" a full arrow is drawn at the end of the error bars
 the size of the arrow is set to 2/3 of the marker size.

 By default, error bars are drawn. If option "X" is specified,
 the errors are not drawn (TGraph::Paint equivalent).

 if option "[]" is specified 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.

 if option "2" is specified error rectangles are drawn.

 if option "3" is specified a filled area is drawn through the end points of
 the vertical error bars.

 if option "4" is specified a smoothed filled area is drawn through the end
 points of the vertical error bars.

 Use gStyle->SetErrorX(dx) to control the size of the error along x.
 set dx = 0 to suppress the error along x.

 Use gStyle->SetEndErrorSize(np) to control the size of the lines
 at the end of the error bars (when option 1 is used).
 By default np=1. (np represents the number of pixels).

void Print(Option_t *) const
*-*-*-*-*-*-*-*-*-*-*Print graph and errors values*-*-*-*-*-*-*-*-*-*-*-*
*-*                  =============================


void SavePrimitive(ofstream &out, Option_t *option)
 Save primitive as a C++ statement(s) on output stream out

void SetPointError(Double_t ex, Double_t ey)
*-*-*-*-*-*-*Set ex and ey values for point pointed by the mouse*-*-*-*
*-*          ===================================================

void SetPointError(Int_t i, Double_t ex, Double_t ey)
*-*-*-*-*-*-*-*-*-*-*Set ex and ey values for point number i*-*-*-*-*-*-*-*
*-*                  =======================================

void Streamer(TBuffer &b)
 Stream an object of class TGraphErrors.

void SwapPoints(Int_t pos1, Int_t pos2)



Inline Functions


           Double_t** Allocate(Int_t size)
            Double_t* GetEX() const
            Double_t* GetEY() const
              TClass* Class()
              TClass* IsA() const
                 void ShowMembers(TMemberInspector& insp, char* parent)
                 void StreamerNVirtual(TBuffer& b)
        TGraphErrors& operator=(const TGraphErrors&)


Author: Rene Brun 15/09/96
Last update: root/graf:$Name: $:$Id: TGraphErrors.cxx,v 1.47 2005/03/07 09:15:45 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.