[root] / trunk / tree / tree / src / TLeaf.cxx Repository:
ViewVC logotype

Log of /trunk/tree/tree/src/TLeaf.cxx

Parent Directory Parent Directory


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

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 31646 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 8 12:52:12 2009 UTC (5 years, 1 month ago) by pcanal
File length: 10964 byte(s)
Diff to previous 31605
Fix allocated size

Revision 31605 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Dec 7 19:50:39 2009 UTC (5 years, 1 month ago) by pcanal
File length: 10946 byte(s)
Diff to previous 31139
Fix 'reverse_inull' errors found by coverity

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 22902 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 31 09:48:42 2008 UTC (6 years, 9 months ago) by rdm
File length: 10876 byte(s)
Diff to previous 20882
move tree, treeplayer and treeviewer under tree meta directory.

Revision 20882 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 19 11:31:26 2007 UTC (7 years, 2 months ago) by rdm
Original Path: trunk/tree/src/TLeaf.cxx
File length: 10876 byte(s)
Diff to previous 20327
Set property svn:eol-style LF on all source and Makefiles. This should avoid
problems with Win32 line endings ending up in the repository. All MS tools
support LF eols fine.

Revision 20327 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 12 16:39:33 2007 UTC (7 years, 3 months ago) by pcanal
Original Path: trunk/tree/src/TLeaf.cxx
File length: 10876 byte(s)
Diff to previous 19826
In GetLeafCounter, correct and expand comments.  Return countval==-1 when the array dim in not parseable

Revision 19826 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:56:11 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/tree/src/TLeaf.cxx
File length: 10506 byte(s)
Diff to previous 19825
imported svn:keywords Id property

Revision 19825 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:49:10 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/tree/src/TLeaf.cxx
File length: 10554 byte(s)
Diff to previous 18667
remove :$ from tag line

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 16057 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 18 18:46:35 2006 UTC (8 years, 5 months ago) by pcanal
Original Path: trunk/tree/src/TLeaf.cxx
File length: 10521 byte(s)
Diff to previous 16043
remove more fix length strings

Revision 16043 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 18 10:18:12 2006 UTC (8 years, 5 months ago) by brun
Original Path: trunk/tree/src/TLeaf.cxx
File length: 10520 byte(s)
Diff to previous 16038
I forgot to make teh output of strchr const (required by Solaris)

Revision 16038 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 18 08:44:03 2006 UTC (8 years, 5 months ago) by brun
Original Path: trunk/tree/src/TLeaf.cxx
File length: 10516 byte(s)
Diff to previous 15800
Implement a simpler and faster algorithm in the TLeaf constructor
when encountering a leaf with a "["

Revision 15800 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jul 13 17:50:42 2006 UTC (8 years, 6 months ago) by pcanal
Original Path: trunk/tree/src/TLeaf.cxx
File length: 10757 byte(s)
Diff to previous 15789
use the proper delete operator

Revision 15789 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jul 13 05:30:48 2006 UTC (8 years, 6 months ago) by pcanal
Original Path: trunk/tree/src/TLeaf.cxx
File length: 10752 byte(s)
Diff to previous 15168
From Paul Russo:

     o (Constructor) Remove 64 char length limit on branch name.

     o (ResetAddress) Improve documentation.

Revision 15168 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 24 15:10:47 2006 UTC (8 years, 8 months ago) by brun
Original Path: trunk/tree/src/TLeaf.cxx
File length: 9839 byte(s)
Diff to previous 15134
Fix coding conventions violations

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 13207 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 11 22:16:04 2005 UTC (9 years, 2 months ago) by pcanal
Original Path: trunk/tree/src/TLeaf.cxx
File length: 9029 byte(s)
Diff to previous 12718
Update the spacing and documentation to match the coding rule

Revision 12718 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 13 15:52:00 2005 UTC (9 years, 4 months ago) by pcanal
Original Path: trunk/tree/src/TLeaf.cxx
File length: 9099 byte(s)
Diff to previous 11003
Simplify the title when browsing on the lone leaf of a branch

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 9283 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 22 15:36:42 2004 UTC (10 years, 7 months ago) by brun
Original Path: trunk/tree/src/TLeaf.cxx
File length: 8522 byte(s)
Diff to previous 7783
From Valeriy Onuchin:
- this patch allows to set draw option while  browsing TFiles/TTrees

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 4760 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 19 20:15:17 2002 UTC (12 years, 7 months ago) by brun
Original Path: trunk/tree/src/TLeaf.cxx
File length: 8067 byte(s)
Diff to previous 4637
Improvement in TLeaf by Philippe and Paul Balm in case of tree friends

Revision 4637 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 31 16:59:54 2002 UTC (12 years, 7 months ago) by brun
Original Path: trunk/tree/src/TLeaf.cxx
File length: 8055 byte(s)
Diff to previous 4628
Undo the changes proposed by Paul Balm in GetLeafCounter. They had several side-effects.

Revision 4628 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 30 23:42:00 2002 UTC (12 years, 7 months ago) by brun
Original Path: trunk/tree/src/TLeaf.cxx
File length: 8051 byte(s)
Diff to previous 3827
fix proposed by Paul Balm in GetLeafCounter in case the function is called
and the fBranch pointer is not yet set.

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 2841 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 25 07:10:48 2001 UTC (13 years, 4 months ago) by brun
Original Path: trunk/tree/src/TLeaf.cxx
File length: 7447 byte(s)
Diff to previous 1920
Print an error message in case of an illegal branch/leaf definition.
The branch/leaf is declared Zombie in their constructors and deleted
by TTree::Branch.

Revision 1920 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 9 08:13:56 2001 UTC (13 years, 9 months ago) by brun
Original Path: trunk/tree/src/TLeaf.cxx
File length: 7381 byte(s)
Diff to previous 1205
New function TLeaf::IsOnTerminalBranch returning kTRUE is the leaf is on a
terminal branch. This function is used by the new version of TTreeFormula.

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.

Revision 985 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 21 20:51:23 2000 UTC (14 years, 2 months ago) by brun
Original Path: trunk/tree/src/TLeaf.cxx
File length: 7349 byte(s)
Diff to previous 3
Function Streamer now in the implementation file.
Add code for the new automatic schema evolution algorithm

Revision 3 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 16 17:00:58 2000 UTC (14 years, 8 months ago) by rdm
Original Path: trunk/tree/src/TLeaf.cxx
File length: 7233 byte(s)
Copied from: branches/rdm/tree/src/TLeaf.cxx revision 2
Diff to previous 2
This commit was generated by cvs2svn to compensate for changes in r2,
which included commits to RCS files with non-trunk default branches.

Revision 2 - (view) (download) (as text) (annotate) - [select for diffs]
Added Tue May 16 17:00:58 2000 UTC (14 years, 8 months ago) by rdm
Original Path: branches/rdm/tree/src/TLeaf.cxx
File length: 7233 byte(s)
Initial import of ROOT into CVS

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.

  Diffs between and
  Type of Diff should be a

Sort log by:

Subversion Admin
ViewVC Help
Powered by ViewVC 1.0.9