ROOT version 3.03 Release Notes

2002-04-10 09:19  brun

	* base/inc/RVersion.h, build/version_number:
	Stamp version 3.03/04
	
2002-04-09 17:29  brun

	* tree/src/TChain.cxx:
	Add comments in TChain::Print
	
2002-04-09 17:11  rdm

	* gui/inc/TGFSContainer.h:
	make methods virtual, allowing user customization.
	
2002-04-09 16:46  rdm

	* configure, config/Makefile.alphakcc, config/Makefile.in,
	config/Makefile.linuxkcc, config/Makefile.sgikcc,
	config/Makefile.solariskcc, config/root-config.in,
	test/Makefile.in:
	add exceptions case in the configure script. This is mainly used by
	Fermilab experiments using KCC compilers. Use:
	  ./configure linuxkcc --build=noexceptions
	to build ROOT without exception handling, or set env var EXCEPTIONS=no.
	Also reflected in root-config --has-exceptions and --clfags.
	
2002-04-09 15:42  rdm

	* matrix/src/: TMatrix.cxx, TMatrixD.cxx:
	fix memory leak in case max_value < singularity_tolerance. Found by
	Paul Balm.
	
2002-04-09 12:42  rdm

	* rfio/src/TRFIOFile.cxx:
	use rfiosetopt() to turn of buffered reading. ROOT buffers itself.
	
2002-04-09 09:15  brun

	* hist/: inc/TProfile.h, src/TProfile.cxx:
	Add a new TProfile constructor:
	    TProfile(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins, Axis_t ylow,Axis_t yup, Option_t *option="");
	
2002-04-08 17:06  rdm

	* base/: inc/TContextMenu.h, inc/TObject.h, src/TContextMenu.cxx,
	src/TObject.cxx:
	signature change in Execute() (TMethod to TFunction) for the call using
	a TObjArray of arguments. Change needed after Damir's enhancements.
	
