Log of /trunk/hist/hist/src/TGraphErrors.cxx
Parent Directory
Revision
44507 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Jun 4 12:30:41 2012 UTC (2 years, 7 months ago) by
axel
File length: 24283 byte(s)
Diff to
previous 44213
Remove
using namespace std;
from Riostream.h, which has huge consequences for all of ROOT.
Riostream.h is now a simple wrapper for fstream, iostream, iomanip for backward compatibility; Riosfwd.h simply wraps iosfwd.
Because of templates and their inline functions, Riostream.h needed to be included in headers, too (e.g. TParameter.h), which violated the assumption that Riostream.h is not exposing its using namespace std to headers.
ROOT now requires R__ANSISTREAM, R__SSTREAM, which does not change the set of supported compilers.
Without "using namespace std", several identifiers are now prefixed by std::; e.g. roofit/* source files now have a using namespace std to keep their coding style.
TFile::MakeProject() now generates "using namespace std" to convert the CINT-style class names into C++ ones.
Revision
44213 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu May 10 09:08:22 2012 UTC (2 years, 8 months ago) by
moneta
File length: 24208 byte(s)
Diff to
previous 44012
apply several fixes found by Coverity
In particular fix assignment operators (Copy) in TH1 and TGraph classes for memory leaks
Revision
41114 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Oct 4 13:06:52 2011 UTC (3 years, 3 months ago) by
couet
File length: 23921 byte(s)
Diff to
previous 41113
The constructor from a file is now able to handle delimiters. Like in the .csv files. (Implementation done by Mathieu Trocme)
Revision
38627 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Mar 25 15:15:10 2011 UTC (3 years, 10 months ago) by
couet
File length: 19622 byte(s)
Diff to
previous 37972
- Like "SetPoint" the method "Apply" modifies the graph content.
So, a logic similar to the one implemented in SetPoint should
be done, ie:
1) if fHistogram exists it is reset.
2) if gPad exist a gPad->Modified() is issued.
Revision
37972 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Feb 4 10:08:04 2011 UTC (3 years, 11 months ago) by
couet
File length: 19518 byte(s)
Diff to
previous 33818
- The following macro generated wrong C file:
{
TGraphErrors *ge = new TGraphErrors(2);
ge->SetName("aaa"); // <<< without this it works
ge->SetPoint(1, 1, 1); ge->SetPoint(2, 2, 1);
ge->Draw("ap*");
gPad->Update();
ge->SavePrimitive(cout);
}
Revision
24084 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sun Jun 1 15:34:01 2008 UTC (6 years, 7 months ago) by
brun
Original Path:
trunk/graf2d/graf/src/TGraphErrors.cxx
File length: 19300 byte(s)
Diff to
previous 24065
From Olivier and me:
Split the TGraph classes to move the graphics code to separate classes.
These classes will be moved to the hist directory once the classes will be ok.
The TGraphs are painted via the TVirtualGraphPainter class and its concrete
implementation TGraphPainter.
At the difference of the TH1 classes for which a different painter is created
when drawing each histogram, one single TGraphPainter class is created.
The TGraphPainter class does not have internal state, all the information
from TGraph is passed to the drawing functions via parameters.
Revision
23140 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Apr 11 11:01:39 2008 UTC (6 years, 9 months ago) by
rdm
Original Path:
trunk/graf2d/graf/src/TGraphErrors.cxx
File length: 26367 byte(s)
Diff to
previous 20882
move the following directories to "graf2d":
asimage, freetype, gpad, graf, postscript, qt, win32gdk, x11, x11ttf
move the following directories to "graf3d":
eve, ftgl, g3d, gl, x3d
Revision
20335 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sat Oct 13 14:19:50 2007 UTC (7 years, 3 months ago) by
brun
Original Path:
trunk/graf/src/TGraphErrors.cxx
File length: 26367 byte(s)
Diff to
previous 20308
Change TGraph::ComputeRange to compute the x/y range of the graph.
Move code previously in TGraph::PaintGraph or TGraph::PaintGrapHist to TGraph::ComputeGraph.
The functions like TGraphErrors::ComputeGraph call first TGraph::ComputeRange.
--achis line, and those below, will be ignored--
M graf/src/TGraph.cxx
M graf/src/TMultiGraph.cxx
M graf/src/TGraphErrors.cxx
M graf/src/TGraphAsymmErrors.cxx
M graf/src/TGraphBentErrors.cxx
Revision
20297 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Oct 10 16:20:03 2007 UTC (7 years, 3 months ago) by
couet
Original Path:
trunk/graf/src/TGraphErrors.cxx
File length: 26311 byte(s)
Diff to
previous 19826
- The SavePrimitive mechanism did not work properly. In particular
it was not possible to save various kind of graphs in several multigraph
in the same macro. Also in case of TGraph the generated macro was wrong
(Add() was missing).
- Make the help in the THTML style
- coding convension
Revision
17727 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Feb 6 14:35:45 2007 UTC (7 years, 11 months ago) by
brun
Original Path:
trunk/graf/src/TGraphErrors.cxx
File length: 26430 byte(s)
Diff to
previous 17469
In the Streamer functions replace the lines like
TPad::Class()->ReadBuffer(b, this, v, R__s, R__c);
TPad::Class()->WriteBuffer(b,this);
by
b.ReadClassBuffer(TPad::Class(), this, v, R__s, R__c);
b.WriteClassBuffer(TPad::Class(),this);
Revision
15672 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Jul 3 16:10:46 2006 UTC (8 years, 6 months ago) by
brun
Original Path:
trunk/graf/src/TGraphErrors.cxx
File length: 26400 byte(s)
Diff to
previous 15171
from Axel:
Change the signature of SavePrimitive from
void SavePrimitive(ofstream &out, Option_t *option);
to
void SavePrimitive(ostream &out, Option_t *option = "");
With this change one can do, eg
myhist.SavePrimitive(std::cout);
WARNING: do rm -f tree/src/*.o
Revision
15134 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue May 23 04:47:42 2006 UTC (8 years, 8 months ago) by
brun
Original Path:
trunk/graf/src/TGraphErrors.cxx
File length: 26379 byte(s)
Diff to
previous 14903
From Federico Carminati:
"I have implemented all copy and equal operators needed to silence all
warnings in AliRoot, as requested. I have implemented shallow copies as
would do the default operators synthetized by the compiler.
Most operators are protected. If users complain, you just have to move
them into the public area, but class derivation is of course supported.
It has been a terrible job, I have modified 278 files, but the changes
are backward compabile, and this goes a long way to permitting user to
use the effc++ flag with root headers."
Revision
14336 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Mar 20 21:43:44 2006 UTC (8 years, 10 months ago) by
pcanal
Original Path:
trunk/graf/src/TGraphErrors.cxx
File length: 25987 byte(s)
Diff to
previous 13932
Reduce direct dependencies on TClass.h, TROOT.h and TStreamerInfo.h.
Warning: This means that some file that relied on the indirect
inclusion of these header file might now fail to compile with
an error message mention that gROOT is no known or that TClass,
TROOT or TStreamerInfo is incompletely defined. Simply add the
proper include directive.
Revision
11861 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue May 24 17:37:03 2005 UTC (9 years, 8 months ago) by
brun
Original Path:
trunk/graf/src/TGraphErrors.cxx
File length: 25782 byte(s)
Diff to
previous 11251
From Olivier:
- In TGraphErrors::Paint: if a point is outside the pad limits it is set
to the limit it exceed. Previously it was not initialized. This produced
random drawing with the following macro:
{
const int n=200;
double x[n],y[n],e[n];
TCanvas *c1 = new TCanvas("c1", "Test",800,600);
for (int i=0;i<n;i++) {
x[i]=i;
y[i]=sqrt(i);
e[i]=y[i]/(i+1);
}
TH1D *Fond = new TH1D("Fond","",2,0,n);
Fond->SetMinimum(0);
Fond->SetMaximum(10);
Fond->Draw();
TGraphErrors *gr = new TGraphErrors(n,x,y,0,e);
gr->SetFillColor(17);
gr->Draw(" E3");
}
Revision
11251 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Mar 7 09:15:45 2005 UTC (9 years, 10 months ago) by
brun
Original Path:
trunk/graf/src/TGraphErrors.cxx
File length: 25734 byte(s)
Diff to
previous 11226
For back compatibility change names of some recently introduced functions.
virtual Double_t GetErrorXhigh(Int_t bin) const;
virtual Double_t GetErrorXlow(Int_t bin) const;
virtual Double_t GetErrorYhigh(Int_t bin) const;
virtual Double_t GetErrorYlow(Int_t bin) const;
virtual Double_t *GetEXhigh() const
virtual Double_t *GetEXlow() const
virtual Double_t *GetEYhigh() const
virtual Double_t *GetEYlow() const
Revision
11226 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Mar 4 09:06:37 2005 UTC (9 years, 10 months ago) by
brun
Original Path:
trunk/graf/src/TGraphErrors.cxx
File length: 25718 byte(s)
Diff to
previous 11043
From Anna Kreshuk:
- TLinearFitter class: Linear fitter is used to fit a set of data points with a linear
combination of specified functions (with or without weights). The "linear" in the name
stands for "linear in parameters", not variables. The main advantages,
compared to a general non-linear fitter, is that the linear fitter is considerably
faster and doesn't require setting the initial values of parameters.
The linear fitter can be used directly or through TH1::Fit and TGraph::Fit functions
When it's used directly, functions of more than 3 dimensions can be fitted.
- TFormula: a new data member fLinearParts and methods to process it are added. Now
one can create a function of the type that can be fit by the linear fitter.
Example: TFormula f("f", "x++sin(x)") is equivalent to
TFormula f("f","[0]*x + [1]*sin(x)"), but if a TH1::Fit or a TGraph::Fit is performed
with the 1st formula, it goes through the linear fitter, if it's performed with the
2nd formula, it goes through Minuit.
- TMultiGraph class: the Fit method is implemented, allowing to fit all the graphs
of a multigraph simultaneously
- TGraph, TGraphErrors, TGraphAsymmErrors, TGraphBentErrors - functions GetEXhigh(),
GetEXlow(), GetEYhigh(), GetEYlow() implemented to simplify the GraphFitChisquare()
function of the TFitter class
- TH1, TGraph, TGraph2D, TMultiGraph - changes in the Fit functions, allowing to use
the linear fitter. Fitting with "polN" functions redirected to use the linear fitter,
in cases where no options, except "range", are specified.
Revision
9966 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Sep 10 07:34:04 2004 UTC (10 years, 4 months ago) by
brun
Original Path:
trunk/graf/src/TGraphErrors.cxx
File length: 25170 byte(s)
Diff to
previous 9877
From Maxim Nikulin:
Several improvements in the TGraph, TGraphErrors memory management
functions.
Added test (2 == sscanf(...)) in the TGraph::TGraph(const
char *filename, const char *format) constructor. It allows to skip empty
lines and comments like '# comment '. Similar TGraphErrors constructor
uses inaccurate field counting algorithm. It doesn't allow skipping
numbers using "*" modifier.
Revision
9505 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Jul 12 20:06:33 2004 UTC (10 years, 6 months ago) by
brun
Original Path:
trunk/graf/src/TGraphErrors.cxx
File length: 23954 byte(s)
Diff to
previous 8801
From Olivier:
New options in TGraphErrors::Paint, TGraphAsymmErrors::Paint and in
TGraphBentErrors::Paint :
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.
Example:
{
gROOT->Reset();
c1 = new TCanvas("c1","A Simple GraphErrors Example",200,10,700,500);
const Int_t n = 20;
Double_t x[n], y[n], ex[n], ey[n];
for (Int_t i=0;i<n;i++) {
x[i] = i*0.1;
y[i] = 10*sin(x[i]+0.2);
ex[i] = 0.08;
ey[i] = 0.1*i;
}
gr = new TGraphErrors(n,x,y,ex,ey);
gr->Draw("A3");
}
Revision
8800 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu May 6 09:40:30 2004 UTC (10 years, 8 months ago) by
brun
Original Path:
trunk/graf/src/TGraphErrors.cxx
File length: 22553 byte(s)
Diff to
previous 8287
Implement a new TGraphErrors constructor reading data from a file (like TGraph)
TGraphErrors(const char *filename, const char *format, Option_t *)
// 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
Revision
5235 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sat Sep 7 20:55:42 2002 UTC (12 years, 4 months ago) by
brun
Original Path:
trunk/graf/src/TGraphErrors.cxx
File length: 20511 byte(s)
Diff to
previous 5103
TStyle::SetEndErrorSize moved from declaration to implementation file.
Document this function that can be used to remove the small lines at the end
of the error bars.
Default value for parameter changed from 1 to 2 in such a way that calling
gStyle->setEndErrorSize(0); will remove the end lines
Modify THistPainter::PaintErrors and TGraphErrors::Paint accordingly.
Revision
4105 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Feb 25 23:10:33 2002 UTC (12 years, 11 months ago) by
brun
Original Path:
trunk/graf/src/TGraphErrors.cxx
File length: 18882 byte(s)
Diff to
previous 3748
Use the new function TStyle::GetEndErrorSize to set the length of
the lines drawn at the end of the 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 reprersents the number of pixels).
Revision
3500 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Dec 19 14:21:54 2001 UTC (13 years, 1 month ago) by
brun
Original Path:
trunk/graf/src/TGraphErrors.cxx
File length: 18490 byte(s)
Diff to
previous 3494
Add new functions to all the TGraph classes to interactively with the mouse
add a new point or remove a point. These new functions are available
from the context menu.
Int_t InsertPoint();
Int_t RemovePoint();
Add new function SetPointError in TGraphErrors and TGraphAsymmErrors.
This new function is also in the context menu.
Revision
3017 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Oct 12 07:49:41 2001 UTC (13 years, 3 months ago) by
brun
Original Path:
trunk/graf/src/TGraphErrors.cxx
File length: 15902 byte(s)
Diff to
previous 2603
In all the TGraphX classes add a new method Apply suggested and implemented by
Miroslav Helbich <helbich@mail.desy.de>
If one has points x,y of TGraph, sometimes it is convenient to apply a
function to those points e.g y=f(x,y). There are few examples I've been
dealing with, like scale the points by some number f(x,y)=y*scale factor
or if you try to fit some complicated formula it is sometimes better to do
the transformation first.
For classes TGraphErrors and TGraphAssymErrors the situation becomes a
little bit more complicated since the error bars have to be changed.
Revision
2468 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jun 27 08:12:27 2001 UTC (13 years, 7 months ago) by
brun
Original Path:
trunk/graf/src/TGraphErrors.cxx
File length: 15017 byte(s)
Diff to
previous 2448
Implement new option "[]" in the TGraph::Paint and TGraphAsymmErrors::Paint.
// 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.
Revision
1902 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Apr 6 07:10:06 2001 UTC (13 years, 9 months ago) by
brun
Original Path:
trunk/graf/src/TGraphErrors.cxx
File length: 14451 byte(s)
Diff to
previous 1847
Implement a new option in TGraphErrors::Paint.
// 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.
Revision
1715 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Feb 28 07:22:46 2001 UTC (13 years, 10 months ago) by
brun
Original Path:
trunk/graf/src/TGraphErrors.cxx
File length: 13232 byte(s)
Diff to
previous 1225
Change float* or double* to const float* or const double* in the following
functions:
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);
Revision
1205 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Dec 13 15:13:57 2000 UTC (14 years, 1 month ago) by
brun
Original Path:
trunk/graf/src/TGraphErrors.cxx
File length: 13009 byte(s)
Diff to
previous 985
W A R N I N G !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
==================================================================
A very long list of changes in this pre-release of version 3.00.
We have modified the signature of many functions (in particular TObject)
to introduce more constness in the system.
You must change your code if your class derives from TObject and uses
one of the modified functions such as ls, Print, Compare, Hash, etc.
The modified functions in TObject have the following signature:
virtual TObject *Clone() const;
virtual Int_t Compare(const TObject *obj) const;
virtual void Delete(Option_t *option=""); // *MENU*
virtual void DrawClass() const; // *MENU*
virtual void DrawClone(Option_t *option="") const; // *MENU*
virtual void Dump() const; // *MENU*
virtual TObject *FindObject(const TObject *obj) const;
virtual char *GetObjectInfo(Int_t px, Int_t py) const;
virtual ULong_t Hash() const;
virtual void Inspect() const; // *MENU*
virtual Bool_t IsEqual(const TObject *obj) const;
virtual void ls(Option_t *option="") const;
virtual void Print(Option_t *option="") const;
A similar operation has been done with classes such as TH1, TVirtualPad,
TTree, etc.
Revision
549 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Aug 31 17:05:44 2000 UTC (14 years, 4 months ago) by
brun
Original Path:
trunk/graf/src/TGraphErrors.cxx
File length: 12719 byte(s)
Diff to
previous 150
Add new functions:
TGraph::Set(Int_t np)
TGraphErrors::Set(Int_t np)
to modify the number of points in the graph without destroying
the existing points.
In TGraph::PaintGraph, the intermediate histogram created when the option "A"
is specified has now a number of channels greater or equal to the number
of points in the graph. This permits to zoom a graph without limitations.
Revision
150 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Jun 13 10:58:23 2000 UTC (14 years, 7 months ago) by
brun
Original Path:
trunk/graf/src/TGraphErrors.cxx
File length: 11830 byte(s)
Diff to
previous 3
- Mods in TGraphErrors.h
The internal dynamic arrays fEX and fEY have their type changed from Float_t to Double_t
class VersionID changed from 1 to 2.
New constructor:
TGraphErrors(Int_t n);
The arguments of the other constructors are now mandatory:
TGraphErrors(Int_t n, Float_t *x, Float_t *y, Float_t *ex=0, Float_t *ey=0);
TGraphErrors(Int_t n, Double_t *x, Double_t *y, Double_t *ex=0, Double_t *ey=0);
The following functions have their arguments or return type
changed from Float_t to Double_t:
virtual void ComputeRange(Double_t &xmin, Double_t &ymin, Double_t &xmax, Double_t &ymax);
Double_t GetErrorX(Int_t bin);
Double_t GetErrorY(Int_t bin);
Double_t *GetEX() {return fEX;}
Double_t *GetEY() {return fEY;}
virtual void SetPoint(Int_t i, Double_t x, Double_t y);
virtual void SetPointError(Int_t i, Double_t ex, Double_t ey);
- Mods in TGraphErrors.cxx. See changes in TGraphErrors.h.
TGraphErrors::Streamer modified to read old objects written in single precision.
This form allows you to request diffs between any two revisions of this file.
For each of the two "sides" of the diff,
enter a numeric revision.