ROOT version 3.11 Development Notes

2003-12-27 17:14  brun

	* tree/src/TBranchClones.cxx, tree/src/TTree.cxx,
	treeplayer/src/TTreeFormula.cxx:
	More changes required by the introduction of the new data type Double32_t
	
2003-12-27 17:13  brun

	* test/: Event.cxx, Event.h:
	Modidy the classes Event and Track to make use of the new data type Double32_t
	
2003-12-27 12:28  brun

	* win32gdk/gdk/src/gdk/win32/: gdkdrawable-win32.c,
	gdkwindow-win32.c:
	Patch from Bertrand fixing brushes related memory leaks
	
2003-12-26 23:06  brun

	* tree/src/TBranchElement.cxx:
	Changes to support
	 -Long64 and ULong64_t
	 -Double32_t
	
2003-12-26 19:38  brun

	* base/inc/LinkDef1.h, base/inc/Rtypes.h, meta/inc/TDataType.h,
	meta/inc/TStreamerInfo.h, meta/src/TDataType.cxx,
	meta/src/TStreamerInfo.cxx:
	Implement a new data type Double32_t (in Rtypes.h).
	In memory a Double32_t is like a Double_t (8 bytes).
	When written to a file, the type is converted to a Float 4 bytes.
	The newdata type is accepted as a simple variable, as a fixed length array
	or a variable length array, like:
	  Double32_t  fPt:
	  Double32_t  fVertex[3];
	  Int_t       fNtracks;
	  Double32_t *fPx;  //[fNtracks]
	
	The new data type is supported in all I/O modes (TKey or TTree)
	
	The automatic schema evolution algorithm accepts this new type.
	For example a class in a file containing a Double_t data member
	can be read by a new class where the member is now of type Double32_t
	and vice-versa.
	
2003-12-25 19:11  brun

	* dcache/src/TDCacheFile.cxx:
	Fix warnings with unused parameter
	
2003-12-25 18:55  brun

	* tree/: inc/TBranchElement.h, src/TBranchElement.cxx:
	Add a new member fCheckSum and corresponding getter GetCheckSum.
	Classversion incremented to version 8.
	In TBranchElement::GetInfo, use the fCheckSum member to find the right
	TStreamerInfo object in TClass.
	With this change and the previous changes in TBuffer, TClass and TStreamerInfo,
	automatic schema evolution is supported for foreign classes written in a TTree
	or as classes written as a TKey.
	
2003-12-25 18:51  brun

	* meta/src/TStreamerInfo.cxx:
	In TStreamerInfo::BuildCheck recompute the fClassVersion and the pointer to the
	TStreamerInfo object corresponding to the current class checksum.
	In case of a foreign class, do not print the Warning in case the current class
	checksum and the checksum in the TStreamerInfo differ. Instead recompute
	the correct class version using the checksum parameter.
	
2003-12-25 18:48  brun

	* meta/src/TClass.cxx:
	Pass the pointer to the current class as 3rd argument of TBuffer::ReadVersion
	
2003-12-25 18:47  brun

	* base/: inc/TBuffer.h, src/TBuffer.cxx:
	Add an optional argument to TBuffer::ReadVersion.
	The new argument "TClass* cl) is used to retrieve the version number
	corresponding to the class checksum.
	This change is required to support automatic schema evolution
	for foreign classes.
	
2003-12-24 18:33  brun

	* win32gdk/Module.mk:
	Fix a TAB problem (Bertrand)
	
2003-12-24 18:28  brun

	* win32gdk/gdk/src/gdk/win32/gdkdrawable-win32.c:
	A pach from Bertrand Bellenot fixing region-related memory leaks.
	
2003-12-24 14:36  brun

	* win32gdk/Module.mk:
	Fix to previous fix
	
2003-12-24 14:30  brun

	* win32gdk/Module.mk:
	Fix to Makefile by Bertrand Bellenot
	
2003-12-24 11:58  brun

	* win32gdk/gdk/src/gdk/win32/: gdkevents-win32.c,
	gdkwindow-win32.c:
	Fix memory leaks (Bertrand Bellenot)
	
2003-12-24 10:45  brun

	* treeplayer/src/TSelectorDraw.cxx:
	From Philippe:
	
	Because of a misplaced curly bracket, TSelectorDraw::ProcessFillObject was unable to draw a large amount of data (i.e.
	up to fTree->GetEstimate()).
	
2003-12-21 20:07  brun

	* base/src/TVirtualX.cxx:
	Fix a long list of badly formatted comments (when commenting unused pointers)
	
2003-12-21 15:49  brun

	* fumili/src/TFumili.cxx:
	The functions TFumili::GetParameter and TFumili::GetParError had code inverted.
	Memory leak fixed in GraphFitChisquareFumili.
	Thanks to Fedor Ignatov
	
2003-12-19 17:36  brun

	* gui/src/TGLayout.cxx:
	From Valeriy Onuchin:
	
	- small fix in TGVerticalLayout, TGHorizontalLayout
	
2003-12-19 17:10  brun

	* tree/src/TLeafL.cxx:
	Fix in casting a return value to satisfy VC++6
	
2003-12-19 17:04  brun

	* test/RootShower/RootShower.cxx:
	Fix for Windows by Bertrand
	
2003-12-19 17:00  brun

	* gui/src/TGButton.cxx:
	From Valeriy Onuchin:
	 - TGCheckButton alignment fixed.  Label is aligned against button.
	