2002-04-08 12:46  brun

	* gpad/src/TPad.cxx:
	Add a new way of adding several canvases to the same Postscript file, in response
	to the following mail:
	 "during a root session, I would like to save some (but not all) of the
	plots I'm making on the screen on a single ps file. Furthermore, I want
	to decide to save a given plot only AFTER I've seen it.
	
	Reading the root documentation, I've found :
	- how to save a single plot on a ps file, but it creates as many ps
	files as there are plots
	- how to save many pictures in a single ps file (in the "How to use the
	PostScript interface" web page), but you need to know BEFORE which plot
	you want to save."
	
	//
	//   Writing several canvases to the same Postscript file
	//   ----------------------------------------------------
	// if the Postscript file name finishes with "(", the file is not closed
	// if the Postscript file name finishes with ")" and the file has been opened
	//    with "(", the file is closed. Example:
	// {
	//    TCanvas c1("c1");
	//    h1.Draw();
	//    c1.Print("c1.ps("); //write canvas and keep the ps file open
	//    h2.Draw();
	//    c1.Print("c1.ps"); canvas is added to "c1.ps"
	//    h3.Draw();
	//    c1.Print("c1.ps)"); canvas is added to "c1.ps" and ps file is closed
	// }
	//
	//  Note that the following sequence writes the canvas to "c1.ps" and closes the ps file.:
	//    TCanvas c1("c1");
	//    h1.Draw();
	//    c1.Print("c1.ps");
	//
	
2002-04-08 08:38  brun

	* histpainter/src/THistPainter.cxx:
	Improvements in THistPainter::PaintPalette in case:
	 - the range is less than the number of colors
	 - the range is less than the number of possible contours (default 20)
	
2002-04-06 23:28  brun

	* base/: inc/TView.h, src/TView.cxx:
	Add the following functions to TView.h:
	    virtual void Zoom();                          // *MENU*
	    virtual void UnZoom();                        // *MENU*
	
	Fix a problem in TView::Centered3DImages in case the maximum on one axis is negative.
	: ----------------------------------------------------------------------
	
2002-04-06 23:24  brun

	* g3d/src/TAxis3D.cxx:
	DistancetoPrimitive was always selecting the axis.
	change 999999 to 9.
	
2002-04-06 20:10  rdm

	* base/src/TTimeStamp.cxx:
	timestamp was not correct on Win32, now it has 100ns precision.
	
2002-04-06 18:42  brun

	* tree/src/TTree.cxx:
	Protect TTree::CloneTree in case TChain::CloneTree is called.
	
2002-04-06 16:55  brun

	* tree/src/: TBranch.cxx, TBranchElement.cxx, TBranchObject.cxx,
	TTree.cxx:
	Modify the GetEntry functions to return -1 in case an error occurs
	when reading one branch basket.
	
2002-04-05 13:39  rdm

	* base/src/TContextMenu.cxx, meta/src/TDataMember.cxx:
	fix in TDataMember::SetterMethod() to take into account that Bool_t is now
	actually a bool (this fixes the TPad SetEditable, and other, Bool_t argument
	methods in the context menus).
	
2002-04-05 10:14  brun

	* graf/inc/TSpline.h:
	Thanks to Steve Udriot for correcting some comments in the data members
	of TSplinePoly3 and TSplinePoly5
	
2002-04-04 19:32  rdm

	* meta/inc/LinkDef.h, meta/inc/TClass.h, meta/inc/TClassMenuItem.h,
	meta/src/TClass.cxx, meta/src/TClassMenuItem.cxx, README/CREDITS,
	base/inc/TContextMenu.h, base/inc/TContextMenuImp.h,
	base/src/TContextMenu.cxx, gui/inc/TRootContextMenu.h,
	gui/src/TRootContextMenu.cxx, gui/src/TRootDialog.cxx,
	tutorials/customContextMenu.C, tutorials/customTH1Fmenu.C:
	make the context menus customizable, i.e. change titles and add/remove actions.
	Two new tutorials demonstrate the functionality. Contribution by Damir Buskulic.
	
2002-04-04 19:28  rdm

	* treeplayer/: inc/TTreeFormulaManager.h, src/TTreeFormula.cxx,
	src/TTreeFormulaManager.cxx:
	correct some Error() and Warning() messages.
	
2002-04-04 13:03  brun

	* cont/: inc/TClonesArray.h, inc/TObjArray.h, src/TClonesArray.cxx:
	Implement const flavour of operator []. This should also solve the problem
	with fChanged being modified by the non-const operator.
	
2002-04-04 12:28  brun

	* cont/inc/: TArrayC.h, TArrayD.h, TArrayF.h, TArrayI.h, TArrayL.h,
	TArrayS.h:
	Add a suggestion from gero.flucke@desy.de in all TArray classes:
	A new operator [] const.
	its purpose is the same as the At(Int_t i) does.
	But with it you don't have to care whether the method you
	are using is const or not: on the right hand side of an
	equation always the operator [](Int_t i) can be used for
	datamember-TArray's!
	
2002-04-04 12:11  rdm

	* clib/inc/Getline.h, clib/src/Getline.c, rint/src/TTabCom.cxx,
	x11/src/Rotated.cxx:
	several changes to allow static linking of ROOT, Phat (the Phobos framework)
	and Geant. Make some getline symbols unique, e.g. gl_tab_hook to Gl_tab_hook
	and make some methods static. By Maarten.
	
2002-04-04 12:03  brun

	* base/src/TKey.cxx:
	Undo previous fix in TKey::Hash. One must find a better solution.
	
2002-04-04 10:58  brun

	* base/: inc/TKey.h, src/TKey.cxx:
	Implement TKey::Hash overloading TNamed::Hash and using TObject::Hash instead.
	The function in TNamed::Hash is not convenient for TKey in case many keys
	have the name but different cycles.
	
2002-04-04 09:07  brun

	* graf/src/TBox.cxx:
	Fix suggested by Brett Wiren:
	The test for "insideness" in TBox::DistancetoPrimitive in the case of
	a filled TBox misses the TBox's very edge.  This causes 1 pixel
	wide/tall TBoxes to be invisible to pointer interactions.
	
2002-04-04 09:04  brun

	* tree/src/: TBranch.cxx, TBranchElement.cxx, TBranchObject.cxx:
	Fix a mistake in the previous fix in SetAddress.
	
2002-04-04 08:58  brun

	* tree/src/: TBranch.cxx, TBranchElement.cxx, TBranchObject.cxx:
	Do not execute SetAddress if the branch is disabled. This may create memory leaks
	when the branch address is set from TChain::LoadTree.
	
2002-04-03 18:40  rdm

	* gui/src/TGClient.cxx:
	put extended warning message in GetColorByName() in a single Warning().
	
2002-04-03 18:39  rdm

	* configure:
	explicitely link libMySQL also with libz.
	
2002-04-03 15:33  brun

	* hist/src/TF1.cxx:
	In all the TF1 constructors set the FillStyle to 0.
	To paint the fill area below the function, simply set the FillStyle to 1001 or 1
	
2002-04-03 12:44  brun

	* base/inc/RVersion.h, build/version_number:
	Stamp version 3.03/03
	
2002-04-03 12:41  brun

	* gui/src/TGClient.cxx:
	Add additional information in TGClient::GetColorByName after printing the Warning;
	"GetColorByName", "couldn't retrieve color xxxx"
	 This problem typically appears when running ROOT from
	 an X terminal with not enough memory and another application
	 like Netscape is already running
	 ====> Kill Netscape and start again ROOT
	
	I am tired to always answer the same question.
	
2002-04-02 18:21  brun

	* gpad/src/TPad.cxx:
	Add special case for WIN32 in TPad::PaintBox when drawing fill patterns.
	
2002-04-02 17:58  brun

	* histpainter/src/THistPainter.cxx:
	Patch from Olivier fixing a problem when drawing a 2-D histogram with
	option "surf3". The problem was visible when using polar coordinates.
	
2002-04-02 17:44  rdm

	* pgsql/src/TPgSQLServer.cxx:
	make code simpler for compiler.
	
2002-04-02 17:29  brun

	* histpainter/src/TLego.cxx:
	New patch from Olivier fixing the problems when using the hidden line modes
	with non-cartesian coordinates.
	
2002-04-02 17:28  brun

	* gpad/src/TPad.cxx:
	Modify TPad::PaintBox to behave the same way as PaintFillArea.
	With this fix, fill patterns produce the same result on the screen
	and on PostScript.
	
2002-04-02 17:26  brun

	* gpad/src/TAttFillCanvas.cxx:
	Change the TAttFill panel to display the 25 fill patterns instead
	of just 8.
	
2002-04-02 17:13  rdm

	* pgsql/src/TPgSQLServer.cxx:
	if port number is not specified in url, set argument to 0 in PQsetdbLogin().
	
2002-04-02 12:39  brun

	* graf/src/TGraph.cxx, histpainter/src/THistPainter.cxx:
	Implement new drawing option "LF2". When this option is specified,
	the histogram is paint with a fillarea connecting the center of the bins.
	
2002-04-02 09:59  brun

	* graf/: inc/TGraph.h, inc/TGraphErrors.h, src/TGraph.cxx,
	src/TGraphErrors.cxx:
	Add a new constructor accepting a TH1* h as input argument.
	
2002-04-01 19:48  brun

	* test/stress.cxx:
	Change number of reference lines for the Postscript file generated in stress16
	
2002-04-01 19:19  brun

	* base/inc/TProcessID.h, base/src/TObject.cxx,
	base/src/TProcessID.cxx, base/src/TRef.cxx,
	meta/src/TStreamerInfo.cxx:
	Several changes in the handling of TRef to support the following use case:
	An array of objects is written to a file but the TRefs
	referencing these objects are not written to the file.
	In a next session, these objects are read in memory
	and new TRefs point to these objects and are written
	to a separate file. In a third session both files
	are connected.
	To get this scenario working, one must use a dummy TRef
	set to all objects that can be referenced in the next session.
	
2002-04-01 19:12  brun

	* base/: inc/TFile.h, src/TFile.cxx:
	Add a new member fNProcessIDs to count the number of TProcessIDs written
	to the file. This member is computed in TFile::Init by counting the number
	of keys with classname TProcessID.
	
2002-04-01 19:08  brun

	* base/src/TDirectory.cxx:
	Change the allocation for the THashList from
	fKeys       = new THashList(100,4)
	to
	fKeys       = new THashList(100,50)
	The previous allocation was generating too many TList in case the number
	keys is very large.
	
2002-03-31 18:33  brun

	* graf/: inc/TGraph.h, src/TGraph.cxx:
	New signatures for the following functions:
	  void  InitExpo(Int_t first=0, Int_t last=0);
	  void  InitGaus(Int_t first=0, Int_t last=0);
	  void  InitPolynom(Int_t first=0, Int_t last=0);
	  void  LeastSquareFit(Int_t m, Double_t *a, Int_t first=0, Int_t last=0);
	  void  LeastSquareLinearFit(Int_t n, Double_t &a0, Double_t &a1, Int_t &ifail, Int_t first, Int_t last);
	
	The global variables gxfirst and gxlast have been deleted.
	
2002-03-31 10:18  rdm

	* base/inc/TFile.h:
	make GetSize() virtual so that it can be overridden in TWebFile.
	
2002-03-30 18:49  rdm

	* base/inc/LinkDef1.h:
	export kMaxInt, kMaxShort and kBitsPerByte.
	
2002-03-30 18:48  rdm

	* cint/: inc/G__ci.h, src/var.c:
	import of CINT 5.15.35.
	For what else is new see http://root.cern.ch/root/Cint.phtml?relnote.
	iostream redirect mod (G__OLDIMPLEMENTATION1635) still disabled.
	
2002-03-30 18:19  rdm

	* configure:
	change test -e to test -f for Solaris.
	
2002-03-29 21:16  brun

	* gui/src/TGButton.cxx:
	From Glen Salo:
	The following changes to TGButton.cxx seem to fix a problem I was having
	with my GUIs.  My problems were fixed by initializing the fHKeycode to
	zero in TGCheckButton and TGRadioButton following the same convention used
	in TGTextButton.
	
2002-03-29 19:18  brun

	* base/src/TSystem.cxx, proofd/src/error.cxx, rootd/src/error.cxx,
	rootx/src/rootx.cxx:
	Patch from Eddy Offermann.
	"We had problems compiling root with CC6.2 when applying the -D_REENTRANT
	 flag, see forwarded mail below from a collegue of mine, Harray Felder.
	 It does the minimal change I found necessary to be able to use the _REENTRANT
	  define in our compilation of root. (This define is used to cause the system includes
	  to generate some function calls instead of macros so that libraries
	  can potentially be used in a multithreaded executable, although in a single-threaded
	  manner. We are now setting this flag everywhere so that we can incorporate some
	  libraries into java programs, which are inherently multithreaded.)"
	
2002-03-29 19:02  brun

	* base/: inc/TMath.h, src/TMath.cxx:
	Add BreitWigner function
	Double_t TMath::BreitWigner(Double_t x, Double_t mean, Double_t gamma)
	   // Calculate a Breit Wigner function with mean and gamma
	
2002-03-29 08:20  brun

	* graf/: inc/TGraph.h, src/TGraph.cxx:
	Add two optional arguments in TGraph::Fit Axis_t xmin,Axis_t xmax (like in TH1::Fit).
	These two arguments can be given to select a fit range.
	//  Fit range
	//  =========
	//  The fit range can be specified in two ways:
	//    - specify rxmax > rxmin (default is rxmin=rxmax=0)
	//    - specify the option "R". In this case, the function will be taken
	//      instead of the full graph range.
	
2002-03-28 17:55  brun

	* graf/inc/TGraph.h:
	Move the functions LeastSquareFit and LeastSquareLinearFit from protected to public.
	
2002-03-28 17:42  brun

	* graf/src/TLegend.cxx:
	Modify TLegend::SetHeader to use the TLegend font number for the header
	instead of the font 62.
	
2002-03-28 16:34  brun

	* tree/src/TChain.cxx:
	In TChain destructor, delete the current file as well
	
2002-03-28 10:22  brun

	* base/: inc/TRandom.h, src/TRandom.cxx:
	Add the following new functions:
	
	void TRandom::RndmArray(Int_t n, Double_t *array)
	  // Return an array of n random numbers uniformly distributed
	  // between 0 and 1 not included
	
	Double_t TRandom::Uniform(Double_t x1, Double_t x2)
	// returns a uniform deviate on the interval ( x1, x2 ].
	
	void TRandom::ReadRandom(const char *filename)
	  // Reads saved random generator status from filename
	
	void TRandom::WriteRandom(const char *filename)
	  // Writes random generator status to filename
	
	Note that since TRandom is teh base class for all random number classes,
	the new function may be used with TRandom, TRandom2 and TRandom3.
	
2002-03-28 02:47  rdm

	* base/src/TApplication.cxx, meta/inc/TInterpreter.h,
	meta/src/TCint.cxx:
	handle CINT exit code on all platforms (merge of patches by Phil and me).
	
2002-03-28 02:45  rdm

	* net/: inc/TWebFile.h, src/TWebFile.cxx:
	implement GetSize() for web files (always return max file size).
	
2002-03-27 22:09  brun

	* meta/src/TStreamerInfo.cxx:
	Comment the Error statement in the Default case of the big switch
	in ReadBuffer/WriteBuffer functions. Illegal and unknown cases
	should have been traped by TStreamerInfo::Build.
	
2002-03-27 21:46  brun

	* tree/src/TTree.cxx:
	From Philippe:
	This patch insures that TTree::CopyAddress copies the address from and to
	the proper leaves even when the same leaf name is used in more than one
	branch.  In particular, it makes TTree::CopyTree actually working on
	the same type of trees.
	
2002-03-27 18:51  brun

	* base/src/TApplication.cxx:
	From Philippe,
	This patch makes the treatement of .L and .U symetrical.
	
2002-03-27 08:04  brun

	* cint/inc/G__ci.h, cint/src/init.c, meta/src/TCint.cxx:
	From Philippe.
	This patch make CINT (when used by ROOT) see all script as C++.  This is necessary
	because of nested usage of CINT.  I.e. if a script is considered a C script and then
	turn around and use ROOT functionality that require CINT in a C++ mode (like the
	StreamerInfo creation), this will fails.
	
	This seem somewhat radical but most (if not ALL) C-style script should work as well
	in C++ mode.
	
2002-03-26 17:12  brun

	* base/src/TFile.cxx:
	In the new function TFile::GetStreamerInfo, set the owner bit in the list
	such that list->delete() is not required before deleting the list.
	
2002-03-26 17:06  brun

	* base/src/TSystem.cxx:
	This patch adds more error message when rootcint or the compilation fails.
	This is in particular useful on linux for the case of a core dump of rootcint
	(was silent so far!).
	(from Philippe)
	
2002-03-26 15:09  brun

	* base/: inc/TFile.h, src/TFile.cxx:
	Add a new function TFile::GetStreamerInfoList:
	// Read the list of TStreamerInfo objects written to this file.
	// The function returns a TList. It is the user'responsability
	// to delete the list created by this function.
	//
	// Using the list, one can access additional information,eg:
	//   TFile f("myfile.root");
	//   TList *list = f.GetStreamerInfoList();
	//   TStreamerInfo *info = (TStreamerInfo*)list->FindObject("MyClass");
	//   Int_t classversionid = info->GetClassVersion();
	//   list->Delete();
	//   delete list;
	
2002-03-26 10:17  rdm

	* winnt/src/TWinNTSystem.cxx:
	in the latest patch there were 0xa0 instead of spaces (0x20) in front of the
	new lines?! How is this possible?
	
2002-03-26 10:06  brun

	* treeplayer/inc/: TTreeFormula.h, TTreeFormulaManager.h:
	Replace statements like
	 friend TTreeFormula
	by
	 friend class TTreeFormula
	
	Some compilers (AIX/xlc5 and HP-UX complain for the first form
	
2002-03-26 09:24  brun

	* treeplayer/: inc/TTreeFormulaManager.h,
	src/TTreeFormulaManager.cxx:
	New classes called by TTreeFormula
	
2002-03-26 08:15  brun

	* tutorials/tree4.C:
	Modify tree4.C to run also with ACLIC.
	
2002-03-26 08:05  brun

	* graf/src/TCutG.cxx, tree/inc/TVirtualTreePlayer.h,
	treeplayer/inc/LinkDef.h, treeplayer/inc/TTreeFormula.h,
	treeplayer/inc/TTreePlayer.h, treeplayer/src/TTreeFormula.cxx,
	treeplayer/src/TTreePlayer.cxx:
	This pacth from Philippe adds:
	
	  - Support for 2D graphical Cuts for TClonesArray members
	  - Support for 1D graphical Cuts by using their X minimum and
	        maximum as ( Xmin <= Formula <= Xmax ).
	
	  - Support for the following TTreeFormula special functions.
	
	        Entry$   : return the current entry number (== TTree::GetReadEntry())
	        Entries$ : return the total number of entries (== TTree::GetEntries())
	        Length$  : return the total number of element of this formula for this
	                        entry (==TTreeFormula::GetNdata())
	        Iteration$: return the current iteration over this formula for this
	                        entry (i.e. varies from 0 to LENGTH$).
	
	  - Synchronization of the dimensions of all the formulas involved in
	        a Draw call.
	
	    For example for (with fMatrix[4][4] and fTracks[fNtrack].fVertex[3]
	      T->Draw("fMatrix","fVertex>=2");
	
	    The corrected result is histogram use something like:
	
	        if (fTracks[0].fVertex[0]>=2) fMatrix[0][0];
	        if (fTracks[0].fVertex[1]>=2) fMatrix[0][1];
	        if (fTracks[0].fVertex[2]>=2) fMatrix[0][2];
	        if (fTracks[1].fVertex[0]>=2) fMatrix[1][0];
	        if (fTracks[1].fVertex[1]>=2) fMatrix[1][1];
	        if (fTracks[1].fVertex[2]>=2) fMatrix[1][2];
	        ....
	
	    The old behavior was:
	
	        if (fTracks[0].fVertex[0]>=2) fMatrix[0][0];
	        if (fTracks[0].fVertex[1]>=2) fMatrix[0][1];
	        if (fTracks[0].fVertex[2]>=2) fMatrix[0][2];
	        if (fTracks[1].fVertex[0]>=2) fMatrix[0][3]; // note the extra step here.
	        if (fTracks[1].fVertex[1]>=2) fMatrix[1][0];
	        if (fTracks[1].fVertex[2]>=2) fMatrix[1][1];
	        ....
	
2002-03-26 08:04  brun

	* hbook/src/THbookTree.cxx:
	Comment the line calling TTreePlayer::GetMultiplicity. This function
	has unfortunately a new calling sequence.
	
2002-03-25 21:52  brun

	* winnt/src/TWinNTSystem.cxx:
	Patch from Philippe in TWinNTSystem::GetLibraries
	(must esacpe backslash)
	
2002-03-25 21:21  brun

	* base/: inc/TRef.h, inc/LinkDef2.h, src/TRef.cxx:
	Implemement TRef operators == and !=
	New function TRef::IsValid. IsValid returns kFALSE if a TRef has not
	yet been assigned.
	
2002-03-25 21:13  brun

	* base/src/TApplication.cxx:
	Fix several typos in previous Philippe's patch.
	
2002-03-25 19:18  rdm

	* configure, krb5auth/src/Krb5Auth.cxx, proofd/src/proofd.cxx,
	rootd/src/rootd.cxx:
	some kerberos patches by Johannes Muelmenstaedt of Berkeley (and not MIT
	as previously mentioned).
	
2002-03-25 19:10  rdm

	* README/CREDITS:
	add Johannes for Kerberos5 support.
	
2002-03-25 19:10  rdm

	* base/src/TTimeStamp.cxx:
	fix compilation problem on Win32.
	
2002-03-25 17:43  rdm

	* configure, config/Makefile.in, dcache/Module.mk,
	dcache/inc/TDCacheFile.h, dcache/src/TDCacheFile.cxx:
	New version of dCache interface by Grzegorz Mazur. The important changes
	in this version are:
	
	 - contents of dcap.h is no longer included int the source, path to
	   dcap.h can be specified by --with-dcap-incdir during configuration,
	
	 - catch up with some minor modifications in libdcap API,
	
	 - improved error handling,
	
	 - quick'n'dirty but functional support for accessing files without
	   PNFS (dcap://dcachedoor...),
	
	 - preliminary support for (not yet functional in libdcap) SSL support.
	
2002-03-25 17:24  rdm

	* base/src/TTimeStamp.cxx:
	get time with microsecond precision on Linux/Unix and with 100ns precision
	on Win32. Before we had only second precision.
	
2002-03-25 08:51  brun

	* physics/: inc/TFeldmanCousins.h, src/TFeldmanCousins.cxx:
	Fix incorrect syntax with inline definitions
	
2002-03-25 08:39  brun

	* physics/src/TFeldmanCousins.cxx:
	Remove double declaration of loop index (fatal on hp-ux and VC++)
	
2002-03-23 07:38  brun

	* base/src/TApplication.cxx:
	Patch from Philippe that could fix a problem reported by Valery on Windows2000
	
2002-03-22 21:29  brun

	* tutorials/FeldmanCousins.C:
	Add new tutorial illustrating the use of TFeldmanCousins class.
	
2002-03-22 21:28  brun

	* physics/: inc/TFeldmanCousins.h, src/TFeldmanCousins.cxx:
	Several improvements of the TFeldmanCousins class by the author Adrian John Bevan.
	Add comments, and possibility to control more parameters.
	
2002-03-22 16:58  brun

	* graf/src/TPaveStats.cxx:
	Improvements by Olivier in TPaveStats::Paint.
	The size of the histogram name is optimized to always fit in the box.
	
2002-03-22 15:26  rdm

	* configure, config/root-config.in:
	root-config has new options --arch and --has-<feature> where feature can be
	any of the ./configure --has-<features>, e.g. root-config --has-mysql
	returns "yes" if mysql was enabled during the ROOT installation and
	"no" otherwise. By Christian Holm.
	
2002-03-22 14:02  brun

	* proof/src/TPacketizer.cxx:
	Fix compilation error on several machines. Double definition of TObject* o
	
2002-03-22 13:57  rdm

	* tutorials/guitest.C:
	add example of changing label fonts.
	
2002-03-22 13:56  rdm

	* README/CREDITS:
	update credits of Maarten and Olivier.
	
2002-03-21 17:51  brun

	* hist/src/TAxis.cxx:
	Do not reset the title in TAxis::Set
	
2002-03-21 17:15  rdm

	* histpainter/: inc/THistPainter.h, inc/TLego.h,
	src/THistPainter.cxx, src/TLego.cxx:
	This patch improves to things:
	
	 - The background grid on lego and surface plots is now aligned on the
	   axis main tick marks. It works for optimised and none optimised axis
	   divisions.
	
	 - It is now possible to have non optimised axis divisions (number of
	   divisions less than 0) on all 3D plots (lego and surfaces) axis and on
	   the colour palette axis.
	
	Olivier
	
2002-03-21 17:11  rdm

	* proof/inc/TPacketizer.h, base/inc/TDSet.h, base/src/TDSet.cxx,
	proof/inc/LinkDef.h, proof/inc/TProofPlayer.h,
	proof/src/TPacketizer.cxx, proof/src/TProof.cxx,
	proof/src/TProofPlayer.cxx, proof/src/TProofServ.cxx:
	more PROOF patches from Maarten.
	
2002-03-21 12:47  brun

	* tree/src/TBasket.cxx:
	In TBasket::ReadBasketBuffers and TBasket::WriteBuffer implement a logic
	like in TKey to process large buffers bigger than 32 MBytes.
	
2002-03-21 09:51  brun

	* tutorials/demos.C:
	Use the TControlBar constructor with placement.
	Show use of gStyle->SetScreenFactor.
	
2002-03-21 09:50  brun

	* gpad/src/TControlBar.cxx:
	Take into account TStyle::SetScreenFactor in the constructor.
	This allows to position the controlbar at a fix position independently
	of the screen size.
	
2002-03-20 21:47  brun

	* graf/src/TPaveText.cxx:
	Implement possibility to rotate text in a TPaveText. example
	   TPaveText *pt = new TPaveText(0.2,0.2,.8,.8,"blNDC");
	   TText *text1 = pt->AddText("Line 1");
	   text1->SetTextAngle(0);
	   text1->SetTextAlign(22);
	   TText *text2 = pt->AddText("Line 2");
	   text2->SetTextAngle(10);
	   text2->SetTextColor(kRed);
	   text2->SetTextAlign(22);
	   pt->Draw();
	
2002-03-20 19:54  rdm

	* base/src/TFile.cxx, net/src/TFTP.cxx, net/src/TNetFile.cxx,
	config/rootrc.in, net/src/TUrl.cxx, proof/etc/proof.conf.sample,
	proof/src/TProof.cxx, proof/src/TProofServ.cxx,
	proof/src/TSlave.cxx, proofd/src/proofd.cxx:
	add cases for Kerberos5 authentication. In particular the default authentication
	method for rootd and proofd can now be set in system.rootrc. The default is
	clear text passwd, but SRP and Krb5 can be specified. The default is used when
	"root:" or "proof:" appears in the url. The default can be overridden by
	specifying explicitely "roots:" or "rootk:", idem for proof.
	
2002-03-20 19:47  rdm

	* krb5auth/Module.mk, Makefile, configure, base/inc/MessageTypes.h,
	config/Makefile.in, krb5auth/src/Krb5Auth.cxx,
	net/inc/TAuthenticate.h, net/inc/TSocket.h,
	net/src/TAuthenticate.cxx, rootd/Module.mk, rootd/src/rootd.cxx:
	Kerberos5 authentication module Krb5Auth.cxx (libKrb5Auth) provided by
	Johannes Muelmenstaedt of MIT. This module will be loaded by TAuthenticate
	whenever Kerberos5 authentication is requested, like:
	TFile *f = TFile::Open("rootk://remote.domain/file.root")
	Can also be used by PROOF when started via "proofk://master.domain" but
	need still to solve problem of ticket passing to master so slaves can be
	authenticated.
	
2002-03-20 15:17  rdm

	* configure:
	remove obsolete directory new.
	
2002-03-20 13:36  rdm

	* cint/Module.mk:
	fix to create a loadfile_tmp.d file to make sure loadfile_tmp.o gets recreated
	when needed (used by rootcint_tmp).
	
2002-03-20 11:45  brun

	* tree/src/: TBranchElement.cxx, TTree.cxx:
	Protections added in case of classes derived from TBranchElement.
	
2002-03-20 11:39  brun

	* base/: inc/Gtypes.h, src/TAttMarker.cxx:
	Fix for kFullDotLarge + new enums kOpenTriangleDown and kFullCross.
	
	Add corresponding comments in TAttText.
	Code for the new markers must be introduced in the TVirtualX derived classes and Postscript.
	
2002-03-20 11:27  rdm

	* base/inc/Gtypes.h, gpad/inc/LinkDef.h:
	used directly #pragma enum in the linkdef instead of defining all enum
	constants individually. Also correct capitalization of kFullDotLarge
	in Gtypes.h.
	
2002-03-20 11:24  rdm

	* cint/: inc/G__ci.h, inc/common.h, src/disp.c, src/func.c,
	tool/ifdef/setup.bat:
	import of CINT 5.15.34.
	For what else is new see http://root.cern.ch/root/Cint.phtml?relnote.
	iostream redirect mod (G__OLDIMPLEMENTATION1635) still disabled.
	
2002-03-20 10:49  brun

	* tutorials/tree4.C:
	Correct comments. This example cannoyt be run as such with ACLIC.
	The includes for Event.h should be specified and more.
	
2002-03-20 10:01  brun

	* graf/: inc/TLegend.h, src/TLegend.cxx:
	Implement TLegend::RecursiveRemove. When an object referenced by a TLegend
	is deleted, the reference is reset.
	
2002-03-20 08:42  brun

	* x11/src/TGX11.cxx:
	Patch from Tony Colley;
	I modified the DrawPolyLine function in TGX11.cxx to split polylines with
	too many points into drawable chunks. This would not handle the case where
	someone wanted to draw a filled curve with too many points; but I don't need
	really big filled curves anyway. This change enabled ROOT to successfully
	handle a TGraph of 10^7 points (not quickly, by any means, but at least it
	draws the graph and doesn't crash).
	
2002-03-19 18:05  brun

	* tree/src/TTree.cxx, treeplayer/inc/TTreeFormula.h,
	treeplayer/src/TTreeFormula.cxx, treeplayer/src/TTreePlayer.cxx:
	Patch from Philippe:
	//     Special functions and variables
	//     ===============================
	//
	//  'ENTRY':  A TTree::Draw formula can use the special variable ENTRY
	//  to access the entry number being read.  For example to draw every
	//  other entry use:
	//    tree.Draw("myvar","ENTRY%2==0");
	
2002-03-19 17:53  brun

	* config/Makefile.aix5:
	Add option -qrtti to CXXFLAGS. The rtti option must be enabled in view
	of the coming support for classes not instrumented with ClassDef.
	
2002-03-19 11:57  brun

	* net/: inc/TMessage.h, src/TMessage.cxx:
	Do not overload TBuffer::WriteObject in TMessage.
	This is not necessary since TBuffer knows its parent.
	
2002-03-18 19:28  brun

	* base/inc/TBuffer.h:
	Declare the functions ReadObject/WriteObject/ReadClass/WriteClass virtual.
	There was a request from the HESS experiment.
	The performance penalty seems to be negligible (less than 1 per cent on stress)
	
2002-03-18 17:43  rdm

	* postscript/src/TPostScript.cxx:
	Fix for a problem in my PS code: X and Y variables were used to draw
	the Cell Array and to draw horizontal lines. The axis are only vertical
	and horizontal lines and that why it appears now. The tests I had in the
	past never were used in such a configuration.
	
2002-03-17 01:50  rdm

	* gui/inc/TRootGuiFactory.h, win32/inc/TWin32GuiFactory.h:
	made methods virtual so they can be overridden.
	
2002-03-17 01:26  rdm

	* proof/: inc/TProof.h, src/TProof.cxx, src/TProofServ.cxx:
	fix in TProof::SendFile(), propagate correclty files to new unique
	slaves even if file was already on master.
	
2002-03-16 19:41  rdm

	* graf/src/TPaveStats.cxx:
	remove unused dy.
	
2002-03-16 19:38  rdm

	* proof/inc/TProof.h:
	remove global using std::map statement.
	
2002-03-16 19:36  rdm

	* proof/: inc/TProofServ.h, src/TProofServ.cxx:
	ProofServErrorHandler() now adds to the Info, Warning and Error messages
	the master or slave id. Remove private Info version since now in TObject.
	Fix handling of kMESS_CINT messages, correctly forward using Exec() instead
	of SendCommand() which did not relay the scripts (like in ".x aap.C") to
	the slaves.
	
2002-03-16 19:30  rdm

	* base/src/TMD5.cxx:
	don't print error message in FileChecksum() if file does not exist.
	
2002-03-16 09:52  brun

	* graf/src/TPaveStats.cxx:
	Remove unused variable yfont and following statements
	
2002-03-16 09:37  brun

	* postscript/src/TSVG.cxx:
	Remove unused variable tsize and several statements
	
2002-03-15 23:11  brun

	* graf/: inc/TCutG.h, src/TCutG.cxx:
	Increment class version to 2.
	Members fObjectX, fObjectY declared non persistent.
	
	Add additional comments to indicate how to create/close a TCutG
	with the graphics editor.
	
2002-03-15 21:45  brun

	* postscript/src/TPostScript.cxx:
	Reintroduce protection for gPad=0 in TPostScript::Initialize.
	This correction was lost when the chnages by Olivier were introduced.
	
2002-03-15 18:25  rdm

	* base/inc/TROOT.h:
	fix IsProofServ(), which was not correct anymore after removal of explicit
	global TROOT object from pmain.cxx.
	
2002-03-15 18:23  rdm

	* base/inc/LinkDef2.h, base/inc/MessageTypes.h, proof/inc/TProof.h,
	proof/src/TProof.cxx, proof/src/TProofServ.cxx:
	implemented TProof::CheckFile() which is called by SendFile() to make sure
	files are not send when not needed. They are only send when the md5 is
	changed. It also makes a check on the remote nodes with unique file system
	to see if the file is already there (by sending the md5 over in a message
	of type kPROOF_CHECKFILE).
	
2002-03-15 16:51  rdm

	* base/: inc/TMD5.h, src/TMD5.cxx:
	added operator<< and operator>>.
	
2002-03-14 19:15  rdm

	* proof/inc/TProof.h:
	fix problem of std::map on broken and obsolete version of HP aCC.
	
2002-03-14 19:14  rdm

	* gpad/inc/TPad.h:
	make Modfied() emit a signal.
	
2002-03-14 19:12  rdm

	* base/src/TTimeStamp.cxx:
	change linux to R__LINUX.
	
2002-03-14 19:12  rdm

	* base/src/TBuffer.cxx:
	small code re-formatting.
	
2002-03-14 18:32  brun

	* base/: inc/TStyle.h, src/TStyle.cxx:
	Patch from Jiri Masik,
	this is a simple patch allowing to select statistics box records
	by starting letters - it is easier to remember than the current
	powers-of-ten scheme. A new function added to TStyle:
	
	void TStyle::SetOptStat(Option_t *stat)
	{
	//  The parameter mode can be = IOURMEN
	//    n ;  name of histogram is printed
	//    e ;  number of entries printed
	//    m ;  mean value printed
	//    r ;  rms printed
	//    u ;  number of underflows printed
	//    o ;  number of overflows printed
	//    i ;  integral of bins printed
	//  Example: gStyle->SetOptStat("ne");
	//           print only name of histogram and number of entries.
	//  gStyle->SetOptStat("n") is equivalent to gStyle->SetOptStat(1)
	//  which is the default layout (RMEN)
	
2002-03-13 18:00  rdm

	* graf/src/TPaveStats.cxx, histpainter/src/THistPainter.cxx:
	improved look of over and undeflow for 2d histo's in TPaveStats. By Olivier C.
	
2002-03-13 17:58  rdm

	* config/: Makefile.aix, Makefile.aix5, Makefile.win32,
	Makefile.win32gdk:
	remove link time dependency of proof from treeplayer and libstar.
	
2002-03-13 08:40  brun

	* minuit/src/TMinuit.cxx:
	Change the reference to the original description of Minuit in CERNLIB
	
2002-03-13 08:16  brun

	* treeplayer/src/TTreeFormula.cxx:
	Patch from Philippe,
	Protect against request for elements that are out of bounds of
	fixed length arrays.
	
	For example:
	root [1] T->Draw("fMatrix[2][5]")
	Error in <TTreeFormula>: Index 5 for dimension #2 in fMatrix[2][5] is too high (max is 3)
	
2002-03-13 02:55  rdm

	* base/: inc/TObject.h, src/TObject.cxx:
	added method Info() (non-virtual so does not extend virtual table). Info()
	was only method from TError.h missing from TObject (like Warning(), Error(),
	SysError() and Fatal()).
	
2002-03-13 02:52  rdm

	* proof/inc/LinkDef.h, proof/inc/TDSetProxy.h,
	proof/inc/TEventIter.h, proof/inc/TProof.h,
	proof/inc/TProofPlayer.h, proof/inc/TProofServ.h,
	proof/src/TDSetProxy.cxx, proof/src/TEventIter.cxx,
	proof/src/TProof.cxx, base/inc/TDSet.h, base/src/TDSet.cxx,
	proof/src/TProofPlayer.cxx, proof/src/TProofServ.cxx:
	PROOF synchronization with Maarten. Addition in TProof using std::map.
	Might not yet compile on all platforms. Need quick feedback to fix.
	
2002-03-13 02:48  rdm

	* configure, config/Makefile.in, proofd/src/proofd.cxx,
	rootd/Module.mk:
	handle shadow password option for rootd and proofd via configure script.
	Mod by Maarten B.
	
2002-03-12 08:20  brun

	* treeplayer/src/TTreeFormula.cxx:
	This patch from Philippe corrects a parsing error and protect the
	unsupported cases of an array of objects (or array of pointers to objects).
	
2002-03-09 10:58  brun

	* thread/src/TThread.cxx:
	The message "thread xx is running is now printed only if gDebug != 0
	
2002-03-09 10:49  brun

	* histpainter/: inc/THistPainter.h, src/THistPainter.cxx:
	Add argument Option_t *option to all THistPainter::Paintxxx functions.
	The new argument is used in THistPainter::PaintScatterPlot to control
	the number of dots. A new drawing option "scat=ff", eg "scat=10" means
	draw a scatter plot drawing a number of dots per cell equal to
	the cell content times 10. ff is a floating point. One can scale up/down,
	eg scat=0.1, scat=3.14, scat=1e-5. Default is "scat=1".
	
2002-03-08 19:44  rdm

	* graf/inc/TPaveStats.h, graf/src/TPaveStats.cxx,
	histpainter/src/THistPainter.cxx:
	improved TPaveStat layout by Olivier Couet.
	- It handles properly the fit parameters.
	- The vertical text positioning is better (uses the vertical alignment
	  "center").
	- Chi2 is printed with the Greek characters.
	I noticed that the right alignment of TLatex on screen is not always
	perfect. On PS file it is perfect.
	
2002-03-08 09:09  brun

	* meta/src/TStreamerInfo.cxx, treeplayer/src/TTreeFormula.cxx:
	iPatch from Philippe that (re)enables saving and reading C-style arrays of object.
	The 4 cases added are
	        array of pointers to object inheriting from TObject
	        array objects inheriting from TObject
	        array of pointers to object not inheriting from TObject but with ClassDef
	        array objects not inheriting from TObject but with ClassDef
	
	Note that the 1st 2 cases are also implemented for inside a TClonesArray while
	the last 2 cases are NOT ... this will be done when we upgrade the ClassDef/ClassImp
	facility....
	
	A small update to TTreeFormula for those cases (more is needed).
	
2002-03-07 19:11  rdm

	* cont/src/TRefArray.cxx:
	Correct confusing comment in Delete(), i.e. heap objects are not deleted.
	
2002-03-07 10:42  rdm

	* newdelete/Module.mk:
	change directory from "new" to "newdelete".
	
2002-03-07 03:04  rdm

	* base/: inc/TMD5.h, src/TMD5.cxx:
	added copy ctor and assignment operator.
	
2002-03-07 03:03  rdm

	* tree/src/TTree.cxx, treeplayer/src/TTreeFormula.cxx:
	This patch is (re)enabling the draw of variable names
	like: "f[].i" and "f", "f.f", "f.i" when "f.f" (i.e. currently
	if 'f.f' exist all three draw the same thing). By Philippe.
	
2002-03-07 02:56  rdm

	* Makefile:
	change module "new" to "newdelete".
	
2002-03-07 02:48  rdm

	* newdelete/: Module.mk, inc/MemCheck.h, src/MemCheck.cxx,
	src/NewDelete.cxx:
	rename directory new to newdelete to avoid problem with C-preprocessor which
	complains that "new" is a directory when trying to process #include <new>.
	
2002-03-07 02:02  rdm

	* gpad/src/TPad.cxx:
	add comment about SetSelectedPad() use in HighLight().
	
2002-03-05 18:08  rdm

	* cont/src/TObjArray.cxx:
	use GetAbsLast() in Streamer() to take fLowerBound!=0 into account.
	Previous TPad checkin just removed a redundant line of code.
	
2002-03-05 17:59  rdm

	* gpad/src/TPad.cxx:
	use GetAbsLast() in Streamer() to take fLowerBound!=0 into account.
	
2002-03-05 11:47  rdm

	* base/src/TApplication.cxx, meta/inc/TCint.h,
	meta/inc/TInterpreter.h, meta/src/TCint.cxx:
	new method GetExitCode() in TInterpreter and TCint which returns argument
	passed to exit() in interpreter. Used in TApplication::ProcessLine().
	
2002-03-05 11:46  rdm

	* cint/: inc/Api.h, inc/BaseCls.h, inc/CallFunc.h, inc/Class.h,
	inc/DataMbr.h, inc/G__ci.h, inc/Method.h, inc/MethodAr.h,
	inc/Token.h, inc/Type.h, inc/Typedf.h, inc/fproto.h, src/disp.c,
	src/fread.c, src/func.c, src/loadfile.c, src/newlink.c, src/opr.c,
	src/parse.c, src/pragma.c, src/tmplt.c, src/var.c:
	import of CINT 5.15.33.
	For what else is new see http://root.cern.ch/root/Cint.phtml?relnote.
	iostream redirect mod (G__OLDIMPLEMENTATION1635) still disabled.
	
2002-03-02 05:40  brun

	* hist/inc/TF1.h:
	Make all getters virtual
	
2002-03-02 05:37  brun

	* hist/inc/TFormula.h:
	Make virtual the functions GetNdim, GetNpar, GetParNumber, GetNumber
	
2002-02-28 18:07  rdm

	* tree/: inc/TChain.h, src/TChain.cxx:
	cast fEntries to int to remove warning in calling LoadTree() in GetEntries().
	Also return Double_t instead of Stat_t (although equivalent) to be in sync
	with TTree which returns a Double_t. Brought
	(and is now automatically available via CINT).
	
2002-02-28 17:57  rdm

	* pgsql/src/TPgSQLServer.cxx:
	pass correctly port number to Postgres.
	
2002-02-28 14:41  rdm

	* base/: inc/TMD5.h, src/TMD5.cxx:
	added new ctor accepting an external digest.
	
2002-02-28 14:41  rdm

	* README/INSTALL:
	corrected description of "make redhat".
	
2002-02-27 17:13  brun

	* tree/: inc/TChain.h, src/TChain.cxx:
	Implement TChain::SetDirectory redefining TTree::SetDirectory.
	Protect TChain::LoadTree against wrong assignement of fDirectory/fFile.
	
2002-02-27 12:41  brun

	* graf/src/TGraph.cxx:
	Several protections added in TGraph::ExecuteEvent in case of large zooms.
	
2002-02-27 12:41  brun

	* gpad/inc/TPad.h:
	Use the new variable kMaxPixel (in GuiTypes.h) instead of the value 65000.
	
2002-02-27 12:27  brun

	* base/inc/GuiTypes.h:
	Add a constant
	  const Int_t  kMaxPixel = 32000;
	This new constant is used in ExecuteEvent functions to prevent zooming
	with erroneous pixel values.
	
2002-02-27 09:39  brun

	* matrix/src/: TMatrix.cxx, TMatrixD.cxx:
	Correct comments in the example with ApplyFunction.
	
2002-02-27 09:11  brun

	* base/src/TMD5.cxx:
	The #include <io.h> must be added for WIN32
	
2002-02-26 23:04  brun

	* gpad/inc/TPad.h:
	In functions UtoPixel, VtoPixel, XtoAbsPixel, XtoPixel, YtoAbsPixel, YtoPixel
	add a protection in case the calculated pixel number is a huge number
	when converted to an integer (could be a negative integer).
	The protection always return a pixel number less than 65000 (this should be OK
	even when using large virtual pixmaps).
	In case the computed value is negative, returns pixel=-5 to avoid side-effects
	in the ExecuteEvent functions (eg TGraph).
	The large values for pixel numbers can be obtained when zooming with a big factor
	on a histogram or TGraph defined with many points.
	Thanks to Tony Colley for reporting a simple case.
	
2002-02-26 22:55  brun

	* treeplayer/src/TTreePlayer.cxx:
	Fix by Philippe in TTreePlayer::CopyTree.
	The CopyTree method was only looking at the first value of an array.
	
2002-02-26 19:02  rdm

	* net/src/TFTP.cxx:
	fixed a possible resource leak (file descriptor) in case of error and clearer
	error messages in PutFile().
	
2002-02-26 18:59  rdm

	* base/: inc/TMD5.h, src/TMD5.cxx:
	added FileChecksum(). This method returns a checksum of the specified file.
	The returned TMD5 object must be deleted by the user. Returns 0 in case of
	error. This method preserves the modtime of the file so it can be safely
	used in conjunction with methods that keep track of the file's modtime.
	
2002-02-26 18:57  rdm

	* base/inc/TSystem.h, base/src/TSystem.cxx, unix/inc/TUnixSystem.h,
	unix/src/TUnixSystem.cxx, winnt/inc/TWinNTSystem.h,
	winnt/src/TWinNTSystem.cxx:
	new method Utime() to set the file modification and access times.
	Also added the missing Umask() to TWinNTSystem.cxx.
	
2002-02-26 12:29  brun

	* base/inc/RVersion.h, build/version_number:
	Stamp development version 3.03/02
	
2002-02-26 12:11  brun

	* base/inc/: Bytes.h, RConfig.h, Rtypes.h:
	Remove definition of R__BOOL. The bool type works on all supported platforms.
	
2002-02-26 11:28  brun

	* main/src/hadd.cxx:
	Add a return statement in main program (required by some compilers).
	
2002-02-26 11:07  brun

	* hist/src/THStack.cxx:
	Add a new drawing option to THStack::Paint.
	When the option "pads" is specified,the current pad/canvas is subdivided into
	a number of pads equal to the number of histograms and each histogram
	is paint into a separate pad.
	
2002-02-26 10:21  rdm

	* main/Module.mk:
	small correction for handling HADD (use HADDDEP and correct distclean).
	
2002-02-26 09:25  brun

	* main/: Module.mk, src/hadd.cxx:
	The macro in $ROOTSYS/tutorials/hadd.C has been converted into a program
	to add a list of histogram files.
	The executable is generated in $ROOTSYS/bin/hadd.
	
2002-02-26 09:23  brun

	* tutorials/hadd.C:
	New version of hadd.C that can be used directly as a macro.
	Note that this macro is kept as a tutorial. To merge a list of files
	use the new program hadd in $ROOTSYS/bin/hadd
	
2002-02-26 00:10  brun

	* graf/src/TGraphErrors.cxx, histpainter/src/THistPainter.cxx:
	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).
	
2002-02-26 00:08  brun

	* base/: inc/TStyle.h, src/TStyle.cxx:
	Remove unused member fErrorMsize and corresponding functions
	GetErrorMsize and SetErrorMsize.
	
	Ass new member fEndErrorSize and functions GetEndErrorSize, SetEndErrorSize.
	fEndErrorSize is the size (in pixels) of the lines drawn at the end
	of the error bars. Default value is 1 pixel on each side.
	
2002-02-25 19:06  rdm

	* x11/src/GX11Gui.cxx:
	in RootX11ErrorHandler() print also request code of failed request.
	
2002-02-25 19:05  rdm

	* base/src/TBuffer.cxx:
	make frombufOld static.
	
2002-02-25 19:03  rdm

	* base/inc/LinkDef1.h, base/inc/Rtypeinfo.h, base/inc/Rtypes.h,
	base/inc/RtypesImp.h, base/inc/TBuffer.h, base/inc/TQObject.h,
	base/inc/TROOT.h, base/src/TBuffer.cxx, base/src/TQObject.cxx,
	base/src/TROOT.cxx, cint/src/kccstrm.cxx,
	config/Makefile.solariskcc, cont/inc/TArray.h, cont/inc/TArrayC.h,
	cont/inc/TArrayD.h, cont/inc/TArrayF.h, cont/inc/TArrayI.h,
	cont/inc/TArrayL.h, cont/inc/TArrayS.h, cont/inc/TClassTable.h,
	cont/src/TArray.cxx, cont/src/TArrayC.cxx, cont/src/TArrayD.cxx,
	cont/src/TArrayF.cxx, cont/src/TArrayI.cxx, cont/src/TArrayL.cxx,
	cont/src/TArrayS.cxx, cont/src/TClassTable.cxx, meta/inc/LinkDef.h,
	meta/inc/TClass.h, meta/inc/TStreamerElement.h,
	meta/inc/TStreamerInfo.h, meta/src/TClass.cxx,
	meta/src/TStreamerElement.cxx, meta/src/TStreamerInfo.cxx,
	star/inc/Ttypes.h, unix/src/TUnixSystem.cxx,
	utils/src/rootcint.cxx:
	Philippe's latest ClassDef and No-ClassDef mods. Some spelling corrections
	and reformatting (as usual ;-)).
	
2002-02-25 19:03  rdm

	* base/inc/Rtypeinfo.h:
	file Rtypeinfo.h was initially added on branch newClassDef-branch.
	
2002-02-25 17:05  brun

	* hist/: inc/TH1.h, inc/TH2.h, inc/TH3.h, src/TH1.cxx, src/TH2.cxx,
	src/TH3.cxx:
	Move inline definitions of SetBinsLength from include to implementation files.
	The argument to SetBinsLenght is now optional (default=-1).
	When the default argument is specified, SetBinsLength computes automatically
	the right parameter in function of the histogram type.
	
	Add a new function TH1::Rebuild(Option_t *option="")
	This function may be called after having changed one or more axis parameters,
	including the number of bins. This function takes care of reallocating
	the storage area for bin contents and errors.
	
2002-02-25 15:51  brun

	* base/src/TBenchmark.cxx:
	TBenchmark::Stop must call TTimer::Stop. Important in case one alternate between
	benchmarks.
	
2002-02-25 13:36  rdm

	* base/: inc/TBuffer.h, src/TBuffer.cxx:
	add support for reading and writing arrays of bools.
	
2002-02-25 13:23  brun

	* gl/src/TWin32GLKernel.cxx:
	Fix when calling GetGL for a bool type
	
2002-02-25 12:26  brun

	* base/src/: TDirectory.cxx, TFile.cxx:
	Delete the now obsolete calls to TStreamerInfo::SetCurrentFile.
	
	The I/O functions use the file pointer of the TBuffer object instead
	of the unsafe current file.
	
2002-02-25 12:24  brun

	* cont/src/TClonesArray.cxx:
	Pass current file as argument of TStreamerInfo::ForceWriteInfo
	
2002-02-25 12:23  brun

	* meta/src/TClass.cxx:
	Pass current file as argument of TStreamerInfo::BuildFake
	
2002-02-25 12:22  brun

	* meta/src/TStreamerElement.cxx:
	Pass current file to TStreamerInfo::ForceWriteInfo
	
2002-02-25 12:21  brun

	* tree/src/TTree.cxx:
	Adapt the class to the changes in TStreamerInfo:
	Pass current file to ForceWriteInfo and remove calls to TStreamerInfo::SetCurrentFile
	
2002-02-25 12:20  brun

	* meta/: inc/TStreamerInfo.h, src/TStreamerInfo.cxx:
	Following a good suggestion from Mathieu de Naurois, make ROOT I/O thread-safe.
	Do not use anymore the static global members fgFile and fgElement.
	To replace fgFile, two member functions BuildFake and ForceWriteInfo
	have a new argument:
	   void                BuildFake(TFile *file);
	   void                ForceWriteInfo(TFile *file);
	
	fgElement is replaced in all functions by a local variable aElement.
	However, in ReadBuffer and ReadBufferClones, the static member fgElement
	is still set to aElement. fgElement is used by TRef::Streamer in read mode.
	TRef should be changed to also be thread safe.
	
2002-02-25 11:52  rdm

	* meta/src/TCint.cxx:
	use G__get_return() instead of directly G__return. Fixes problem on Win32.
	
2002-02-25 11:51  rdm

	* cint/: inc/G__ci.h, src/func.c:
	introduce G__get_return() which returns value of G__return.
	Mods mailed to Masa.
	
2002-02-25 10:57  brun

	* histpainter/src/THistPainter.cxx:
	In PaintTitle, automatically rezize the TPaveText along X whenever
	the title length changes.
	
2002-02-25 09:53  brun

	* tree/src/TBranchElement.cxx:
	Modify TBranchElement::UnRoll to not split a TClonesArray when the parent
	branch is already split.
	
2002-02-25 08:38  brun

	* base/src/TFile.cxx:
	A few mods in the recovery procedure:
	 - Do not declare Zombie a file currently being written by another process,
	   containing keys, but SaveSelf not yet called.
	 - Allways call Recover in case 0 keys are found with the normal procedure.
	   Do not print any message if one key is found is this case.
	 - Move the Warning messages from Recover to TFile::Init in the recovery section.
	
2002-02-24 19:05  brun

	* histpainter/src/THistPainter.cxx:
	Several optimisations in this patch:
	
	- in PaintTitle, use TLatex::GetXsize to evaluate the length of the TPaveText
	where to draw the title.
	
	- In PaintContour, PaintLego, PaintPalette, simplify the logic computing the color
	levels. The color palette is now coherent with the colors used in the
	contour, including in case of user defined contours or a logZ scale.
	
2002-02-24 19:01  brun

	* graf/src/: TGraph.cxx, TMultiGraph.cxx:
	Add protections in case GetHistogram, GetXaxis, GetYaxis are called
	and the fHistogram pointer is null. This situation can happen
	when drawing a graph with no option or invalid options.
	
2002-02-23 19:41  rdm

	* base/inc/TQObject.h, gui/inc/TGButton.h, gui/inc/TGView.h:
	add Emit(Bool_t) to avoid to have to cast the bool to some other type.
	
2002-02-23 17:22  brun

	* gui/inc/TGView.h:
	Cast the Bool_t argument of Emit to Int_t
	
2002-02-23 17:19  brun

	* gui/inc/TGButton.h:
	Cast argument of type Bool_t to Int_t when calling Emit.
	Otherwise several compilers issue warnings of the type:
	include/TGButton.h:124: warning: passing `bool' chooses `int' over `long int'
	
2002-02-23 17:05  rdm

	* meta/src/TMethodCall.cxx:
	add case for bool in ReturnType().
	
2002-02-23 17:05  brun

	* gui/src/: TGTab.cxx, TGTextBuffer.cxx:
	Correct some typos in comments
	
2002-02-23 17:04  rdm

	* base/src/TApplication.cxx, meta/inc/TInterpreter.h,
	meta/src/TCint.cxx:
	exit() called from CINT scripts now also exits ROOT sessions, like an exit()
	called from compiled code. The exit argument is not yet passed via Terminate()
	to calling shell since CINT does not yet provide this info. As soon as it
	does we'll pass it along.
	
2002-02-23 17:01  rdm

	* base/src/TStorage.cxx, cont/src/TCollection.cxx,
	thread/src/TThread.cxx:
	small formatting corrections of mutex code.
	
2002-02-23 16:52  rdm

	* x11/src/TGX11.cxx:
	add protection in WriteGIF() in case image has more than 256 colors.
	
2002-02-23 16:50  rdm

	* base/inc/TVirtualGL.h, gl/inc/TGLKernel.h, gl/src/TGLKernel.cxx:
	change Bool_t to Uchar_t in GetGL() to avoid missmatch in case sizeof(bool)>1.
	
2002-02-23 16:45  rdm

	* base/inc/TTimeStamp.h, eg/inc/TDecayChannel.h,
	eg/src/TDecayChannel.cxx, g3d/inc/TMarker3DBox.h,
	graf/inc/TArrow.h, graf/inc/TCurlyArc.h,
	graf/inc/TGraphAsymmErrors.h, graf/inc/TGraphErrors.h,
	graf/inc/TPaveStats.h, graf/inc/TSpline.h,
	hist/inc/THLimitsFinder.h, histpainter/inc/THistPainter.h,
	meta/inc/TStreamerElement.h, physics/inc/TFeldmanCousins.h,
	physics/inc/TVector2.h, physics/inc/TVector3.h,
	physics/src/TFeldmanCousins.cxx, star/inc/TObjectSet.h,
	star/inc/TPolyLineShape.h, star/inc/TTable.h,
	star/inc/TTableDescriptor.h, star/inc/TVolumeView.h,
	star/inc/TVolumeViewIter.h, star/src/TVolumeView.cxx,
	treeplayer/inc/TTreePlayer.h, treeviewer/inc/TTVLVContainer.h:
	correct typo's and missing comments in ClassDefs so the automatically generated
	HTML index looks ok.
	
2002-02-23 16:45  brun

	* meta/: inc/TDataType.h, src/TDataType.cxx:
	Add kBool_t in TDataType.h. Note that kBool_t = kUchar_t=11;
	Add support for bool type in TDataType::AsString
	
2002-02-23 11:35  brun

	* base/src/TPluginManager.cxx:
	Fix error in TPluginManager:
	 In method `class TPluginHandler * TPluginManager::FindHandler(const char *, const char *)':
	return to `TPluginHandler *' from `Bool_t'
	
2002-02-23 11:15  brun

	* base/inc/Bytes.h, base/inc/RConfig.h, base/inc/Rtypes.h,
	base/inc/TBuffer.h, gl/src/TGLKernel.cxx:
	patch from Fons adding support for the native bool type in TBuffer & associates
	
2002-02-23 10:45  brun

	* base/src/TROOT.cxx, meta/src/TDataType.cxx:
	Add support for fundamental type bool in functions:
	  TDataType::setType
	  TROOT::GetListOfTypes
	
2002-02-22 21:52  brun

	* html/src/THtml.cxx:
	Fix by Axel Naumann:
	* Special characters are not written to the html files anymore.
	* occurences of <pre> or </pre> are removed in comments
	
2002-02-22 17:57  rdm

	* postscript/src/TSVG.cxx:
	version without trailing ^M's.
	
2002-02-22 17:29  rdm

	* build/package/common/: root-zebra.dscr, root-zebra.files,
	root-zebra.postinst, root-zebra.shlibs:
	export THbook*.h include and libHbook in root-zebra.rpm package.
	
2002-02-22 12:41  brun

	* base/inc/RVersion.h, build/version_number:
	Stamp version 3.03/01
	
2002-02-22 11:45  rdm

	* config/Makefile.win32, config/Makefile.win32gdk, hbook/Module.mk:
	correct build procedure for libHbook on Windows.
	
2002-02-22 11:44  rdm

	* meta/inc/TDictionary.h:
	add new property kIsContPointer.
	
2002-02-22 11:44  rdm

	* meta/src/TDataMember.cxx:
	fix memory leak in GetterMethod() introduced yesterday.
	
2002-02-22 11:41  rdm

	* gui/src/TRootContextMenu.cxx, win32/src/TWin32ContextMenuImp.cxx:
	better detection if method argument is an enum.
	
2002-02-22 11:39  brun

	* postscript/src/TSVG.cxx:
	New version from Olivier Couet supporting all the fonts and also the
	special symbols used by Tlatex. The 3 Tlatex tutorials are working now
	correctly with this new version.
	
2002-02-22 10:37  brun

	* base/inc/TVirtualMutex.h, base/src/TStorage.cxx,
	base/src/TVirtualMutex.cxx, cont/src/TCollection.cxx,
	meta/src/TCint.cxx, meta/src/TClass.cxx, meta/src/TMethodCall.cxx,
	thread/src/TThread.cxx:
	Patch from Mathieu de Naurois adding Thread-safety in many ROOT classes.
	A new TVirtualMutex global is defined in TVirtualMutex.h (gCINTmutex).
	gCINTMutes is used in TMethodCall to protect concurrent access to CINT.
	The R__LOCKGUARD macro is introduced in many classes to check for a mutex.
	The performance penalty introduced by the MUTEX logic
	 -is ZERO in the application has no threads
	 -about 10% in case of threads
	
2002-02-22 09:30  brun

	* base/: inc/TVirtualPS.h, src/TVirtualPS.cxx:
	Remove special <m> characters
	
2002-02-21 18:52  brun

	* win32/src/TGWin32.cxx:
	fix one more typo in GetDepth
	
2002-02-21 18:36  brun

	* win32/src/TGWin32.cxx:
	correct typo
	
2002-02-21 18:18  brun

	* win32/src/TGWin32.cxx:
	nplanes was not declared.
	
2002-02-21 16:40  rdm

	* gui/src/TRootContextMenu.cxx, meta/inc/TDataMember.h,
	meta/src/TDataMember.cxx, meta/src/TToggle.cxx,
	win32/src/TWin32ContextMenuImp.cxx:
	added TClass argument to TDataMember::SetterMethod() and GetterMethod().
	This class argument is the class of the object that will be used to call
	the TMethodCall. This fixes a problem that all toggle menu items in an
	automatic context menu failed if the method was in a multiple-inherited
	base class.
	
2002-02-21 16:14  brun

	* hbook/src/hntvar2.f:
	In HNTVAR2 the dimension of /PAWC/ must be identical to the declaration
	in THbookFile (currently 8 Mbytes). Otherwise, one cannot link on Windows.
	
2002-02-21 13:14  rdm

	* config/rootrc.in, x11/src/GX11Gui.cxx, x11/src/TGX11.cxx:
	added two new resource in rootrc:
	   X11.Sync:             no
	   X11.FindBestVisual:   yes
	if Sync is "yes" X11 will run in sync mode. Useful for discovering X
	errors. Note, Sync mode is now independent of the Debug flag (used to be
	that Debug>4 triggered Sync mode). If FindBestVisual is "no" then always
	use the default X11 visual, don't try looking for a better one.
	Run ./configure to activate.
	
2002-02-21 12:30  rdm

	* base/inc/GuiTypes.h, base/inc/TVirtualX.h, win32/inc/TGWin32.h,
	win32/src/GWin32GUI.cxx, win32/src/TGWin32.cxx,
	win32gdk/inc/TGWin32.h, win32gdk/src/GWin32Gui.cxx,
	win32gdk/src/TGWin32.cxx, x11/inc/TGX11.h, x11/src/GX11Gui.cxx,
	x11/src/TGX11.cxx, x11ttf/src/TGX11TTF.cxx:
	added new methods:
	   Visual_t     GetVisual() const;
	   Int_t        GetScreen() const;
	   Int_t        GetDepth() const;
	   Colormap_t   GetColormap() const;
	these methods are usefull in some cases where direct X11 manipulation outside
	of TVirtualX is needed. Also added code in TGX11 to detect the best X11
	visual available. Some X servers insist on using by default an 8 bit
	PseudoColor visual while 16 or 24 bit TrueColor (or DirectColor) visual are
	available. Using the best visual is in particular important for image
	processing classes.
	
2002-02-21 10:51  brun

	* hbook/src/THbookFile.cxx:
	Fix a problem when calling hntvar3 under Windows.
	
2002-02-20 18:19  brun

	* hbook/src/hntvar2.f:
	Fix in Fortran routine hntvar3. Alpha f77 does not accept null strings.
	
2002-02-20 18:05  brun

	* hbook/src/THbookFile.cxx:
	Fix a problem in THbookFile constructor (fatal on SGI/kCC)
	
2002-02-20 17:57  brun

	* hbook/: inc/LinkDef.h, inc/THbookBranch.h, inc/THbookFile.h,
	inc/THbookKey.h, inc/THbookTree.h, src/THbookBranch.cxx,
	src/THbookFile.cxx, src/THbookKey.cxx, src/THbookTree.cxx,
	src/hntvar2.f:
	First operational version of the Hbook interface classes.
	With this new version, one can:
	 - import automatically any 1-d, 2-d or profile histograms. The Hbook types
	  are converted on the fly to Root types TH1F, TH2F and TProfile.
	
	 - import ntuple headers (Row or Column-Wise).
	   A new data type THbookTree (deriving from TTree) with functions like
	   hbookTree.Draw("x","selection") like for a normal TTree. The ntuple data
	   are read directly from the Hbook file.
	
	 - The Tree viewer can be used directly: hbookTree.StartViewer();
	
	 - Browse the THbookFile via TBrowser. Clicking on a Hbook ID in a file
	   draws the histogram.
	
	 - When in the browser, the context menu item "Convert2root" can be selected
	   to convert a THbookFile into a normal TFile (via h2root). The converted file
	   is by default connected to the browser.
	
2002-02-20 17:55  rdm

	* cint/: inc/G__ci.h, inc/global.h, inc/kccstrm.h,
	include/_complex, include/carray.h, lib/bcstream/iostrm.h,
	lib/cbstream/iostrm.h, lib/gcc3strm/iostrm.h, lib/ipc/ipcif.h,
	lib/ipc/ipcif.h.old, lib/longlong/longdbl.h,
	lib/longlong/longlong.h, lib/posix/posix.h, lib/prec_stl/list,
	lib/prec_stl/vector, lib/snstream/iostrm.h, lib/stream/fstrm.h,
	lib/stream/iostrm.h, lib/vcstream/iostrm.h, lib/xlib/setup,
	src/Api.cxx, src/auxu.c, src/cast.c, src/disp.c, src/fakestrm.cxx,
	src/func.c, src/global2.c, src/ifunc.c, src/inherit.c,
	src/libstrm.cxx, src/macro.c, src/new.c, src/newlink.c, src/opr.c,
	src/parse.c, src/pause.c, src/pcode.c, src/quote.c, src/shl.c,
	src/sizeof.c, src/tmplt.c, src/typedef.c, src/val2a.c, src/var.c,
	tool/makecint.c:
	import of CINT 5.15.32.
	For what else is new see http://root.cern.ch/root/Cint.phtml?relnote.
	Phil, please check your mods. I looks tmplt.c is ok now.
	
2002-02-20 17:52  rdm

	* cint/: inc/G__ci.h, include/_complex, lib/ipc/ipcif.h,
	lib/ipc/ipcif.h.old, lib/posix/posix.h, lib/stream/iostrm.h,
	lib/xlib/setup, src/Api.cxx, src/ifunc.c, src/newlink.c,
	src/quote.c, src/sizeof.c, src/tmplt.c, src/var.c, tool/makecint.c:
	import of CINT 5.15.32.
	For what else is new see http://root.cern.ch/root/Cint.phtml?relnote.
	iostream redirect mod (G__OLDIMPLEMENTATION1635) still disabled.
	
2002-02-20 17:48  brun

	* tree/inc/TVirtualTreePlayer.h, treeplayer/inc/TTreePlayer.h:
	Add new functions GetNfill and GetMultiplicity.
	These functions are necessary for the new THbookFile classes.
	
2002-02-19 18:43  brun

	* graf/: inc/TMultiGraph.h, src/TMultiGraph.cxx:
	Add an optional argument to TMultiGraph::Draw.
	This optional argument can be used to specify the draw option for this graph.
	If a draw option is not specified, the option specified in TMultiGraph::Draw
	will be used instead.
	
	Also, always use the option "0" when painting the frame histogram.
	The option "0" suppresses the drawing of the horizonthal line at y=0.
	
2002-02-19 18:30  rdm

	* hbook/Module.mk:
	add HBOOKLIBEXTRA in link statement. Set this for example in Makefile.aix
	to contain the libs needed by libpacklib.a (like X11, etc.).
	
2002-02-19 18:08  brun

	* hbook/src/THbookFile.cxx:
	Fix a compiler error for WIN32 when calling hgnt1
	
2002-02-19 09:13  rdm

	* config/Makefile.hpuxia64acc:
	Add option "+Z" in F77FLAGS. This is required to compile hntvar2.f.
	
2002-02-19 00:42  brun

	* config/Makefile.hpuxacc:
	Add option "+Z" in F77FLAGS. This is required to compile hntvar2.f
	
2002-02-19 00:34  brun

	* tutorials/rootmarks.C:
	Renormalize benchmark to take into account the recent speed up in CINT.
	
2002-02-19 00:16  brun

	* physics/src/TFeldmanCousins.cxx:
	Fix double declaration of loop index to compile on HP-UX/aCC
	
2002-02-19 00:11  brun

	* hbook/: inc/THbookFile.h, src/THbookFile.cxx:
	Class THbookFile derives from TNamed instead of TFile
	
2002-02-19 00:10  brun

	* hist/: inc/TProfile2D.h, src/TProfile2D.cxx:
	Make the following functions const
	  void    Add(const TH1 *h1, Double_t c1=1);
	  void    Add(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t c2=1); // *MENU*
	  void    Divide(const TH1 *h1);
	  void    Divide(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t c2=1, Option_t *option=""); // *MENU*
	  void    Multiply(const TH1 *h1);
	  void    Multiply(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t c2=1, Option_t *option=""); // *MENU*
	  TH2D   *ProjectionXY(const char *name="_pxy", Option_t *option="e") const;
	
2002-02-19 00:09  brun

	* hist/: inc/TProfile.h, src/TProfile.cxx:
	Make the following functions const
	  void    Add(const TH1 *h1, Double_t c1=1);
	  void    Add(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t c2=1); // *MENU*
	  void    Divide(const TH1 *h1);
	  void    Divide(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t c2=1, Option_t *option=""); // *MENU*
	  void    Multiply(const TH1 *h1);
	  void    Multiply(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t c2=1, Option_t *option=""); // *MENU*
	  TH1D   *ProjectionX(const char *name="_px", Option_t *option="e") const;
	
2002-02-19 00:09  brun

	* hist/: inc/TH3.h, src/TH3.cxx:
	Make the following functions const
	  Stat_t  Integral(Option_t *option="") const;
	  Stat_t  Integral(Int_t, Int_t, Option_t *option="") const {return 0;}
	  Stat_t  Integral(Int_t, Int_t, Int_t, Int_t, Option_t *option="") const {return 0;}
	  Stat_t  Integral(Int_t binx1, Int_t binx2, Int_t biny1, Int_t biny2, Int_t binz1, Int_t binz2, Option_t *option="") const;
	  TH1    *Project3D(Option_t *option="x") const; // *MENU*
	
2002-02-19 00:09  brun

	* hist/: inc/TH2.h, src/TH2.cxx:
	Make the following functions const
	  Stat_t    Integral(Option_t *option="") const;
	  Stat_t    Integral(Int_t, Int_t, Option_t *option="") const {return 0;}
	  Stat_t    Integral(Int_t binx1, Int_t binx2, Int_t biny1, Int_t biny2, Option_t *option="") const;
	  Stat_t    Integral(Int_t, Int_t, Int_t, Int_t, Int_t, Int_t, Option_t *option="") const {return 0;}
	  TProfile *ProfileX(const char *name="_pfx", Int_t firstybin=-1, Int_t lastybin=9999, Option_t *option="") const;   // *MENU*
	  TProfile *ProfileY(const char *name="_pfy", Int_t firstxbin=-1, Int_t lastxbin=9999, Option_t *option="") const ;   // *MENU
	  TH1D     *ProjectionX(const char *name="_px", Int_t firstybin=-1, Int_t lastybin=9999, Option_t *option="") const; // *MENU*
	  TH1D     *ProjectionY(const char *name="_py", Int_t firstxbin=-1, Int_t lastxbin=9999, Option_t *option="") const; // *MENU*
	
2002-02-19 00:08  brun

	* hist/: inc/TH1.h, src/TH1.cxx:
	Make the following functions const
	   void     Add(const TH1 *h1, Double_t c1=1);
	   void     Add(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t c2=1); // *MENU*
	   void     Divide(const TH1 *h1);
	   void     Divide(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t c2=1, Option_t *option=""); // *MENU*
	   void     GetLowEdge(Axis_t *edge) const {fXaxis.GetLowEdge(edge);}
	   Stat_t   Integral(Option_t *option="") const;
	   Stat_t   Integral(Int_t binx1, Int_t binx2, Option_t *option="") const;
	   Stat_t   Integral(Int_t, Int_t, Int_t, Int_t, Option_t * /*option*/ ="") const {return 0;}
	   Stat_t   Integral(Int_t, Int_t, Int_t, Int_t, Int_t, Int_t, Option_t * /*option*/ ="" ) const {return 0;}
	   void     Multiply(const TH1 *h1);
	   void     Multiply(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t c2=1, Option_t *option=""); // *MENU*
	
2002-02-19 00:08  brun

	* hist/: inc/TAxis.h, src/TAxis.cxx:
	Make the following functions const
	  void            GetCenter(Axis_t *center) const;
	  void            GetLowEdge(Axis_t *edge) const;
	  const TArrayD  *GetXbins() const {return &fXbins;}
	
2002-02-18 21:19  brun

	* base/src/TSystem.cxx:
	Fix a compiler error (HP-UX/aCC) in TSystem::CompileMacro
	
2002-02-18 19:15  brun

	* hbook/src/THbookFile.cxx:
	Fix compiler warnings
	
2002-02-18 19:11  rdm

	* build/package/: common/README, rpm/root-sapdb.spec.in:
	add missing sapdb spec file and small reformatting of README.
	
2002-02-18 19:10  rdm

	* build/package/rpm/README.Redhat:
	this file is generated during "make redhat".
	
2002-02-18 19:09  brun

	* base/src/TMath.cxx:
	Fix portability problems in new BubbleSort functions
	
2002-02-18 19:05  rdm

	* main/: Module.mk, src/hntvar2.f:
	move hntvar2.f to hbook/src. Remove by hand main/src/hntvar2.o and .d from
	your build directories.
	
2002-02-18 19:02  rdm

	* Makefile, hbook/Module.mk, hbook/inc/LinkDef.h,
	hbook/inc/THbookBranch.h, hbook/inc/THbookFile.h,
	hbook/inc/THbookTree.h, hbook/src/THbookBranch.cxx,
	hbook/src/THbookFile.cxx, hbook/src/THbookTree.cxx,
	hbook/src/hntvar2.f:
	new directory containing code for libHbook.so. This library provides an
	interface to legacy HBOOK files and provides histogram and ntuple reading
	capability.
	
2002-02-18 11:19  brun

	* base/src/TMath.cxx:
	Remove compiler Warnings in new functions BubbleHigh/Low
	
2002-02-18 11:18  brun

	* README/CREDITS:
	Add contributions of:
	Susan Kasahara
	Adrian John Bevan
	
2002-02-18 11:07  brun

	* physics/: inc/LinkDef.h, inc/TFeldmanCousins.h,
	src/TFeldmanCousins.cxx:
	Add new class:
	// TFeldmanCousins
	//
	// class to calculate the CL upper limit using
	// the Feldman-Cousins method as described in PRD V57 #7, p3873-3889
	//
	// The default confidence interval calvculated using this method is 90%
	// This is set either by having a default the constructor, or using the
	// appropriate fraction when instantiating an object of this class (e.g. 0.9)
	//
	// The simple extension to a gaussian resolution function bounded at zero
	// has not been addressed as yet -> `time is of the essence' as they write
	// on the wall of the maze in that classic game ...
	//
	// Author: Adrian Bevan, Liverpool University
	//
	// Copyright Liverpool University 2001       bevan@slac.stanford.edu
	
2002-02-18 11:06  brun

	* base/: inc/TMath.h, src/TMath.cxx:
	Add two new sorting functions:
	 void BubbleHigh(Int_t Narr, Double_t *arr1, Int_t *arr2)
	 void BubbleLow (Int_t Narr, Double_t *arr1, Int_t *arr2)
	Thanks to Adrian Bevan, Liverpool University
	
2002-02-18 08:45  brun

	* star/src/: TTableDescriptor.cxx, TTableSorter.cxx:
	Replace calls to TDataMember::GetOffset by TDataMember::GetOffsetCint.
	
2002-02-18 08:44  brun

	* meta/: inc/TDataMember.h, src/TDataMember.cxx:
	Add new function GetOffsetCint with the same behaviour as the function GetOffset
	in version 3.02. GetCintOffset uses the information from CINT only to compute
	the member offset.
	
2002-02-17 14:47  rdm

	* build/: unix/makedist.sh, win/makedist.sh:
	also add tutorials/*.cxx files.
	
2002-02-17 14:46  rdm

	* .cvsignore, cint/.cvsignore, cint/include/.cvsignore,
	cint/main/.cvsignore, config/.cvsignore, etc/.cvsignore,
	proof/etc/.cvsignore, test/.cvsignore, utils/src/.cvsignore:
	add .cvsignore files to not show any generated files that are not
	stored in cvs.
	
2002-02-16 12:08  rdm

	* configure:
	fixed typos in enable_ttf.
	
2002-02-16 12:08  rdm

	* config/rootrc.in:
	updated comment on ACliC.Linkdef.
	
2002-02-16 00:22  brun

	* graf/src/TGaxis.cxx:
	In TGaxis::PaintAxis optimize position of labels for several configurations.
	
2002-02-15 23:13  brun

	* treeplayer/src/TTreePlayer.cxx:
	In MakeSelector, correct typos (missing "") in the comments of the generated code
	
2002-02-15 23:12  brun

	* tree/inc/TSelector.h:
	Some cosmetic changes
	
2002-02-15 21:59  brun

	* base/src/TError.cxx:
	Patch from Philippe to avoid a core dump in case of very long error messages.
	
2002-02-15 18:03  rdm

	* config/memprobe.in:
	added fix by Nick West for prototype gdb versions.
	
2002-02-15 15:07  rdm

	* net/src/TNetFile.cxx, rootd/src/rootd.cxx:
	support new option "+read" in TNetFile. This will allow you to open a file
	in read mode that has already been opened in write mode by another rootd.
	By default rootd does not allow readers when a file is being written.
	Usefull for spying in DAQ environments, but should be used carefully.
	
2002-02-15 12:47  brun

	* graf/src/TGaxis.cxx:
	Fix a precision problem when drawing axis with a very small relative scale.
	
2002-02-15 12:47  brun

	* graf/src/TEllipse.cxx:
	Use one single high precision definition of kPI
	
2002-02-15 12:41  rdm

	* base/src/TRegexp.cxx:
	allow ' ' and ',' as part of a wildcard. Fixes listing of directories
	containing objects with names like "tree data".
	
2002-02-15 12:39  rdm

	* configure:
	don't use /afs path when chacking for dcache library.
	
2002-02-15 11:43  brun

	* hist/src/TH2.cxx:
	TH2::ProjectionX and Y have now a new option "D" to automatically
	draw the resulting projection. This is specially convenient
	when ProjectionX,Y are used via the TH2 context menu.
	Select a drawing option, eg "d bar2" or "d hbar2" in the dialog box.
	
2002-02-14 20:11  rdm

	* base/inc/TSystem.h, base/src/TSystem.cxx, config/rootrc.in:
	By default, when doing .L MyScript.cxx, ACLiC will now look
	for a file name MyScript_linkdef and having one of the .h (.hpp,
	etc.) extensions.  If such a file exists, it will be added to
	the end of the linkdef file used to created the ACLiC dictionary.
	This effectively enables the full customization of the creation
	of the dictionary.  It should be noted that the file is intended
	as a linkdef 'fragment', so usually you would not list the
	typical '#pragma link off ....". Mod by Philippe.
	
2002-02-14 19:04  brun

	* postscript/src/TPostScript.cxx, base/inc/TVirtualPS.h,
	base/src/TVirtualPS.cxx, postscript/inc/LinkDef.h,
	postscript/inc/TPostScript.h:
	Several mods by Olivier Couet .
	The class TPostScript and TSVG derive from TVirtualPS.
	Both classes have several functions in common. These functions
	previously in TPostScript have been moved to TVirtualPS.
	
2002-02-14 19:01  brun

	* postscript/: inc/TSVG.h, src/TSVG.cxx:
	New class TSVG implemented by Olivier Couet. TSVG may be used
	like TPostScript to produce an SVG file instead of a postscript file.
	Viewers like Internet Explorer can view directly the SVG files.
	
2002-02-14 17:21  rdm

	* base/: inc/TDSet.h, src/TDSet.cxx:
	TDSetElement's GetObjName() and GetDirectory() returns now parent TDSet
	information instead of "" in case no specific element name and directory
	was set. So the user does not have to check both the element and the set.
	
2002-02-14 17:12  rdm

	* base/Module.mk, base/inc/LinkDef3.h, base/inc/TVirtualMutex.h,
	base/src/TVirtualMutex.cxx, thread/inc/LinkDef.h,
	thread/inc/TMutex.h, thread/src/TMutex.cxx:
	introduce new abstract class TVirtualMutex in base and move TLockGuard from
	thread to base. TMutex now derives from TVirtualMutex. Also add zero
	overhead macros to be used to place mutexes (zero overhead in case ROOT
	is not compiled with thread support). Added, example, global container
	mutex which should be initialized when libThread is loaded to point to
	a real mutex. To be done and tested by Mathieu de Naurois.
	
2002-02-14 17:05  rdm

	* cint/src/Api.cxx:
	namespace std is supported by aCC >= 53000 so add specific test.
	
2002-02-14 14:22  brun

	* hist/src/TAxis.cxx:
	Fix from Damir in TAxis::ChooseTimeFormat to solve the following complaint:
	"I have just a very small enhancement request for the TAxis->ChooseTimeFormat
	function. Displaying long time intervalls ( several years ) the format
	"%d/%m/%y" is selected, but there is not so much sense to display
	days in this case. It just look's not very nice and I have to change
	the format for each plotting
	My suggestion is to choose "%m/%y"."
	(from Gernot Maier)
	
2002-02-14 10:35  brun

	* hist/src/TH1.cxx:
	In TH1::Fit do not discard bins with null contents in case of option "w"
	
2002-02-14 09:30  brun

	* star/src/: TPolyLineShape.cxx, TTable.cxx:
	Remove dependencies on TPad.
	
2002-02-14 09:30  brun

	* histpainter/src/THistPainter.cxx:
	In THistPainter::PaintLego and PaintSurface, always use the current scale
	instead of taking it from the TView.
	
2002-02-14 09:28  brun

	* gpad/src/TPad.cxx:
	Undo previous correction in TPad::PaintModified (call to SetView(0).
	This correction had several side-effects.
	An alternative correction is made in THistPainter.
	
2002-02-13 22:51  brun

	* cint/src/Api.cxx:
	Two places to be modified in Api.cxx for hp-ux
	
2002-02-13 22:44  brun

	* cint/src/: Api.cxx, sizeof.c:
	fix to compile on hp-ux/aCC and SGI/cc
	
2002-02-13 16:38  brun

	* tree/src/TBranch.cxx:
	In TBasket::GetBasket, print additional information (file name and entry number
	in case TBasket::ReadBasketBuffers fails.
	
2002-02-13 16:37  brun

	* tree/src/TBasket.cxx:
	Go back to the original algorithm in TBasket::ReadBasketBuffers.
	
2002-02-13 12:34  brun

	* minuit/: inc/TMinuit.h, src/TMinuit.cxx:
	Modify the signature of the new function Eval from:
	Int_t  Eval(Int_t &npar, Double_t *grad, Double_t &fval, Double_t *par, Int_t flag)
	to
	Int_t  Eval(Int_t npar, Double_t *grad, Double_t &fval, Double_t *par, Int_t flag)
	
	such that npar is always an input parameter. This has required a modification
	of TMinuit::mnline.
	
2002-02-13 12:12  brun

	* base/src/TObject.cxx:
	In TObject::DrawClone, gPad must be set to the destination pad
	in case the cloned object is a TVirtualpad.
	
2002-02-13 11:13  brun

	* minuit/: inc/TMinuit.h, src/TMinuit.cxx:
	Replace all calls to fFCN by a call to the new virtual function Eval:
	Int_t TMinuit::Eval(Int_t &npar, Double_t *grad, Double_t &fval, Double_t *par, Int_t flag)
	// Evaluate the minimisation function
	//  Input parameters:
	//    npar:    number of currently variable parameters
	//    par:     array of (constant and variable) parameters
	//    flag:    Indicates what is to be calculated (see example below)
	//    grad:    array of gradients
	//  Output parameters:
	//    fval:    The calculated function value.
	//    grad:    The (optional) vector of first derivatives).
	//
	// The meaning of the parameters par is of course defined by the user,
	// who uses the values of those parameters to calculate his function value.
	// The starting values must be specified by the user.
	// Later values are determined by Minuit as it searches for the minimum
	// or performs whatever analysis is requested by the user.
	//
	// Note that this virtual function may be redefined in a class derived from TMinuit.
	// The default function calls the function specified in SetFCN
	//
	// Example of Minimisation function:
	/*
	   if (flag == 1) {
	      read input data,
	      calculate any necessary constants, etc.
	   }
	   if (flag == 2) {
	      calculate GRAD, the first derivatives of FVAL
	     (this is optional)
	   }
	   Always calculate the value of the function, FVAL,
	   which is usually a chisquare or log likelihood.
	   if (iflag == 3) {
	      will come here only after the fit is finished.
	      Perform any final calculations, output fitted data, etc.
	   }
	*/
	//  See concrete examples in TH1::H1FitChisquare, H1FitLikelihood
	
2002-02-13 10:30  brun

	* tree/src/TBranch.cxx:
	In TBranch::GetBasket, print the name of the file in case an I/O error occurs.
	
2002-02-13 10:23  brun

	* gpad/src/TPad.cxx:
	In TPad::PaintModified, reset the current TView if one TView exists.
	
2002-02-13 10:18  brun

	* hist/src/TF1.cxx:
	Relax the convergenge tests in TF1::IntegralMultiple in case of very small
	function values.
	
2002-02-12 18:53  rdm

	* base/inc/MessageTypes.h, proof/inc/LinkDef.h,
	proof/inc/TEventIter.h, proof/inc/TProof.h,
	proof/inc/TProofPlayer.h, proof/inc/TProofServ.h,
	proof/src/TEventIter.cxx, proof/src/TProof.cxx,
	proof/src/TProofPlayer.cxx, proof/src/TProofServ.cxx,
	tree/src/TSelector.cxx:
	PROOF merge with Maarten.
	
2002-02-12 18:40  rdm

	* graf/src/TPolyLine.cxx:
	Set fLastPoint correctly in Double_t ctor.
	
2002-02-11 10:08  brun

	* base/src/: TDirectory.cxx, TFile.cxx:
	Add new code from Susan Kasahara to accomodate another
	use case for this particular situation in which the file has been
	opened by the writer but no keys have been written to the file.
	This additional use case is a daq -> dispatcher configuration running at a
	detector site in which a  dispatcher serves data from the data file while
	the daq is still writing to it. To support this, the daq writer uses
	TDirectory::SaveSelf, and the dispatcher reader uses TDirectory::ReadKeys
	as is described under TDirectory::ReadKeys.  This works well as long as at
	least 1 key has been written to the file by the daq writer.
	   When the file has been opened by the writer, but no key has yet been
	written to the file, one must be able to open the file with no error message
	reported, and have TDirectory::ReadKeys return the number of keys = 0.
	
2002-02-10 21:02  brun

	* physics/inc/TVector3.h:
	Add new function (thanks Axel Naumann)
	 
	void TVector3::SetPtEtaPhi(Double_t pt, Double_t eta, Double_t phi);
	
2002-02-10 11:13  brun

	* tree/src/TTree.cxx:
	Fix a problem in TTree::Streamer. The Tree object cannot be added
	to the THashList before streaming the TNamed part of the Tree.
	
2002-02-09 21:07  rdm

	* base/src/TFile.cxx:
	use GetSize() instead of GetPathInfo() in Init() to use the file system
	dependent stat() method. Thanks Grzegorz Mazur.
	
2002-02-09 18:13  rdm

	* cint/: inc/G__ci.h, inc/global.h, inc/kccstrm.h,
	include/carray.h, lib/bcstream/iostrm.h, lib/cbstream/iostrm.h,
	lib/gcc3strm/iostrm.h, lib/longlong/longdbl.h,
	lib/longlong/longlong.h, lib/prec_stl/list, lib/prec_stl/vector,
	lib/snstream/iostrm.h, lib/stream/fstrm.h, lib/stream/iostrm.h,
	lib/vcstream/iostrm.h, src/Api.cxx, src/auxu.c, src/cast.c,
	src/disp.c, src/fakestrm.cxx, src/func.c, src/global2.c,
	src/ifunc.c, src/inherit.c, src/libstrm.cxx, src/macro.c,
	src/new.c, src/newlink.c, src/opr.c, src/parse.c, src/pause.c,
	src/pcode.c, src/quote.c, src/shl.c, src/sizeof.c, src/tmplt.c,
	src/typedef.c, src/val2a.c, src/var.c:
	import of CINT 5.15.31.
	For what else is new see http://root.cern.ch/root/Cint.phtml?relnote.
	I've disabled the new iostrm feature by default. Please test on all platforms
	at least once with this feature enabled to be able to give Masa feedback.
	To do this comment in G__ci.h the line:
	#define G__OLDIMPLEMENTATION1635
	at the top of the file between the G__ROOT ifdef.
	In addition if there is a compile problem with Api.cxx comment in the same
	G__ROOT ifdef the line:
	#define G__CPPCONSTSTRING
	Hopefully next release has these things completely sorted out.
	
2002-02-09 17:23  rdm

	* Makefile, base/inc/Rtypes.h, base/inc/TString.h,
	cont/inc/TArray.h, cont/inc/TArrayC.h, cont/inc/TArrayD.h,
	cont/inc/TArrayF.h, cont/inc/TArrayI.h, cont/inc/TArrayL.h,
	cont/inc/TArrayS.h, test/TBench.h, utils/src/rootcint.cxx:
	set of mods to handle operator>>() for classes not deriving from TObject
	which have a ! in the class pragma statement (i.e. they provide a private
	implementation).
	
2002-02-09 16:34  rdm

	* Makefile, README/BUILDSYSTEM:
	add Phil's skip target to the Makefile. Skip allows one to bypass all
	dependency checking for a quick recompile of only the desired target, e.g.:
	make skip cont/src/G__Cont.cxx
	use only for testing purposes in the development process.
	
2002-02-09 15:57  rdm

	* mac/src/G__MacSystem.cxx:
	remove obsolete G__ file from repository.
	
2002-02-08 23:03  brun

	* tree/src/TTree.cxx:
	In TTree::Branch set the pointer to 0 in case a default object
	has been allocated/deleted to create the dictionary.
	
2002-02-08 19:36  rdm

	* win32gdk/gdk/dll/gdk-1.3.dll:
	fix by Bertrand to better handle menu's.
	
2002-02-08 18:54  brun

	* meta/src/TStreamerElement.cxx:
	Add support for char* in GetBasicTypeName. This fixes a problem
	when using TFile::MakeProject on a class having char*
	
2002-02-08 18:50  rdm

	* base/inc/TTimeStamp.h:
	fix by Phil for linux/KCC.
	
2002-02-08 15:58  rdm

	* base/inc/Rtypes.h, utils/src/rootcint.cxx:
	fix that uses pure templated oprator>>() and does not generate one in via
	rootcint anymore. Phil, please try with your TArray test case. With this
	fix benchmarks.C and stress work fine. Maybe we can also remove the Win32
	friend case with this change. Did not try it yet.
	
2002-02-07 20:58  rdm

	* base/inc/RtypesImp.h:
	file RtypesImp.h was initially added on branch newClassDef-branch.
	
2002-02-07 20:58  rdm

	* base/inc/RConfig.h, base/inc/Rtypes.h, base/inc/RtypesImp.h,
	base/inc/TQObject.h, cont/src/TClassTable.cxx,
	star/inc/TGenericTable.h, star/inc/TTable.h,
	star/inc/TTableDescriptor.h, star/inc/Ttypes.h,
	utils/src/rootcint.cxx:
	add Philippe's experiment new ClassDef solution in the newClassDef-branch.
	On my machine it compiles but does not run (benchmarks fails in fit1.C
	and stress -b 30 segv immediately). Maybe something wrong with the merge.
	Philippe please check and mail me patches.
	
2002-02-07 19:06  rdm

	* proof/: inc/TProof.h, src/TProof.cxx:
	fix in FindUniqueSlaves() and also allow Collect() to be called for
	the group of unique slaves.
	
2002-02-07 19:05  rdm

	* base/inc/TTimeStamp.h:
	remove double initialization.
	
2002-02-07 19:04  rdm

	* base/inc/RConfig.h, config/Makefile.hpuxacc,
	config/Makefile.hpuxia64acc, config/root-config.in:
	add autodetection for HP's aCC compiler.
	
2002-02-07 19:02  rdm

	* cint/inc/kccstrm.h:
	fix by Philppe for basic_streambuf.
	
2002-02-07 13:27  rdm

	* tutorials/spyserv.C:
	add protection in case canvas was closed via WM close button.
	
2002-02-07 11:56  brun

	* graf/src/TLatex.cxx:
	Fix a problem in the rotation algorithm when drawing a super paraenthesis
	in TLatex::DrawParenthesis (thanks Marthe)
	
2002-02-07 11:47  brun

	* g3d/src/TNode.cxx:
	In TNode::DistancetoPrimitive remove the special case returning TView.
	This is now handled automatically by TPad::Pick.
	
2002-02-07 11:46  brun

	* gpad/src/TPad.cxx:
	In TPad::Pick, return the TView object if no other primitives have been picked
	and if we are not on the pad X edges (where the pad object itself is returned).
	
	Remove an unnecessary call to TVirtualPS::PrintFast giving problems
	in the new TSVG class (thanks Olivier Couet)
	
2002-02-07 11:27  rdm

	* icons/: arrow_down.xpm, arrow_up.xpm:
	slightly trimmed icons by Bertrand.
	
2002-02-07 10:17  brun

	* hist/src/TH1.cxx:
	Optimization of TH1::SetContour in case min=max and non zero.
	
2002-02-07 10:10  brun

	* hist/inc/TVirtualHistPainter.h, histpainter/inc/THistPainter.h,
	histpainter/src/THistPainter.cxx:
	New feature added by Philippe:
	I am taking advantage of the fact that we have one painter per histogram
	to individualize a little better the stats box.
	
	The HistPainter now handles a pointer to the stats box.  In particular this
	means that you can rename it and still have it being updated.  The stats can
	also now be retrieved via hist->GetPainter()->GetStats();  The HistPainter
	now keeps contact with the PaveStats box whether its name have changed or not.
	
2002-02-07 09:42  brun

	* tree/src/TChain.cxx:
	Fix typo in previous patch.
	
2002-02-07 09:41  brun

	* tree/src/TChain.cxx:
	In TChain::AddFile, do not delete the tree before deleting the file.
	In TChain::Add, when wildcarding is used, call TChain::AddFile with a default
	second argument (nentries=kBigNumber)
	
2002-02-07 09:06  brun

	* base/src/TObject.cxx, meta/src/TStreamerInfo.cxx:
	Remove unnecessary call to WriteProcessID in the case TProcessId *pi=0.
	
2002-02-07 08:31  brun

	* base/src/TObject.cxx, meta/src/TStreamerInfo.cxx:
	The previous fix for TBuffer/gFile in case of chains was incomplete.
	Thanks to Axel Naumann and Lukas Phaf for providing this additional patch
	that makes TRef/TRefArray working with TChain.
	
2002-02-06 22:57  brun

	* histpainter/src/THistPainter.cxx:
	Implement a change suggested by Tony Colley:
	Combining the "L" and "P" options of TH1::Draw results in a display of markers
	only (the "L" is ignored). Also, setting marker styles on the TH1 is
	ineffective, the styles must be set using gStyle.
	
2002-02-06 19:29  rdm

	* cint/src/Api.cxx:
	Add special case for HP aCC compiler.
	
2002-02-06 19:27  rdm

	* base/src/TTimeStamp.cxx, proofd/src/net.cxx,
	proofd/src/proofd.cxx, rootd/src/net.cxx, rootd/src/netpar.cxx,
	rootd/src/rootd.cxx, test/Makefile.in, tutorials/na49geomfile.C:
	patch for MacOS X by Keisuke Fujii <fujiik@jlcuxf.kek.jp>.
	
2002-02-06 13:21  rdm

	* cint/: inc/G__ci.h, inc/global.h, inc/kccstrm.h,
	lib/bcstream/iostrm.h, lib/cbstream/iostrm.h,
	lib/gcc3strm/iostrm.h, lib/longlong/longdbl.h,
	lib/longlong/longlong.h, lib/prec_stl/list, lib/prec_stl/vector,
	lib/snstream/iostrm.h, lib/stream/fstrm.h, lib/stream/iostrm.h,
	lib/vcstream/iostrm.h, src/Api.cxx, src/auxu.c, src/cast.c,
	src/disp.c, src/fakestrm.cxx, src/func.c, src/global2.c,
	src/ifunc.c, src/inherit.c, src/libstrm.cxx, src/macro.c,
	src/new.c, src/newlink.c, src/opr.c, src/parse.c, src/pause.c,
	src/pcode.c, src/quote.c, src/sizeof.c, src/tmplt.c, src/typedef.c,
	src/val2a.c, src/var.c:
	put cint 5.15.30 on test branch to check risky new features.
	
2002-02-06 12:51  rdm

	* base/src/TSysEvtHandler.cxx, net/src/TMonitor.cxx:
	correct comments on usage of read and write flags.
	
2002-02-06 11:33  brun

	* tree/src/TBasket.cxx:
	Modify TBasket::ReadBasketBuffers to allocate a few more bytes to the buffer
	before inflating it. The Inflate function some time requires a few more bytes
	to uncompress the data.
	
2002-02-06 11:31  brun

	* zip/src/Inflate.c:
	In the R__unzip function relax the test comparing the test comparing
	the pointer position in the uncompressed buffer with the value initially
	expected. There are some rare cases when the Inflate function requires
	a few more bytes.
	
2002-02-06 09:53  brun

	* meta/src/TStreamerInfo.cxx:
	In TStreamerInfo::BuildOld do not print a warning message when the type name
	has changed, but the basic type is still the same
	
2002-02-05 23:51  brun

	* base/: inc/TMath.h, src/TMath.cxx:
	Add new Bessel functions and also the Struve function:
	   static Double_t BesselJ0(Double_t x);             // Bessel function J0(x) for any real x
	   static Double_t BesselJ1(Double_t x);             // Bessel function J1(x) for any real x
	   static Double_t BesselY0(Double_t x);             // Bessel function Y0(x) for positive x
	   static Double_t BesselY1(Double_t x);             // Bessel function Y1(x) for positive x
	   static Double_t Struve(Int_t n, Double_t x);      // Struve functions of order 0 and 1
	
2002-02-05 18:04  brun

	* tree/src/TBranchElement.cxx, treeplayer/src/TTreeFormula.cxx:
	From Philippe:
	This fix ensures that when receiving a 'name' with a duplicated
	branch name in it, TTree::Draw wont crash.
	Also fix TBrowser to properly draw the correct leaf even if the
	branch name was copied inside the leaf names.
	
2002-02-05 17:45  brun

	* graf/src/TGaxis.cxx:
	Fix a side-effect of the new ticks/labels options on the position of the axis title.
	
2002-02-05 17:10  rdm

	* base/src/TDSet.cxx:
	in Add(TDSet*) make sure the added TDSet is specified for the same type.
	
2002-02-05 11:46  rdm

	* base/inc/TTimeStamp.h:
	add case for MacOS X.
	
2002-02-05 11:45  rdm

	* configure:
	test also for .dylib on MacOS X and better detection of missing SRP lib and
	includes.
	
2002-02-05 09:31  brun

	* meta/src/TDataMember.cxx:
	Improve TDataMember::GetOffset to compute the offset for the normal case of a compiled class.
	The previous version was operational only for interpreted classes.
	The new function automatically calls TClass::BuildRealData and gets the
	TRealData offset computed via ShowMembers.
	
2002-02-05 00:31  brun

	* graf/src/TGaxis.cxx:
	Several optimisations in TGaxis::PaintAxis.
	
	Add support for the new TAxis options kTickPlus and kTickMinus
	
2002-02-05 00:27  brun

	* hist/: inc/TAxis.h, src/TAxis.cxx:
	Add new options in the TAxis enum:
	               kTickPlus    = BIT(9),
	                kTickMinus   = BIT(10)
	Add new functions:
	  virtual const char  *GetTicks() const;
	  virtual void     SetTicks(Option_t *option="+"); // *MENU*
	void TAxis::SetTicks(Option_t *option)
	{
	//  set ticks orientation
	//  option = "+"  ticks drawn on the "positive side" (default)
	//  option = "-"  ticks drawn on the "negative side"
	//  option = "+-" ticks drawn on both sides
	
2002-02-05 00:23  brun

	* histpainter/src/THistPainter.cxx:
	In THistPainter::DistancetoPrimitive, take into account all the forms
	(upper/lower case and mixture) for the option "same" when selecting
	the axis.
	
2002-02-04 22:25  rdm

	* base/inc/TDSet.h:
	to be consistent change GetElementList() to GetListOfElements().
	
2002-02-04 22:22  rdm

	* base/: inc/LinkDef2.h, inc/TDSet.h, src/TDSet.cxx:
	more complete implementation of TDSet.
	
2002-02-04 22:21  rdm

	* meta/src/TFunction.cxx:
	usual problem with strstr() returning const char*.
	
2002-02-04 17:49  brun

	* config/Makefile.linuxkcc:
	Add the option --one_instantiation_per_object to CXXFLAGS and CINTCXXFLAGS
	
2002-02-04 09:21  brun

	* meta/src/TFunction.cxx:
	In function TFunction::CreateSignature add the missing " to the default
	arguments of type char*.
	
2002-02-03 19:40  rdm

	* net/src/TFTP.cxx, rootd/src/rootd.cxx:
	don't check for free space on device when writing to /dev/null (to facilitate
	performance tests).
	
2002-02-03 19:37  rdm

	* base/src/TNamed.cxx:
	slight reformatting of comment on rehashing in case name changes.
	
2002-02-03 19:34  rdm

	* base/inc/TSysEvtHandler.h:
	introduce kRead and kWrite constants to be used in the mask argument of
	the TFileHandler.
	
2002-02-03 19:02  brun

	* test/stress.cxx:
	In stress9 remove the line deleting the tree.
	
2002-02-03 18:38  brun

	* treeplayer/src/TTreePlayer.cxx:
	Modify TTreePlayer::EntryLoop to take into account the Tree or TChain weight
	
2002-02-03 18:32  brun

	* tree/: inc/TChain.h, src/TChain.cxx:
	New functions GetWeight and SetWeight redefining the functions in TTree.
	void TChain::SetWeight(Double_t w, Option_t *option)
	{
	//  Set chain weight.
	//  The weight is used by TTree::Draw to automatically weight each
	//  selected entry in the resulting histogram.
	//  For example the equivalent of
	//     chain.Draw("x","w")
	//  is
	//     chain.SetWeight(w,"global");
	//     chain.Draw("x");
	//
	//  By default the weight used will be the weight
	//  of each Tree in the TChain. However, one can force the individual
	//  weights to be ignored by specifying the option "global".
	//  In this case, the TChain global weight will be used for all Trees.
	
	Double_t TChain::GetWeight() const
	{
	//  return the chain weight.
	//  by default, the weight is the weight of the current Tree in the TChain.
	//  However, if the weight has been set in TChain::SetWeight with
	//  the option "global", each Tree will use the same weight stored
	//  in TChain::fWeight.
	
2002-02-03 18:30  brun

	* tree/: inc/TTree.h, src/TTree.cxx:
	Add new member:
	  Double_t fWeight;
	Add new functions GetWeight and SetWeight.
	void TTree::SetWeight(Double_t w, Option_t *)
	
	//  Set tree weight.
	//  The weight is used by TTree::Draw to automatically weight each
	//  selected entry in the resulting histogram.
	//  For example the equivalent of
	//     T.Draw("x","w")
	//  is
	//     T.SetWeight(w);
	//     T.Draw("x");
	//
	// This function is redefined by TChain::SetWeight. In case of a TChain,
	// an option "global" may be specified to set the same weight
	// for all Trees in the TChain instead of the default behaviour
	// using the weights of each Tree in the chain. (see TChain::SetWeight)
	
2002-02-03 17:15  brun

	* tree/src/TBranch.cxx:
	Use the new function TBasket::SetBranch instead of setting the global gBranch.
	Add new code in SetFile to apply the new file to all baskets.
	
2002-02-03 17:15  brun

	* tree/: inc/TBasket.h, src/TBasket.cxx:
	Add new inline function:
	   void    SetBranch(TBranch *branch) {fBranch = branch;}
	Replace use of global gBranch by member fBranch.
	In TBasket::Streamer, set the buffer parent.
	
2002-02-03 17:14  brun

	* test/stress.cxx:
	Replace calls to:
	   Event *event = new Event();
	by
	   Event *event = 0;
	In stress13, do not delete tree to avoid a double delete problem.
	
2002-02-03 17:14  brun

	* base/src/TRef.cxx, cont/src/TRefArray.cxx:
	use GetSessionProcessID instead of GetProcessID(0).
	
2002-02-03 17:13  brun

	* base/src/TFile.cxx:
	Modify TFile::Close to call GetSessionProcessID.
	
2002-02-03 17:13  brun

	* base/: inc/TProcessID.h, src/TProcessID.cxx:
	Add new static function GetSessionProcessID return the current
	session TProcessID.
	
	Rewrite the function ReadProcessID in order to store the right pid
	in the list of the files pids in case the pid is already existing
	in other files.
	
2002-02-03 17:13  brun

	* base/: inc/TBuffer.h, src/TBuffer.cxx:
	Replace the union
	    union {
	       TExMap *fReadMap;      //Map containing id,object references during reading
	       TExMap *fWriteMap;     //Map containing object,id pairs during writing
	    };
	by
	    TExMap   *fMap;           //Map containing object,id pairs for reading/ writing
	
	The union was an unnecessary complication and also given problems
	with rootcint when another pointer (eg fParent) was added to the class.
	
	New constructors added:
	    TBuffer(EMode mode);
	    TBuffer(EMode mode, Int_t bufsiz);
	    TBuffer(EMode mode, Int_t bufsiz, void *buf, Bool_t adopt = kTRUE);
	
	The Get/SetParent moved to the implementation file.
	
2002-02-03 00:00  rdm

	* base/inc/LinkDef1.h:
	export kInfo global to CINT.
	
2002-02-02 23:59  rdm

	* tutorials/: spy.C, spyserv.C:
	Two scripts that demo how to snoop objects from a server. The client "spy.C"
	can snoop objects from a server process "spyserv.C".
	To run this demo do the following:
	  - open two or more windows
	  - start root in all windows
	  - execute in the first window:    .x spyserv.C  (or spyserv.C++)
	  - execute in the other window(s): .x spy.C      (or spy.C++)
	  - in the "spy" client windows click the "Connect" button and snoop
	    the histograms by clicking on the "hpx", "hpxpy" and "hprof"
	    buttons
	
2002-02-02 14:42  rdm

	* base/inc/TBuffer.h:
	make GetParent() const. Funny problem with CINT and location of fParent or
	any other new datamember before the union.
	
2002-02-02 14:19  brun

	* base/src/TBuffer.cxx:
	Reset fParent in destructor.
	
2002-02-02 12:57  brun

	* base/src/TRef.cxx, cont/src/TRefArray.cxx:
	Replace gFile by TBuffer::GetParent. With this fix, TRef and TRefArray
	read in a TChain should work.
	
2002-02-02 12:56  brun

	* base/src/TAttAxis.cxx, base/src/TView.cxx,
	g3d/src/TMarker3DBox.cxx, g3d/src/TShape.cxx,
	graf/src/TPaveStats.cxx, hist/src/TH3.cxx, meta/src/TClass.cxx:
	Replace gFile by the TBuffer::GetParent()
	
2002-02-02 12:54  brun

	* base/inc/TKey.h, base/src/TKey.cxx, tree/src/TBasket.cxx,
	tree/src/TBranch.cxx:
	The key and basket constructors, set the TBuffer parent.
	
2002-02-02 12:52  brun

	* base/: inc/TBuffer.h, src/TBuffer.cxx:
	Add new member
	  TObject *fParent; //fParent points to the buffer owner (typically a TFile).
	Add new functions
	  TObject *Getparent()
	  void SetParent(TObject *parent);
	
	The fParent info will be used instead of gFile in all the places currently
	referencing gFile and reading/writing from/to a TBuffer.
	
2002-02-02 11:09  brun

	* base/src/TTimeStamp.cxx:
	Remove a const specifier in the last argument of a constructor.
	
2002-02-01 15:15  rdm

	* base/inc/TTimeStamp.h:
	fix for Win32 (timespec is not defined in time.h).
	
2002-02-01 12:03  brun

	* hist/src/: TH2.cxx, TH3.cxx:
	Fix a bug in the KolmogorovTest functions.
	The variable dfmax2 was not correctly computed.
	
2002-02-01 08:47  brun

	* tree/src/TLeaf.cxx:
	Correct wrong comments in TLeaf::GetLeafCounter (thanks Axel Naumann).
	Comments should be:
	//  If leaf name has the forme var[nelem], where nelem is alphanumeric, then
	//     If nelem is a leaf name, return countval = 1 and the pointer to
	//     the leaf named nelem.
	//  If leaf name has the forme var[nelem], where nelem is a digit, then
	//     return countval = nelem and a null pointer.
	//  Otherwise return countval=0 and a null pointer.
	/
	
2002-02-01 08:14  brun

	* base/: inc/TFile.h, src/TFile.cxx:
	TFile::Recover changed from void to Int_t.
	The function returns the number of keys recovered.
	If Recover returns 0 keys, then the file is declared Zombie by TFile::Open.
	
2002-02-01 08:12  brun

	* tutorials/latex2.C:
	Add a missing parenthesis in one expression.
	
2002-02-01 07:55  brun

	* hist/src/TH1.cxx:
	Fix in TH1::Copy. Take into account fgAddDirectory (thanks Andrei Gaponenko)
	
2002-01-31 20:07  rdm

	* configure:
	make libdir in check_library() unique so it does not clash with the
	global libdir. Thanks Damir.
	
2002-01-31 15:10  rdm

	* base/src/TString.cxx:
	cosmetic comment change.
	
2002-01-31 15:09  rdm

	* README/CREDITS, base/Module.mk, base/inc/LinkDef3.h,
	base/inc/TTimeStamp.h, base/src/TTimeStamp.cxx:
	new TTimeStamp class by Robert Hatcher. This class provides time stamp
	functionality with nano second precision and in a timezone independent
	format.
	
2002-01-31 08:27  brun

	* html/src/THtml.cxx:
	The following patch from Axel Naumann
	* The bug reported and fixed by Ruben was due to a Log10 being not protected
	from negative arguments. Ruben, thanks for finding that bug!
	* without libNew
	 --- private etc method and data member sections were printed even if the
	class doesn't have such members (test was e.g. on memberArray[j * ndata]
	instead num[j])
	 --- include files ended on uninitialized characters
	* templated types were not printed correctly (no protection of <,>,' ')
	* Classes were referenced even though they don't have an implementation
	known to CInt (fixed by returning 0 in case of an unknown implementation
	file): This will create some "unknown class G__whatever" - but at least they
	are not linked in anymore. And ostream etc are now listed in the list of
	types and linked correctly instead of creating a link to
	"basic_ostream<char...>.html".
	
2002-01-30 12:02  rdm

	* base/src/TBrowser.cxx:
	cleanup some formatting (coding conventions).
	
2002-01-30 11:59  rdm

	* config/root-config.in:
	fix include/RVersion.h to ${incdir}/RVersion.h.
	
2002-01-30 08:11  brun

	* gpad/src/TPad.cxx:
	Add a comment in TPad::SetEditable to indicate that one cannot add a new object
	to the pad when the pad is declared non-editable.
	
2002-01-30 08:00  brun

	* matrix/src/TMatrixD.cxx:
	Fix a problem in TMatriD::Streamer when reading objects created before version 3.0
	
2002-01-30 07:48  brun

	* winnt/src/TWinNTSystem.cxx:
	From Philippe:
	This repairs ACLiC for windows which stopped working after the lastest
	modification made in TRegexp.
	
2002-01-29 18:33  brun

	* treeplayer/src/TTreePlayer.cxx:
	Modify TTreePlayer::TakeEstimate to not display the stats box in case
	TTree->Draw(y:x>>h(10,0,1,10,0,1)")
	
2002-01-29 18:23  brun

	* base/src/TSystem.cxx:
	Patch from Philippe that should protect ACLiC from using weird characters in its filenames....
	
2002-01-29 08:49  brun

	* meta/src/TStreamerInfo.cxx:
	Fix a typo in error message
	
2002-01-29 08:44  brun

	* meta/src/TClass.cxx:
	Fix from Philippe .
	On Windows, the order in which the dictionary global
	objects and the TROOT global object are the inverse as that of Linux (this we
	have not control over it).
	
	Also, The previous implementation of BuildRealData had a call to
	'InheritsFrom(TObject::Class());' which besides giving its result had the
	side effect of loading the currently defined typedefs if the class had not
	been loaded yet.  Without this side effect, the typedef used in the class
	were not present in the ROOT system ...
	
2002-01-29 08:32  brun

	* base/src/TBrowser.cxx:
	Initialize members in all constructors
	
2002-01-29 08:18  brun

	* tutorials/timeonaxis.C:
	Update URL
	
2002-01-28 18:33  rdm

	* base/src/TROOT.cxx:
	properly initialize err in LoadClass(). Has no influence on StreamerInfo
	problem though.
	
2002-01-28 18:01  rdm

	* base/src/TFile.cxx:
	correct some comments about the POSIX calls used in TFile.
	
2002-01-28 12:51  brun

	* graf/src/TMultiGraph.cxx:
	Fix a problem in TMultiGraph::Paint following the unzoom of the Y axis
	when the Y axis title was non null
	
2002-01-27 18:44  rdm

	* proofd/src/proofd.cxx, rootd/src/rootd.cxx:
	don't redefine initgroups on AIX, is now in grp.h. Check if this is also
	the case on AIX 4.3. If not I need a OS specific define to differentiate
	between the two.
	
2002-01-27 18:23  rdm

	* rfio/: inc/TRFIOFile.h, src/TRFIOFile.cxx:
	change Text_t to char.
	
2002-01-27 18:22  rdm

	* base/src/TPluginManager.cxx:
	small fix in constness.
	
2002-01-27 18:21  rdm

	* dcache/Module.mk, Makefile, configure, config/Makefile.in,
	config/rootrc.in, dcache/inc/LinkDef.h, dcache/inc/TDCacheFile.h,
	dcache/src/TDCacheFile.cxx:
	new module dcache implementing class TDCacheFile which implements a TFile
	interface to the DESY dCache mass storage system. Code by Grzegorz Mazur
	<mazur@mail.desy.de>. For more on dCache see http://www-dcache.desy.de/.
	
2002-01-27 17:49  brun

	* base/src/TROOT.cxx, cont/src/TClassTable.cxx,
	unix/src/TUnixSystem.cxx, x11/src/GX11Gui.cxx, x11/src/TGX11.cxx:
	Remove non-necessary declarations of static functions to remove warnings on aCC
	of the style:
	Warning 495: "base/src/TROOT.cxx", line 159 # The linkage directive is ignored for an object or function declared static.
	       static void CleanUpROOTAtExit();
	
2002-01-27 17:28  brun

	* base/src/TPluginManager.cxx:
	Fix the usual problem with strstr on Solaris. A statement like
	  char *s = strstr(...
	is not legal, strstr returning a const char*. One must cast:
	  char *s = (char*)strstr(...
	
2002-01-27 16:55  rdm

	* base/src/TSystem.cxx, unix/src/TUnixSystem.cxx,
	winnt/src/TWinNTSystem.cxx:
	extended some method descriptions.
	
2002-01-27 16:53  rdm

	* base/: inc/TPluginManager.h, inc/TROOT.h, src/TPluginManager.cxx,
	src/TROOT.cxx:
	added new default argument check=kFALSE to TROOT::LoadClass(). If check
	is true LoadClass() only checks for the existence and readability of the
	library and does not attempt to load the library. The plugin manager
	uses this new functionality in its Print() method to show which plugins
	are available.
	
2002-01-27 14:57  rdm

	* base/inc/LinkDef2.h, base/inc/TROOT.h, base/src/TFile.cxx,
	base/src/TROOT.cxx, config/rootrc.in, net/src/TSQLServer.cxx:
	use the new TPluginManager. Make sure to rerun ./configure to update
	etc/system.rootrc. Call gROOT->GetPluginManager()->Print() to see which
	handlers have been defined.
	
2002-01-27 14:53  rdm

	* base/: inc/TPluginManager.h, src/TPluginManager.cxx:
	This class implements a plugin library manager. It keeps track of
	a list of plugin handlers. A plugin handler knows which plugin
	library to load to get a specific class that is used to extend the
	functionality of a specific base class. For example, to extend the
	base class TFile to be able to read RFIO files one needs to load
	the plugin library libRFIO.so which defines the TRFIOFile class.
	This loading should be triggered when a given URI contains a
	regular expression defined by the handler. Handlers can be defined
	for example as resources in the .rootrc file, e.g.:
	
	   Plugin.TFile:       ^rfio:    TRFIOFile     RFIO
	   Plugin.TSQLServer:  ^mysql:   TMySQLServer  MySQL
	   +Plugin.TSQLServer: ^pgsql:   TPgSQLServer  PgSQL
	
	Plugin handlers can also be registered at run time, e.g.:
	
	   gROOT->GetPluginManager()->AddHandler("TSQLServer", "^sapdb:",
	                                         "TSapDBServer", "SapDB");
	
	A list of currently defined handlers can be printed using:
	
	   gROOT->GetPluginManager()->Print();
	
	The use of the plugin library manager removes all textual references
	to hard-coded class and library names and the resulting dependencies
	in the base classes. The plugin manager is used to extend a.o.
	TFile, TSQLServer, TGrid, etc. functionality.
	
2002-01-27 14:41  rdm

	* base/: inc/TEnv.h, src/TEnv.cxx:
	Large cleanup of TEnv, removal of some very old redundant code, update
	of class description and new feature of optional + in front of the resource
	name to allow the concatenation of resource values for the same resource.
	
2002-01-27 14:39  rdm

	* base/src/TRegexp.cxx:
	add special case for Win32 pathnames in MakeWildcard().
	
2002-01-26 23:12  brun

	* meta/src/TStreamerInfo.cxx:
	In TStreamerInfo::BuildOLd, always force data members of a fake class to be aligned
	on a 4 bytes boundary (32 bits machines) or 8 bytes on 64 bits machines.
	With this fix, DrawTest.sh works correctly on alpha.
	
2002-01-26 22:07  brun

	* treeplayer/src/TTreePlayer.cxx:
	In TTreePlayer::DrawSelect, simplify the logic when the binning info
	is specified in the query and add support for the limits as indicated
	in the function comments.
	  T.Draw("px>>hpx(50,-2,3)")
	is again working after this change.
	
2002-01-26 11:08  brun

	* gpad/src/TCanvas.cxx:
	cleanup comments
	
2002-01-26 11:06  brun

	* graf/src/TGaxis.cxx:
	Remove static variables
	
2002-01-26 11:02  brun

	* hist/src/TH1.cxx:
	Remove several static variables.
	
2002-01-26 10:36  brun

	* graf/src/TGraph.cxx:
	Allocate workspace dynamically instead of the static arrays xwork,ywork,xworl,yworkl.
	Remove several static variables in the code.
	Remove limitation of NPMAX points.
	
2002-01-25 19:24  brun

	* base/src/TKey.cxx:
	In TKey::ReadObj, change the format %x to %lx (required on alpha)
	
2002-01-25 19:02  rdm

	* cint/src/libstrm.cxx:
	comment out is_open() in streambuf.
	
2002-01-25 18:13  rdm

	* cint/: inc/G__ci.h, include/bool.h
	lib/stream/fstrm.h, lib/win32api/winfunc.h, src/Apiif.cxx,
	src/auxu.c, src/cast.c, src/decl.c, src/ifunc.c, src/libstrm.cxx,
	src/loadfile.c, src/macro.c, src/parse.c, src/pcode.c, src/quote.c,
	src/sizeof.c, src/var.c:
	import of CINT 5.15.28.
	For what else is new see http://root.cern.ch/root/Cint.phtml?relnote.
	
2002-01-25 17:40  brun

	* base/src/TDirectory.cxx:
	Add the following comments in TDirectory::Get
	//
	//  VERY IMPORTANT NOTE:
	//  In case the class of this object derives from TObject but not
	//  as a first inheritance, one must cast the return value twice.
	//  Example1: Normal case:
	//      class MyClass : public TObject, public AnotherClass
	//   then on return, one can do:
	//    MyClass *obj = (MyClass*)directory->Get("some object of MyClass");
	//
	//  Example2: Special case:
	//      class MyClass : public AnotherClass, public TObject
	//   then on return, one must do:
	//    MyClass *obj = (MyClass*)((void*)directory->Get("some object of MyClass");
	//
	
2002-01-25 17:39  brun

	* base/src/TKey.cxx:
	Modify TKey::ReadObj to support the following cases with multiple inheritance:
	    class MyClass : public TObject, public AnotherClass
	    class MyClass : public AnotherClass, public TObject
	
	Replace the calls like:
	    obj->Streamer(*fBufferRef);
	by
	    gInterpreter->Calc(cmd)
	
	The new version should be slightly slower. However, the impact on stress
	is not visible.
	
	Add the following comments:
	//  NOTE:
	//  In case the class of this object derives from TObject but not
	//  as a first inheritance, one must cast the return value twice.
	//  Example1: Normal case:
	//      class MyClass : public TObject, public AnotherClass
	//   then on return, one can do:
	//    MyClass *obj = (MyClass*)key->ReadObj();
	//
	//  Example2: Special case:
	//      class MyClass : public AnotherClass, public TObject
	//   then on return, one must do:
	//    MyClass *obj = (MyClass*)((void*)key->ReadObj());
	//
	
2002-01-25 17:34  brun

	* meta/src/TClass.cxx:
	Modify TClass::BuildRealData to support the following two cases of multiple
	inheritance:
	     class MyClass : public TObject, public AnotherClass
	     class MyClass : public AnotherClass, public TObject
	Always call ShowMembers via the interpreter. A direct call like
	      realDataObject->ShowMembers(brd, parent);
	will not work if the class derives from TObject but not as primary
	inheritance.
	
2002-01-25 12:35  rdm

	* config/: Makefile.hpuxacc, Makefile.hpuxia64acc, root-config.in:
	remove a number of warnings from the aCC suppressed warnings list that
	are not relevant anymore since the cause of the warnings has been removed
	from the ROOT code.
	
2002-01-25 12:34  brun

	* utils/src/rootcint.cxx:
	Fix a bug in WriteAutoStreamer preventing the code for STL containers
	to be generated.
	
2002-01-25 12:21  rdm

	* base/src/TEnv.cxx:
	one more strstream[.h] fixup.
	
2002-01-25 10:25  brun

	* meta/src/TStreamerInfo.cxx:
	In TStreamerInfo::Build add support for base classes that are STL containers.
	The following example is now OK:
	class MyClassList : public TObject, public list<MyClass> {
	
	Note that the declaration;
	class MyClassList : public list<MyClass>, public TObject {
	will not work. TObject or a class deriving from TObject must be declared first.
	The reason is that one cast cast an object MyClasslist to a TObject.
	
2002-01-25 00:31  rdm

	* base/src/TColor.cxx:
	correct comments in GetColor().
	
2002-01-24 12:39  rdm

	* base/inc/IOSFwd.h, base/inc/IOStream.h, base/inc/RConfig.h,
	base/inc/Riosfwd.h, base/inc/Riostream.h, base/inc/TAttAxis.h,
	base/inc/TObject.h, base/inc/TString.h, base/src/Stringio.cxx,
	base/src/TApplication.cxx, base/src/TAttAxis.cxx,
	base/src/TAttFill.cxx, base/src/TAttLine.cxx,
	base/src/TAttMarker.cxx, base/src/TAttText.cxx,
	base/src/TColor.cxx, base/src/TDirectory.cxx, base/src/TExec.cxx,
	base/src/TFile.cxx, base/src/TFolder.cxx, base/src/TKey.cxx,
	base/src/TNamed.cxx, base/src/TObject.cxx,
	base/src/TQConnection.cxx, base/src/TQObject.cxx,
	base/src/TROOT.cxx, base/src/TSystem.cxx, base/src/TTask.cxx,
	eg/src/TGenerator.cxx, g3d/src/TAxis3D.cxx, g3d/src/THelix.cxx,
	g3d/src/TMarker3DBox.cxx, g3d/src/TNode.cxx,
	g3d/src/TPolyLine3D.cxx, g3d/src/TPolyMarker3D.cxx,
	g3d/src/TXTRU.cxx, gl/src/TWin32GLViewerImp.cxx,
	gpad/src/TButton.cxx, gpad/src/TCanvas.cxx,
	gpad/src/TClassTree.cxx, gpad/src/TGroupButton.cxx,
	gpad/src/TPad.cxx, gpad/src/TPaveClass.cxx, gpad/src/TSlider.cxx,
	gpad/src/TSliderBox.cxx, graf/inc/TCurlyLine.h, graf/inc/TLatex.h,
	graf/src/TArc.cxx, graf/src/TArrow.cxx, graf/src/TBox.cxx,
	graf/src/TCurlyArc.cxx, graf/src/TCurlyLine.cxx,
	graf/src/TCutG.cxx, graf/src/TDiamond.cxx, graf/src/TEllipse.cxx,
	graf/src/TFrame.cxx, graf/src/TGaxis.cxx, graf/src/TGraph.cxx,
	graf/src/TGraphAsymmErrors.cxx, graf/src/TGraphErrors.cxx,
	graf/src/TGraphSmooth.cxx, graf/src/TLatex.cxx,
	graf/src/TLegend.cxx, graf/src/TLegendEntry.cxx,
	graf/src/TLine.cxx, graf/src/TMarker.cxx, graf/src/TMultiGraph.cxx,
	graf/src/TPave.cxx, graf/src/TPaveLabel.cxx,
	graf/src/TPaveStats.cxx, graf/src/TPaveText.cxx,
	graf/src/TPavesText.cxx, graf/src/TPolyLine.cxx,
	graf/src/TText.cxx, graf/src/TWbox.cxx, hist/src/TAxis.cxx,
	hist/src/TF1.cxx, hist/src/TF2.cxx, hist/src/TFormula.cxx,
	hist/src/TH1.cxx, hist/src/TH1K.cxx, hist/src/THStack.cxx,
	hist/src/TMultiDimFit.cxx, hist/src/TPolyMarker.cxx,
	hist/src/TPrincipal.cxx, hist/src/TProfile.cxx,
	histpainter/src/THistPainter.cxx, html/src/THtml.cxx,
	main/src/h2root.cxx, meta/src/TClass.cxx,
	postscript/src/TPostScript.cxx, rint/src/TTabCom.cxx,
	star/inc/TTable.h, star/src/TDataSet.cxx,
	star/src/TDataSetIter.cxx, star/src/TPoints3D.cxx,
	star/src/TPointsArray3D.cxx, star/src/TTable.cxx,
	star/src/TVolume.cxx, star/src/TVolumePosition.cxx,
	star/src/TVolumeView.cxx, test/MainEvent.cxx, test/TestVectors.cxx,
	test/guiviewer.cxx, test/tcollbm.cxx, test/tcollex.cxx,
	test/tstring.cxx, test/vlazy.cxx, test/vmatrix.cxx,
	test/vvector.cxx, treeplayer/src/TTreePlayer.cxx,
	treeviewer/src/TPaveVar.cxx, treeviewer/src/TTVSession.cxx,
	treeviewer/src/TTreeViewer.cxx, tutorials/Quad.cxx:
	rename IOSFwd.h and IOStream.h to Riosfwd.h and Riostream.h. The change
	is necessary because on Windows which is case insensitive IOStream.h
	hides the real iostream.h.
	
2002-01-24 11:49  brun

	* meta/src/TStreamerElement.cxx:
	Add code in TStreamerBase::ReadBuffer and WriteBuffer to accept base classes
	for which no Streamer is available (do nothing case).
	
2002-01-24 10:54  brun

	* tree/src/TTree.cxx:
	Modify TTree::SetDirectory to also call TBranch::SetFile
	
2002-01-24 10:21  brun

	* tutorials/dirs.C:
	Extend the tutorial dirs.C to show how to save directory and histogram pointers.
	Add a loop to navigate in the directory structure and fill the histograms.
	
2002-01-24 08:47  brun

	* utils/src/rootcint.cxx:
	Fix from Philippe:
	It is a workaroung a know bug in the xxx Microsoft compiler.
	It should be fixed by microsoft .... but in the meantime it
	makes the life of users of namespace on windows a little
	bit easier (actually, without it you can not use namespace :( ).
	
2002-01-23 23:48  brun

	* base/src/TMath.cxx:
	Fix a precision problem in TMath::Prob.
	The Gaussian approximation cannot be used for values of the q parameter
	less than 5. One must use the Gamma function instead.
	
2002-01-23 18:52  rdm

	* base/inc/TAttAxis.h, base/inc/TObject.h, base/inc/TString.h,
	base/src/Stringio.cxx, base/src/TApplication.cxx,
	base/src/TAttAxis.cxx, base/src/TAttFill.cxx,
	base/src/TAttLine.cxx, base/src/TAttMarker.cxx,
	base/src/TAttText.cxx, base/src/TColor.cxx,
	base/src/TDirectory.cxx, base/src/TExec.cxx, base/src/TFile.cxx,
	base/src/TFolder.cxx, base/src/TKey.cxx, base/src/TNamed.cxx,
	base/src/TObject.cxx, base/src/TQConnection.cxx,
	base/src/TQObject.cxx, base/src/TROOT.cxx, base/src/TSystem.cxx,
	base/src/TTask.cxx, eg/src/TDatabasePDG.cxx, eg/src/TGenerator.cxx,
	g3d/src/TAxis3D.cxx, g3d/src/THelix.cxx, g3d/src/TMarker3DBox.cxx,
	g3d/src/TNode.cxx, g3d/src/TPolyLine3D.cxx,
	g3d/src/TPolyMarker3D.cxx, g3d/src/TXTRU.cxx,
	gl/src/TWin32GLViewerImp.cxx, gpad/src/TButton.cxx,
	gpad/src/TCanvas.cxx, gpad/src/TClassTree.cxx,
	gpad/src/TGroupButton.cxx, gpad/src/TPad.cxx,
	gpad/src/TPaveClass.cxx, gpad/src/TSlider.cxx,
	gpad/src/TSliderBox.cxx, graf/inc/TCurlyLine.h, graf/inc/TLatex.h,
	graf/src/TArc.cxx, graf/src/TArrow.cxx, graf/src/TBox.cxx,
	graf/src/TCurlyArc.cxx, graf/src/TCurlyLine.cxx,
	graf/src/TCutG.cxx, graf/src/TDiamond.cxx, graf/src/TEllipse.cxx,
	graf/src/TFrame.cxx, graf/src/TGaxis.cxx, graf/src/TGraph.cxx,
	graf/src/TGraphAsymmErrors.cxx, graf/src/TGraphErrors.cxx,
	graf/src/TGraphSmooth.cxx, graf/src/TLatex.cxx,
	graf/src/TLegend.cxx, graf/src/TLegendEntry.cxx,
	graf/src/TLine.cxx, graf/src/TMarker.cxx, graf/src/TMultiGraph.cxx,
	graf/src/TPave.cxx, graf/src/TPaveLabel.cxx,
	graf/src/TPaveStats.cxx, graf/src/TPaveText.cxx,
	graf/src/TPavesText.cxx, graf/src/TPolyLine.cxx,
	graf/src/TText.cxx, graf/src/TWbox.cxx, hist/src/TAxis.cxx,
	hist/src/TF1.cxx, hist/src/TF2.cxx, hist/src/TFormula.cxx,
	hist/src/TH1.cxx, hist/src/TH1K.cxx, hist/src/THStack.cxx,
	hist/src/TMultiDimFit.cxx, hist/src/TPolyMarker.cxx,
	hist/src/TPrincipal.cxx, hist/src/TProfile.cxx,
	histpainter/src/THistPainter.cxx, html/src/THtml.cxx,
	main/src/h2root.cxx, meta/src/TClass.cxx,
	postscript/src/TPostScript.cxx, rint/src/TTabCom.cxx,
	star/inc/TTable.h, star/src/TDataSet.cxx,
	star/src/TDataSetIter.cxx, star/src/TPoints3D.cxx,
	star/src/TPointsArray3D.cxx, star/src/TTable.cxx,
	star/src/TVolume.cxx, star/src/TVolumePosition.cxx,
	star/src/TVolumeView.cxx, test/MainEvent.cxx, test/TestVectors.cxx,
	test/guiviewer.cxx, test/tcollbm.cxx, test/tcollex.cxx,
	test/tstring.cxx, test/vlazy.cxx, test/vmatrix.cxx,
	test/vvector.cxx, treeplayer/src/TTreePlayer.cxx,
	treeviewer/src/TPaveVar.cxx, treeviewer/src/TTVSession.cxx,
	treeviewer/src/TTreeViewer.cxx, tutorials/Quad.cxx:
	use IOSFwd.h in headers instead of <iosfwd> or many other ifdef'ed variant
	and IOStream.h in the source instead of <iostream[.h]>, <fstream[.h]> and
	<iomanip[.h]>.
	
2002-01-23 18:46  rdm

	* base/inc/: IOSFwd.h, IOStream.h:
	wrappers around iostream, fstream and iomanip. They make sure the right
	include for the right system are used (either <iostream.h> or <iostream>,
	etc.). For example the aCC compiler prints a warning whenever it sees
	a file ending in io****.h mentioning that is is obsolete.
	
2002-01-23 16:48  rdm

	* base/inc/TDirectory.h, base/inc/TFolder.h, base/inc/TTask.h,
	gui/inc/TGListBox.h, gui/src/TGButtonGroup.cxx, gui/src/TGMenu.cxx,
	gui/src/TGMsgBox.cxx, test/Tetris.cxx, tree/inc/TEventList.h,
	treeviewer/src/TTVLVContainer.cxx:
	add TList.h where needed (so these classes compile fine if we decide to
	remove TList.h from TNamed.h).
	
2002-01-23 10:34  brun

	* histpainter/src/THistPainter.cxx:
	In THistPainter::PaintText use gStyle->GetPaintTextFormat instead
	of the fix format "g"
	
2002-01-23 10:33  brun

	* base/: inc/TStyle.h, src/TStyle.cxx:
	Implement new member
	  TString  fPaintTextFormat; //to be used by TH2::PaintText
	with the corresponding getter/setter
	 const char *GetPaintTextFormat();
	 void SetPaintTextFormat(const char *format="g")
	
2002-01-23 09:38  brun

	* tree/: inc/TBranch.h, src/TBranch.cxx, src/TBranchClones.cxx,
	src/TBranchElement.cxx, src/TBranchObject.cxx:
	TBranch::SetBasketSize moved to the implementation file. The function checks
	that the specified basket size is greater than fEntryOffsetLen.
	The functions SetBasketSize in all derived classes call TBranch::SetBasketSize
	to get the same protection.
	
2002-01-22 19:17  rdm

	* clib/src/: attach.c, keys.c:
	two more changes for the GNU/HURD port.
	
2002-01-22 19:16  rdm

	* config/: Makefile.alphacxx6, Makefile.alphaegcs,
	Makefile.alphakcc:
	custom INSTALL and INSTALLDATA commands.
	
2002-01-22 11:53  rdm

	* cint/iosenum/iosenum.hurddeb, configure, base/inc/RConfig.h,
	base/src/TMapFile.cxx, build/package/lib/makedebdir.sh,
	build/package/lib/makerpmspec.sh, cint/Module.mk, config/ARCHS,
	config/Makefile.hurddeb, config/root-config.in,
	proofd/src/daemon.cxx, proofd/src/error.cxx, proofd/src/net.cxx,
	proofd/src/proofd.cxx, README/CREDITS, rootd/src/daemon.cxx,
	rootd/src/error.cxx, rootd/src/net.cxx, rootd/src/netpar.cxx,
	rootd/src/rootd.cxx, test/Event.h, test/MainEvent.cxx,
	test/Makefile.in, unix/src/TUnixSystem.cxx:
	port to Debian distribution of GNU/Hurd by Christian Holm.
	
2002-01-21 20:17  rdm

	* config/root-config.in:
	add -DR__ACC flag for HPUX aCC compiler.
	
2002-01-21 19:09  rdm

	* rootx/inc/: rootlogo_xbm.h, rootlogo_xpm.h:
	Version 3.03 of the logos.
	
2002-01-21 19:08  rdm

	* treeviewer/src/HelpTextTV.cxx:
	remove more trailing blanks so file compiles on Win32.
	
2002-01-21 17:31  brun

	* meta/src/TStreamerInfo.cxx:
	Do not call anymore IgnoreTObjectStreamer for TVector3.
	Many users want to put TVector3 or TLorentzVector in TRef/TRefArray.
	The old behaviour may be obtained by explicitly calling
	  TVector3::Class()->IgnoreTObjectStreamer();
	  TLorentzVector::Class()->IgnoreTObjectStreamer();
	
2002-01-21 17:29  brun

	* physics/: inc/TLorentzVector.h, src/TLorentzVector.cxx:
	Modify TLorentzVector::Streamer to use automatic schema evolution.
	The class version is incremented to 4.
	
2002-01-21 15:01  brun

	* postscript/src/TPostScript.cxx:
	Protect the Init function in case gPad=0
	
2002-01-21 12:04  brun

	* treeviewer/src/HelpTextTV.cxx:
	Activate the help file under win32gdk
	
2002-01-21 08:27  brun

	* build/unix/makestatic.sh:
	Add Venus to the list of exluded packages
	
2002-01-21 02:28  rdm

	* README/README:
	mention to include $ROOTSYS/man in the MANPATH environment variable.
	
2002-01-21 02:26  rdm

	* build/unix/makestatic.sh:
	correct some comments in the script.
	
2002-01-21 02:23  rdm

	* Makefile, build/unix/makestatic.sh:
	add new target "static" to the Makefile, "make static" will generate via
	the "build/unix/makestatic.sh" script an archive library "lib/libRoot.a"
	and a statically linked executable "bin/roota".
	
2002-01-20 18:48  rdm

	* base/src/TRegexp.cxx:
	in MakeWildcard() added special treatment for "/", i.e. "*" is preceded by
	all characters except "/" (was all characters including "/"). This change
	allows the easy matching of pathnames, e.g. "*.root" will match "aap.root",
	but not "pipo/aap.root", the latter can be matched by "pipo/*.root" or
	by "*/*.root". Mod proposed by Victor Perev. for STAR.
	
2002-01-20 15:23  rdm

	* build/misc/acinclude.m4, build/misc/root.m4,
	build/package/common/README,
	build/package/common/libroot-dev.files,
	build/package/common/libroot.conffiles,
	build/package/common/libroot.files,
	build/package/common/libroot.postinst,
	build/package/common/libroot.shlibs,
	build/package/common/root-bin.conffiles,
	build/package/common/root-bin.files,
	build/package/common/root-cint.files,
	build/package/common/root-cint.postinst,
	build/package/common/root-cint.postrm,
	build/package/common/root-cint.shlibs,
	build/package/common/root-daemon.files,
	build/package/common/root-doc.dscr,
	build/package/common/root-doc.files,
	build/package/common/root-gl.files,
	build/package/common/root-gl.postinst,
	build/package/common/root-gl.shlibs,
	build/package/common/root-mysql.files,
	build/package/common/root-mysql.postinst,
	build/package/common/root-mysql.shlibs,
	build/package/common/root-pgsql.dscr,
	build/package/common/root-pgsql.files,
	build/package/common/root-pgsql.postinst,
	build/package/common/root-pgsql.shlibs,
	build/package/common/root-pythia.files,
	build/package/common/root-pythia.postinst,
	build/package/common/root-pythia.shlibs,
	build/package/common/root-sapdb.dscr,
	build/package/common/root-sapdb.files,
	build/package/common/root-sapdb.postinst,
	build/package/common/root-sapdb.shlibs,
	build/package/common/root-shift.files,
	build/package/common/root-shift.postinst,
	build/package/common/root-shift.shlibs,
	build/package/common/root-srp.dscr,
	build/package/common/root-srp.files,
	build/package/common/root-srp.postinst,
	build/package/common/root-srp.shlibs,
	build/package/common/root-star.files,
	build/package/common/root-star.postinst,
	build/package/common/root-star.shlibs,
	build/package/common/root-ttf.files,
	build/package/common/root-ttf.postinst,
	build/package/common/root-ttf.shlibs,
	build/package/common/root-venus.dscr,
	build/package/common/root-venus.files,
	build/package/common/root-venus.postinst,
	build/package/common/root-venus.shlibs,
	build/package/common/root-zebra.files,
	build/package/common/spec.tmp, Makefile, configure, README/INSTALL,
	build/package/debian/changelog,
	build/package/debian/head.control.in,
	build/package/debian/libroot-dev.control.in,
	build/package/debian/libroot.control.in,
	build/package/debian/root-bin.menu,
	build/package/debian/root-cint.postinst.in,
	build/package/debian/root-cint.prerm,
	build/package/debian/root-daemon.postinst,
	build/package/debian/root-daemon.preinst,
	build/package/debian/root-doc.control.in,
	build/package/debian/root-pgsql.control.in,
	build/package/debian/root-pgsql.postinst.in,
	build/package/debian/root-srp.control.in,
	build/package/debian/root-venus.control.in,
	build/package/debian/root-venus.postinst.in,
	build/package/debian/rules.in,
	build/package/debian/task-root.control.in,
	build/package/lib/common.sh, build/package/lib/makeconfigure.sh,
	build/package/lib/makedebchangelog.sh,
	build/package/lib/makedebclean.sh,
	build/package/lib/makedebconffiles.sh,
	build/package/lib/makedebcontrol.sh,
	build/package/lib/makedebcopyright.sh,
	build/package/lib/makedebdir.sh, build/package/lib/makedebdocs.sh,
	build/package/lib/makedebexamples.sh,
	build/package/lib/makedebfiles.sh,
	build/package/lib/makedebrules.sh, build/package/lib/makedebscr.sh,
	build/package/lib/makedebshlocal.sh,
	build/package/lib/makerpmclean.sh,
	build/package/lib/makerpmfiles.sh,
	build/package/lib/makerpmspec.sh,
	build/package/lib/makerpmspecs.sh, build/package/rpm/README.Redhat,
	build/package/rpm/head.spec.in,
	build/package/rpm/root-daemon.spec.in,
	build/package/rpm/root-doc.spec.in,
	build/package/rpm/root-pgsql.spec.in,
	build/package/rpm/root-srp.spec.in,
	build/package/rpm/root-venus.spec.in,
	build/package/rpm/tail.spec.in, icons/deb_s.xpm, icons/deb_t.xpm,
	icons/rpm_s.xpm, icons/rpm_t.xpm, man/man1/memprobe.1,
	man/man1/root-config.1, base/src/TUUID.cxx, config/ARCHS,
	config/Makefile.aix, config/Makefile.aix5, config/Makefile.aixegcs,
	config/Makefile.alphacxx6, config/Makefile.alphaegcs,
	config/Makefile.alphakcc, config/Makefile.freebsd,
	config/Makefile.freebsd4, config/Makefile.hpux,
	config/Makefile.hpuxacc, config/Makefile.hpuxegcs,
	config/Makefile.hpuxia64acc, config/Makefile.in,
	config/Makefile.linux, config/Makefile.linuxalphaegcs,
	config/Makefile.linuxarm, config/Makefile.linuxdeb,
	config/Makefile.linuxdeb2, config/Makefile.linuxdeb2ppc,
	config/Makefile.linuxia64ecc, config/Makefile.linuxia64gcc,
	config/Makefile.linuxia64sgi, config/Makefile.linuxkcc,
	config/Makefile.linuxpgcc, config/Makefile.linuxppcegcs,
	config/Makefile.linuxrh42, config/Makefile.linuxrh51,
	config/Makefile.linuxsuse6, config/Makefile.lynxos,
	config/Makefile.macosx, config/Makefile.mklinux,
	config/Makefile.sgicc, config/Makefile.sgiegcs,
	config/Makefile.sgikcc, config/Makefile.sgin32egcs,
	config/Makefile.solaris, config/Makefile.solarisCC5,
	config/Makefile.solarisegcs, config/Makefile.solarisgcc,
	config/Makefile.solariskcc, config/Makefile.win32,
	config/Makefile.win32gdk, config/mimes.unix.in,
	config/root-config.in, proofd/src/error.cxx, proofd/src/proofd.cxx,
	rootd/Module.mk, rootd/src/error.cxx, rootd/src/rootd.cxx,
	srputils/Module.mk, unix/src/TUnixSystem.cxx:
	Mega patch by Christian Holm concerning the configure, build and
	Debian and RedHat packaging scripts. The configure script has been
	rationalized (introduction of two shell functions to find package
	headers and libraries). Extensive update of the INSTALL writeup,
	including description of all new packages (SapDB, PgSql, etc.).
	More options to the root-config script. Man page for memprobe.
	Big overhaul of the Debian and RedHat packaging scripts, supporting
	the new libraries.
	
2002-01-20 12:47  brun

	* g3d/inc/TPolyMarker3D.h:
	Add forward declaration of TCollection
	
2002-01-20 11:25  brun

	* treeplayer/src/TTreePlayer.cxx:
	In TTreePlayer::TakeAction and TakeEstimate, use the new function SetPoint
	from TPolyMarker or TPolyMarker3D instead of filling the array directly.
	SetPoint takes care of setting the variable fLastPoint automatically.
	
2002-01-20 11:22  brun

	* tree/: inc/TEventList.h, src/TEventList.cxx:
	Add new function
	 Int_t Merge(TCollection *list)
	to merge the TEventList objects in the collection.
	
2002-01-20 11:21  brun

	* hist/: inc/TH1.h, inc/TH2.h, inc/TH3.h, inc/TProfile.h,
	inc/TProfile2D.h, src/TH1.cxx, src/TH2.cxx, src/TH3.cxx,
	src/TProfile.cxx, src/TProfile2D.cxx:
	Add new function
	 Int_t Merge(TCollection *list)
	
	All classes created by TTreePlayer::DrawSelect have now a Merge function.
	This function will be called by the PROOF system currently in development
	to merge the list of objects generated by each slave processor on
	the master server.
	In case of histograms (1,2,3-D, profiles) Merge computes the min/max for
	the x, y or z axis, the new number of bins, if necessary. iT add bin contents,
	errors and statistics.
	The function returns the merged number of entries if the merge is
	successfull, -1 otherwise.
	
	In case of polymarkers (2 or 3-d), Merge adds the list of markers in
	the collection to the current object.
	
	An example to merge a list of histograms with different binning, but
	having a lowest common denominator bin size is shown below:
	
	void atest() {
	   TH1F *h1 = new TH1F("h1","h1",110,-110,0);
	   TH1F *h2 = new TH1F("h2","h2",220,0,110);
	   TH1F *h3 = new TH1F("h3","h3",330,-55,55);
	   TRandom r;
	   for (Int_t i=0;i<10000;i++) {
	      h1->Fill(r.Gaus(-55,10));
	      h2->Fill(r.Gaus(55,10));
	      h3->Fill(r.Gaus(0,10));
	   }
	
	   TList *list = new TList;
	   list->Add(h1);
	   list->Add(h2);
	   list->Add(h3);
	   TH1F *h = (TH1F*)h1->Clone("h");
	   h->Reset();
	   h.Merge(list);
	   h->Draw();
	
2002-01-20 11:11  brun

	* hist/: inc/TPolyMarker.h, src/TPolyMarker.cxx:
	Add new data member fLastPoint.
	Add the following new functions:
	   virtual Int_t   GetLastPoint() const { return fLastPoint;}
	   virtual Int_t   Merge(TCollection *list);
	   virtual Int_t   SetNextPoint(Double_t x, Double_t y); // *MENU*
	   virtual Int_t   Size() const {return fLastPoint+1;}
	
2002-01-20 11:06  brun

	* graf/: inc/TPolyLine.h, src/TPolyLine.cxx:
	Add new data member fLastPoint.
	Add the following new functions:
	   virtual Int_t   GetLastPoint() const { return fLastPoint;}
	   virtual Int_t   Merge(TCollection *list);
	   virtual Int_t   SetNextPoint(Double_t x, Double_t y); // *MENU*
	   virtual void    SetPolyLine(Int_t n);
	   virtual void    SetPolyLine(Int_t n, Float_t *x, Float_t *y,
	                               Option_t *option="");
	   virtual void    SetPolyLine(Int_t n, Double_t *x, Double_t *y3,
	                               Option_t *option="");
	   virtual Int_t   Size() const {return fLastPoint+1;}
	
2002-01-20 11:02  brun

	* g3d/: inc/TPolyLine3D.h, inc/TPolyMarker3D.h,
	src/TPolyLine3D.cxx, src/TPolyMarker3D.cxx:
	Add new function
	 Int_t Merge(TCollection *list)
	to merge all the TPolyLine3D/TPolyMarker3D in the collection.
	
	Preset to 0 the vector of points when expanding the array.
	
2002-01-19 14:19  brun

	* meta/src/TStreamerInfo.cxx:
	Remove special case for TLorentzVector in the Build function.
	
2002-01-19 14:18  brun

	* physics/: inc/TLorentzVector.h, src/TLorentzVector.cxx:
	Increment class version to 3.
	Modify Streamer to call TObject::Streamer
	With this change, TLorentzVector objects may be referenced via TRef or TRefArray.
	To obtain the previous behaviour, call
	TLorentzVector::Class()->IgnoreTObjectStreamer();
	
2002-01-19 12:12  brun

	* base/inc/RVersion.h, build/version_number:
	Start with 3.03/00
	
2002-01-19 12:04  brun

	* tree/inc/TChain.h, tree/inc/TTree.h, tree/src/TChain.cxx,
	tree/src/TTree.cxx, treeplayer/src/TTreePlayer.cxx:
	Add a new function TTree::GetEntriesFast. In case of a Tree,
	both GetEntries and GetEntriesFast return directly fEntries.
	In case of a TChain, GetEntries will force the read of the Tree headers
	in all the files to get the number of entries and set the table of offsets.
	
	The new function GetEntriesFast is  used internally by TChain
	or TTreePlayer to make sure that the TChain files are processed
	only once in a given query.
	
	TTreePlayer::MakeStats has been modified to call GetEntriesFast
	instead of GetEntries.
	
	These changes make the new functionality of TChain::Add backward compatible.
	
2002-01-19 09:25  brun

	* hist/: inc/TF1.h, inc/TFormula.h, src/TF1.cxx, src/TFormula.cxx:
	Move some inline functions to the implementation files with the relevant
	protections in case the default constructors are called
	
2002-01-19 02:26  rdm

	* cint/src/parse.c:
	fix by Phillipe to correct earlier introduced problem.
	
2002-01-18 19:46  rdm

	* base/inc/RConfig.h, base/inc/TMath.h, base/inc/TString.h,
	base/src/TMath.cxx, cint/Module.mk,
	cint/iosenum/iosenum.hpuxia64acc, config/ARCHS,
	config/Makefile.hpuxia64acc, config/root-config.in,
	test/Makefile.in:
	port to HP-UX 11i version 1.5 (IA-64) with the aCC compiler.
	
2002-01-18 16:06  brun

	* tree/: inc/TChain.h, src/TChain.cxx:
	Replace constant 1000000000 by kBigNumber
	
2002-01-18 15:51  brun

	* treeplayer/src/TTreePlayer.cxx:
	Remove PROOF code and dependencies
	
2002-01-18 15:25  rdm

	* gui/inc/TGComboBox.h:
	GetListBox() returns a "TGListBox*" and not anymore a "const TGListBox*".
	
2002-01-18 15:24  rdm

	* base/inc/LinkDef2.h, base/inc/TDSet.h, base/src/TDSet.cxx,
	proof/inc/LinkDef.h, proof/inc/TEventIter.h, proof/inc/TProof.h,
	proof/inc/TProofPlayer.h, proof/src/TEventIter.cxx,
	proof/src/TProof.cxx, proof/src/TProofPlayer.cxx,
	proof/src/TProofServ.cxx, tree/inc/TSelector.h,
	tree/inc/TSelectorCint.h, tree/src/TSelector.cxx,
	tree/src/TSelectorCint.cxx, treeplayer/inc/LinkDef.h:
	relocate some proof file to remove circular dependencies between the
	treeplayer and proof shared libraries. Also rename TPlayer to TProofPlayer
	et al. Also remove Begin() from TSelector, use Begin(0) instead. This to
	be backward compatible with existing TSelector scripts that don't have
	Begin() and therefor give warnings about Begin() being hidden in the base
	class.
	
2002-01-18 15:19  rdm

	* treeplayer/: inc/TDSet.h, inc/TEventIter.h, inc/TPlayer.h,
	src/TDSet.cxx, src/TEventIter.cxx, src/TPlayer.cxx:
	move TDSet to base and TPlayer and TEventIter to proof.
	
2002-01-18 12:38  brun

	* hist/inc/TH1.h, hist/inc/TH2.h, hist/inc/TH3.h,
	hist/inc/TProfile.h, hist/inc/TProfile2D.h, hist/src/TH1.cxx,
	hist/src/TH2.cxx, hist/src/TH3.cxx, hist/src/TProfile.cxx,
	hist/src/TProfile2D.cxx, histpainter/src/THistPainter.cxx:
	Add new functionality to the histogram package via the new functions
	SetBuffer, BufferFill and BufferEmpty.
	    virtual void     SetBuffer(Int_t buffersize, Option_t *option="");
	    virtual Int_t    BufferFill(Axis_t x, Stat_t w); //protected
	    virtual Int_t    BufferEmpty();
	
	Add new members:
	    Int_t         fBufferSize;      //fBuffer size
	    Double_t     *fBuffer;          //[fBufferSize] entry buffer
	
	When SetBuffer is called, a dynamic buffer is created to hold up to
	fBufferSize entries. When the standard Fill functions are called,
	the arguments are put in the buffer, if a buffer is specified.
	When the number of entries in the buffer is greater than fBufferSize,
	the function BufferEmpty is automatically called.
	BufferEmpty will fill the histogram with the entries in the buffer.
	
	In case one of the axis has its lower limit greater or equal
	to its upper limit, BufferEmpty calls the THLimitsFinder::FindGoodLimits
	to compute the axis limits based on the entries in the current buffer.
	
	When an histogram is created with an axis lower limit greater or equal
	to its upper limit, the SetBuffer is automatically called with an
	argument fBufferSize equal to fgBufferSize (default value=1000).
	fgBufferSize may be reset via the static function TH1::SetDefaultBufferSize.
	
2002-01-18 12:35  brun

	* treeplayer/src/TTreePlayer.cxx:
	All functions looping in Tree/Chain entries modified to take into account
	the new default when creating a TChain.
	When starting the loop on a TChain, the number of entries is not known.
	TChain.GetEntries() return a large number.
	A protection is added inside the loop when the entry number does not exist.
	
	Also, add an additional statement in the code generated by TTreePlayer::MakeClass
	to protect rdading beyond the last entry in a TChain.
	
2002-01-18 12:32  brun

	* tree/src/TChain.cxx:
	Change the default option for nentries when calling TChain::Add
	The previous default (-1) is changed to 1000000000.
	TChain::Add modified to support the new default. By default
	the file is not opened when calling TChain::Add
	Int_t TChain::Add(const char *name, Int_t nentries)
	//    A- if nentries <= 0, the file is connected and the tree header read
	//       in memory to get the number of entries.
	//
	//    B- if (nentries > 0, the file is not connected, nentries is assumed to be
	//       the number of entries in the file. In this case, no check is made that
	//       the file exists and the Tree existing in the file. This second mode
	//       is interesting in case the number of entries in the file is already stored
	//       in a run data base for example.
	//
	//    C- if (nentries == 1000000000) (default), the file is not connected.
	//       the number of entries in each file will be read only when the file
	//       will need to be connected to read an entry.
	//       This option is the default and very efficient if one process
	//       the chain sequentially. Note that in case TChain::GetEntry(entry)
	//       is called and entry refers to an entry in the 3rd file, for example,
	//       this forces the Tree headers in the first and second file
	//       to be read to find the number of entries in these files.
	//       Note that if one calls TChain::GetEntries() after having created
	//       a chain with this default, GetEntries will return 1000000000!
	//       One can force the Tree headers of all the files to be read
	//       by calling TChain::GetEntry(bigentry) with bigentry greater than
	//       the first entry number of the last file, eg 999999999.
	//       To compute the number of entries in a chain built with this option, do:
	//            chain.GetEntry(999999999);
	//            chain.GetEntries();
	
2002-01-18 12:29  brun

	* tree/: inc/TChain.h, inc/TTree.h, src/TTree.cxx:
	Move member fNotify from TChain to TTree.
	Same for functions SetNotiFy and GetNotify.
	With this change SetNotify may be called on a TTree or TChain.
	(Thanks Axel Naumann for the suggestion)
	
2002-01-18 10:50  brun

	* tree/src/TBranchElement.cxx:
	Protect the constructor against too small buffer sizes.
	The buffer size is set internally to the minimum of
	 buffersize and 1000+buffersize
	
2002-01-17 18:45  brun

	* cint/src/: cast.c, fread.c, parse.c:
	Fix from Philippe for the following problem:
	Rootcint doesn't parse them correctly, assuming that it's
	std::vector<constnamespace::TMyClass*> and complaining about not knowing
	constnamespace. Could one of you improve that, please? Using const* in stl
	containers is common, because it's good code writing (Paul says: "A pointer
	is nasty enough, at least make it const").
	
2002-01-17 13:15  rdm

	* base/: inc/TSystem.h, src/TRegexp.cxx:
	increase kMAXPATHLEN and fgMaxpat to 2048 (Windows max path length).
	
2002-01-17 13:14  rdm

	* meta/src/TFunction.cxx:
	need (void*) cast in return of InterfaceMethod().
	
2002-01-16 22:13  brun

	* cint/inc/CallFunc.h, meta/inc/TClass.h, meta/src/TClass.cxx,
	meta/src/TFunction.cxx:
	iThis patch by Philippe ensures that TClass::GetMethod returns something sensible
	even if the class is interpreted.
	
2002-01-16 19:12  brun

	* tree/src/TBranchElement.cxx:
	Modify the TBranchElement constructor in case of a TClonesArray.
	The TClonesArray branch counter does not need an fEntryOffset in its basket.
	The new function Tbasket::deleteEntryOffset is called in this case.
	This makes the buffer for the TClonesArray counter much shorter.
	It was a non negligible overhead in case of very small objects
	in the array.
	
2002-01-16 19:10  brun

	* tree/: inc/TBasket.h, src/TBasket.cxx:
	add new function TBasket::DeleteEntryOffset.
	This function is called by the new version of TBranchElement to delete
	the fEntryOffset buffer not necessary in case of a TClonesArray.
	
2002-01-16 16:30  brun

	* base/: inc/TAttAxis.h, src/TAttAxis.cxx:
	Add an optional argument to SetNdivisions.
	void TAttAxis::SetNdivisions(Int_t n, Bool_t optim)
	{
	//   Set the number of divisions for this axis
	//   if optim = kTRUE (default), the number of divisions will be
	//                      optimized around the specified value.
	//   if optim = kFALSE, or n < 0, the axis will be forced to use
	//                      exactly n divisions.
	
2002-01-16 16:20  rdm

	* cint/src/newlink.c:
	Fix by Dave Morrison to prevent erroneous inclusion of algorithm.h.
	
2002-01-16 15:35  brun

	* treeviewer/src/TTreeViewer.cxx:
	set the default for drawing scatter-plots to "" instead of "hist"
	
2002-01-16 14:53  brun

	* x3d/: inc/TViewerX3D.h, src/TViewerX3D.cxx:
	Add new functions:
	   Int_t    ExecCommand(Int_t px, Int_t py, char command);
	   void     GetPosition(Float_t &longitude, Float_t &latitude, Float_t &psi);
	
	ExecCommand may be called from a script to animate an X3D picture
	// px, py  mouse position
	//command = 0       --- move to px,py
	//        = w       --- wireframe mode
	//        = e       --- hidden line mode
	//        = r       --- hidden surface mode
	//        = u       --- move object down
	//        = i       --- move object up
	//        = o       --- toggle controls style
	//        = s       --- toggle stereo display
	//        = d       --- toggle blue stereo view
	//        = f       --- toggle double buffer
	//        = h       --- move object right
	//        = j       --- move object forward
	//        = k       --- move object backward
	//        = l       --- move object left
	//        = x a     --- rotate about x
	//        = y b     --- rotate about y
	//        = z c     --- rotate about z
	//        = 1 2 3   --- autorotate about x
	//        = 4 5 6   --- autorotate about y
	//        = 7 8 9   --- autorotate about z
	//        = [ ] { } --- adjust focus
	// Example:
	/*
	{
	   gSystem->Load("libX3d");
	   TCanvas *c1 = new TCanvas("c1");
	   TFile *f = new TFile("hsimple.root");
	   TTree *ntuple = (TTree*)f->Get("ntuple");
	   ntuple->SetMarkerColor(kYellow);
	   ntuple->Draw("px:py:pz");
	   TViewerX3D *x3d = new TViewerX3D(c1,"");
	   for (Int_t i=0;i<500;i++) {
	      Int_t px = i%500;
	      Int_t py = (2*i)%200;
	      x3d->ExecCommand(px,py,0);  //rotate
	      if (i%20 >10) x3d->ExecCommand(px,py,'j'); //zoom
	      if (i%20 <10) x3d->ExecCommand(px,py,'k'); //unzoom
	   }
	}
	*/
	
2002-01-16 14:51  brun

	* x3d/src/x3d.c:
	Add new function x3d_exec_command(int px, int py, char command).
	This function uses a subset of the code in Updateposition.
	It is called by the new function TViewerX3D::ExecCommand.
	
2002-01-16 12:00  rdm

	* base/inc/TMath.h:
	fix finite() and isnan() being undefined problems when compiling with the
	gcc -ansi option. This fixes also the G4 incompatibility problem since
	the latest G4 makefile was setting -ansi for gcc.
	
2002-01-15 16:40  brun

	* graf/src/TPolyLine.cxx, hist/src/TPolyMarker.cxx:
	In SavePrimitive, save the draw option.
	
2002-01-15 11:34  brun

	* hist/inc/TAxis.h:
	Add new enum kIsInteger.
	
2002-01-15 11:33  brun

	* star/src/TTable.cxx:
	Use THLimitsFinder instead of TGaxis::Optimize.
	
2002-01-15 11:32  brun

	* treeplayer/inc/TTreePlayer.h:
	Delete function FindGoodLimits. TreePlayer uses THLimitsFinder instead.
	
2002-01-15 11:31  brun

	* treeplayer/: src/TTreeFormula.cxx, inc/TTreeFormula.h:
	Move function SetAxis to implementation file.
	This function sets the Faxis member.
	It also sets the TAxis bit kIsInteger if required.
	
2002-01-15 11:29  brun

	* treeplayer/src/TTreePlayer.cxx:
	Delete function FindGoodLimits.
	Use services of THLimitsFinder in TTreePlayer::SetEstimate.
	
	Modify DrawSelect to use the modified function TTreeFormula::SetAxis.
	This new function takes care of setting the bit kIsInteger in the axis.
	This also fixes a problem when histograming integer variables. The number of bins
	was not correctly recomputed.
	
	Add a fix from Philippe in MakeClass to initialize members holding object pointers.
	
2002-01-15 11:24  brun

	* graf/: inc/TGaxis.h, src/TGaxis.cxx:
	Remove the static function Optimize. Use THLimitsFinder instead.
	
2002-01-15 11:23  brun

	* hist/inc/LinkDef.h:
	Add new class THLimitsFinder
	
2002-01-15 11:22  brun

	* hist/: inc/THLimitsFinder.h, src/THLimitsFinder.cxx:
	New class to compute nice axis limits.
	This class is called by the histograming package and by TTree::Draw.
	
2002-01-15 08:48  brun

	* tree/src/TTree.cxx:
	Fix by Philippe in TTree::Show to take into account TLeafC.
	
2002-01-15 08:47  brun

	* tree/src/TChain.cxx:
	Patch by Philippe to prevent reads before the start of the
	fTreeOffset array.
	
2002-01-15 02:26  rdm

	* cint/: inc/G__ci.h, include/array.c, include/darray.h,
	lib/prec_stl/vector, src/decl.c, src/expr.c, src/ifunc.c:
	import of CINT 5.15.26.
	For what else is new see http://root.cern.ch/root/Cint.phtml?relnote.
	
2002-01-15 01:57  rdm

	* gui/src/TGListView.cxx:
	fix typo in comment.
	
2002-01-15 01:53  rdm

	* base/src/TString.cxx:
	fix in EndsWith() by Maarten B, if end pattern appeared more than once
	the method did not return true.
	
2002-01-15 01:50  rdm

	* base/src/TFile.cxx:
	remove old PROOF file open code.
	
2002-01-15 01:48  rdm

	* base/: inc/TROOT.h, src/TROOT.cxx:
	change some int's to Int_t's. Correct some comments in Proof() method.
	
2002-01-15 01:46  rdm

	* base/inc/MessageTypes.h:
	add some new PROOF message codes.
	
2002-01-15 01:45  rdm

	* proof/inc/TProof.h, proof/src/TProof.cxx,
	proof/src/TProofServ.cxx, treeplayer/inc/LinkDef.h,
	treeplayer/inc/TDSet.h, treeplayer/inc/TEventIter.h,
	treeplayer/inc/TPlayer.h, treeplayer/src/TDSet.cxx,
	treeplayer/src/TEventIter.cxx, treeplayer/src/TPlayer.cxx,
	tree/inc/TSelector.h, tree/inc/TSelectorCint.h,
	tree/src/TSelectorCint.cxx:
	new PROOF infrastructure classes. Not yet usable. Checked in to facilitate
	collaborative development with Maarten.
	
2002-01-13 08:43  brun

	* tree/src/TBranchElement.cxx:
	Fix by Philippe in TBranchElement::Browse
	The problem was that there was 2 main branches starting with the
	name fTracks.  The solution was to force TBranchElement::Browse
	to use its own fully qualified name.
	
2002-01-12 21:58  brun

	* base/src/TFolder.cxx:
	Fix a bug in TFolder::IsOwner. Test should be
	   if (!fFolders) return kFALSE;
	and not
	   if (fFolders) return kFALSE;
	
2002-01-12 09:57  brun

	* hist/src/TH1.cxx:
	Replace message
	         Warning("Build","Replacing existing histogram: %s",GetName());
	by
	         Warning("Build","Replacing existing histogram: %s (Potential memory leak).",GetName());
	
2002-01-12 09:52  brun

	* graf/src/TLatex.cxx:
	Initialize members fOriginSize and fTabSize in the constructors.
	Copy fTabSize in the copy constructor.
	
2002-01-12 09:44  brun

	* hist/src/TH1.cxx:
	 In the TH1C,S,F,D default constructors, set the default number of bins =1
	to avoid a crash in case the default constructor is called and the histogram is filled.
	
2002-01-12 09:43  brun

	* hist/src/TAxis.cxx:
	In the default constructor, set xmax=1 instead of xmax=0
	
2002-01-11 16:47  brun

	* base/src/TFile.cxx:
	Add more checks to protect against corrupted or truncated files.
	


ROOT page - Class index - 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.