Log of /trunk/tree/tree/src/TLeaf.cxx
Parent Directory
Revision
40753 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Aug 29 20:57:23 2011 UTC (3 years, 4 months ago) by
pcanal
File length: 11355 byte(s)
Diff to
previous 38936
From Matthew Strait:
The class documentation for TTree, TBranch and TLeaf all say "If leaf name
has the form var[nelem], where nelem is a digit, then...". This frightened
me for a moment because if taken literally it would mean arrays can't be
larger than 9 elements. A look at the code reveals that it doesn't really
mean "digit" but rather "number". Or, to be precise, "non-negative integer".
*Whew*.
The attached patch changes "digit" to "non-negative integer" in all relevant
cases that I could find. It also incidentally fixes some spelling and
punctuation and wraps a few gratuitously long lines of code.
Possibly "non-negative" could be "positive", but TLeaf::GetLeafCounter() at
least does not seem to make an exception for the case of zero.
Revision
38936 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Apr 19 21:06:30 2011 UTC (3 years, 9 months ago) by
pcanal
File length: 11320 byte(s)
Diff to
previous 36388
Merge the documentation that was duplicated in TTree and TTreePlayer and remove the duplicate from TTreePlayer. Fix grammar in TLeaf/TBranch
Revision
36388 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Oct 21 04:05:14 2010 UTC (4 years, 3 months ago) by
pcanal
File length: 11300 byte(s)
Diff to
previous 31646
From karolos@fnal.gov:
Improve the selection of the leaf used for size of an array in a leaflist by giving preference
for the leaf inside the same branch and by adding support for explicit full path name.
Concretely the following now works properly:
TTree::Branch("JET1", &JET1, "njets/I:et[njets]/F:pt[njets]/F");
TTree::Branch("JET2", &JET2, "njets/I:et[njets]/F:pt[njets]/F");
and the following is now supported:
njets/I:et[JETS1.njets]/F:pt[JETS1.njets]
This fixes the issue 74244 in savannah (<http://savannah.cern.ch/bugs/?74244>)
Revision
31139 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Nov 13 00:23:46 2009 UTC (5 years, 2 months ago) by
pcanal
File length: 10931 byte(s)
Diff to
previous 31125
Reintroduce the lines removing the leaves in the TBranch and TLeaf destructors (see r31125)
This is necessary in case the TBranch is deleted outside of the TTree destructor; This is
used in particular by the TTreeCloner.
Avoid all the cost of RemoveAll when we are going through the TTree destructor (using the
fact that the list of leaves has already been emptied)
This fixes a crash in stress (in the 13th test).
Revision
31125 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Nov 12 13:25:13 2009 UTC (5 years, 2 months ago) by
brun
File length: 10882 byte(s)
Diff to
previous 22902
Comment the lines removing the leaves in the TBranch and TLeaf destructors.
This is done in the TTree destructor.
Leaving the code in was a substantial performance penalty when destroying a Tree
with many leaves.
Revision
18667 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri May 4 17:32:45 2007 UTC (7 years, 8 months ago) by
pcanal
Original Path:
trunk/tree/src/TLeaf.cxx
File length: 10564 byte(s)
Diff to
previous 17731
The value of TBasket:;fBasket was incorrect in some cases when using
the TTreeCloner. This is solved (and thread safetly is improved) by
removing the gBranch global variable and using alternative mechanism
to set TBakset::fBasket.
Revision
17731 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Feb 6 15:30:25 2007 UTC (7 years, 11 months ago) by
brun
Original Path:
trunk/tree/src/TLeaf.cxx
File length: 10531 byte(s)
Diff to
previous 16057
In the Streamer functions replace the lines like
TPad::Class()->ReadBuffer(b, this, v, R__s, R__c);
TPad::Class()->WriteBuffer(b,this);
by
b.ReadClassBuffer(TPad::Class(), this, v, R__s, R__c);
b.WriteClassBuffer(TPad::Class(),this);
Revision
15134 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue May 23 04:47:42 2006 UTC (8 years, 8 months ago) by
brun
Original Path:
trunk/tree/src/TLeaf.cxx
File length: 9776 byte(s)
Diff to
previous 14336
From Federico Carminati:
"I have implemented all copy and equal operators needed to silence all
warnings in AliRoot, as requested. I have implemented shallow copies as
would do the default operators synthetized by the compiler.
Most operators are protected. If users complain, you just have to move
them into the public area, but class derivation is of course supported.
It has been a terrible job, I have modified 278 files, but the changes
are backward compabile, and this goes a long way to permitting user to
use the effc++ flag with root headers."
Revision
14336 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Mar 20 21:43:44 2006 UTC (8 years, 10 months ago) by
pcanal
Original Path:
trunk/tree/src/TLeaf.cxx
File length: 9049 byte(s)
Diff to
previous 13207
Reduce direct dependencies on TClass.h, TROOT.h and TStreamerInfo.h.
Warning: This means that some file that relied on the indirect
inclusion of these header file might now fail to compile with
an error message mention that gROOT is no known or that TClass,
TROOT or TStreamerInfo is incompletely defined. Simply add the
proper include directive.
Revision
11003 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jan 28 13:53:47 2005 UTC (9 years, 11 months ago) by
brun
Original Path:
trunk/tree/src/TLeaf.cxx
File length: 8874 byte(s)
Diff to
previous 9283
Improve TLeaf::GetLeafCounter such that a class with a dynamic array
with the size declared in the comment field with [size] will work
when the class is the top level branch of a Tree and the branch name
has "." as last character.
Revision
7783 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Dec 19 07:55:25 2003 UTC (11 years, 1 month ago) by
brun
Original Path:
trunk/tree/src/TLeaf.cxx
File length: 8459 byte(s)
Diff to
previous 4760
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.
Revision
3827 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Feb 1 07:47:24 2002 UTC (12 years, 11 months ago) by
brun
Original Path:
trunk/tree/src/TLeaf.cxx
File length: 7596 byte(s)
Diff to
previous 3232
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.
/
Revision
3232 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sat Nov 17 15:56:00 2001 UTC (13 years, 2 months ago) by
brun
Original Path:
trunk/tree/src/TLeaf.cxx
File length: 7573 byte(s)
Diff to
previous 2841
In the TLeaf destructor, remove references to the deleted leaf
from the Tree list of leaves. This was not a memory leak, but giving problems
with the mods in TTree::CloneTree to copy only the actibe branches.
Revision
1205 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Dec 13 15:13:57 2000 UTC (14 years, 1 month ago) by
brun
Original Path:
trunk/tree/src/TLeaf.cxx
File length: 7352 byte(s)
Diff to
previous 985
W A R N I N G !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
==================================================================
A very long list of changes in this pre-release of version 3.00.
We have modified the signature of many functions (in particular TObject)
to introduce more constness in the system.
You must change your code if your class derives from TObject and uses
one of the modified functions such as ls, Print, Compare, Hash, etc.
The modified functions in TObject have the following signature:
virtual TObject *Clone() const;
virtual Int_t Compare(const TObject *obj) const;
virtual void Delete(Option_t *option=""); // *MENU*
virtual void DrawClass() const; // *MENU*
virtual void DrawClone(Option_t *option="") const; // *MENU*
virtual void Dump() const; // *MENU*
virtual TObject *FindObject(const TObject *obj) const;
virtual char *GetObjectInfo(Int_t px, Int_t py) const;
virtual ULong_t Hash() const;
virtual void Inspect() const; // *MENU*
virtual Bool_t IsEqual(const TObject *obj) const;
virtual void ls(Option_t *option="") const;
virtual void Print(Option_t *option="") const;
A similar operation has been done with classes such as TH1, TVirtualPad,
TTree, etc.
This form allows you to request diffs between any two revisions of this file.
For each of the two "sides" of the diff,
enter a numeric revision.