2003-12-19 14:40  brun

	* tree/: inc/LinkDef.h, inc/TLeafL.h, src/TBranch.cxx,
	src/TLeafL.cxx, src/TTree.cxx:
	Add new class TLeafL to support Long64_t, ULong64_t data types in a TBranch
	
2003-12-19 11:26  brun

	* win32gdk/src/TGWin32ProxyBase.cxx:
	From valeriy Onuchin:
	
	- mods in TGWin32ProxyBase::ForwardCallBack(Bool_t sync)
	  Do not execute the method which had failed to be executed because of delay
	  with response from "server thread".
	
2003-12-19 10:31  brun

	* tree/src/TSelector.cxx, treeplayer/src/TTreePlayer.cxx:
	Add the following warning in TSelector::GetSelector:
	
	//   WARNING when a selector is used with a TChain:
	//    in the Process, ProcessCut, ProcessFill function, you must use
	//    the pointer to the current Tree to call GetEntry(entry).
	//    entry is always the local entry number in the current tree.
	//    Assuming that fChain is the pointer to the TChain being processed,
	//    use fChain->GetTree()->GetEntry(entry);
	
	Modify TTreePlayer::MakeSelector to generate the code with this warning
	in the selector Process function.
	
2003-12-19 08:55  brun

	* tree/: inc/TLeaf.h, src/TLeaf.cxx:
	From Philippe:
	
	Using valgrind on TBench, I found some uninitialized memory in TLeaf
	in the case of a TLeafElement belonging to a split TClonesArray.
	
	The uninitialized memory came from the fact that the constructor was
	not initializing everything if it could not find the leafcount.
	In the case described above, the leafcount is not available until
	after the constructor of the leaf (or so it seems) and is explicitly
	set later using TLeaf::SetLeafCount.
	
	This patch insures that more data members are initialized even in
	case of seemingly incorrect configuration and insures that the Zombie
	state is removed if the leafcount becomes available after the end of
	the constructor.
	
2003-12-18 19:31  brun

	* krb5auth/src/Krb5Auth.cxx:
	From Philippe:
	corrects the printing of a couple of debug messages and add one more debug message.
	
2003-12-18 16:14  brun

	* gui/src/TGListBox.cxx:
	From Valeriy Onuchin:
	- TGListBox. Reset GetSelected when setting OFF the multiple selection.
	
2003-12-18 14:21  brun

	* hist/src/TFormula.cxx, test/dt_DrawTest.C, test/dt_MakeRef.C,
	tree/src/TTree.cxx, treeplayer/inc/TTreeFormula.h,
	treeplayer/src/TTreeFormula.cxx, treeplayer/src/TTreePlayer.cxx:
	From Philippe:
	
	        Add support for the boolean optimization in TFormula::GetExpFormula
	
	        Prevent TTree::Scan from printing random value for invalid formulas
	
	        Add a new TTreeFormula special function:
	
	      Alt$(primary,alternate) : return the value of "primary" if it is available
	                    for the current iteration otherwise return the value of "alternate".
	                    For example, with arr1[3] and arr2[2]
	      tree->Draw("arr1-Alt$(arr2,0)");
	                 will draw arr[0]+arr2[0] ; arr[1]+arr2[1] and arr[1]+0
	                    Or with a variable size array arr3
	       tree->Draw("Alt$(arr3[0],0)+Alt$(arr3[1],0)+Alt$(arr3[2],0)");
	                    will draw the sum arr3 for the index 0 to min(2,actual_size_of_arr3-1)
	                    As a comparison
	       tree->Draw("arr3[0]+arr3[1]+arr3[2]");
	                    will draw the sum arr3 for the index 0 to 2 only if the
	                    actual_size_of_arr3 is greater or equal to 3.
	                    Note that the array in 'primary' is flatened/linearilized thus using
	                    Alt$ with multi-dimensional arrays of different dimensions in unlikely
	                    to yield the expected results.  To visualize a bit more what elements
	                    would be matched by TTree::Draw, TTree::Scan can be used:
	       tree->Scan("arr1:Alt$(arr2,0)");
	                    will print on one line the value of arr1 and (arr2,0) that will be
	                    matched by
	       tree->Draw("arr1-Alt$(arr2,0)");
	
2003-12-18 14:17  brun

	* gui/src/TGListBox.cxx:
	From Valeriy Onuchin:
	
	- TGListBox class:
	  generation Selected signals  added when SetMultipleSelections(kTRUE)
	
2003-12-17 16:20  brun

	* treeplayer/src/TTreePlayer.cxx:
	Fix a problem in TTreePlayer::UnbinnedFit in case the initial value of a parameter is negative.
	In this case, the step size was set negative, forcing Minuit in RESET mode.
	
2003-12-16 23:42  brun

	* treeplayer/src/TTreePlayer.cxx:
	From Philippe
	
	This patch makes sure the formula are properly refreshed when using a chain.
	
	It removes the printing of some (spurious) empty lines when using a selection criterion.
	I.e. Without a selection criterion, there is always a least one line per entry (if is empty) while with a selection
	criterion, an entry is printed if and only if a least one of the sub-element exist and match the criterion.
	
2003-12-16 23:31  brun

	* gui/src/TGMenu.cxx:
	Protection added to TGMenu (Thanks Valeri Fine)
	
2003-12-16 22:58  brun

	* treeplayer/src/TTreePlayer.cxx:
	From Philippe:
	
	With this improvement, TTree::Scan properly correlate (as needed) the selection criterium and the printed columns.
	


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.