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

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

Parent Directory Parent Directory


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

Revision 44507 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 4 12:30:41 2012 UTC (2 years, 7 months ago) by axel
File length: 6214 byte(s)
Diff to previous 43597
Remove
  using namespace std;
from Riostream.h, which has huge consequences for all of ROOT.
Riostream.h is now a simple wrapper for fstream, iostream, iomanip for backward compatibility; Riosfwd.h simply wraps iosfwd.

Because of templates and their inline functions, Riostream.h needed to be included in headers, too (e.g. TParameter.h), which violated the assumption that Riostream.h is not exposing its using namespace std to headers.
ROOT now requires R__ANSISTREAM, R__SSTREAM, which does not change the set of supported compilers.

Without "using namespace std", several identifiers are now prefixed by std::; e.g. roofit/* source files now have a using namespace std to keep their coding style.
TFile::MakeProject() now generates "using namespace std" to convert the CINT-style class names into C++ ones.

Revision 43597 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Mar 31 13:48:47 2012 UTC (2 years, 9 months ago) by axel
File length: 6204 byte(s)
Diff to previous 38801
Rework TTree::ReadStream() / ReadFile(), mainly to fix delimited reading of string columns:
TLeaf::ReadValue() now takes an optional delimiter argument that is ignored for all but TLeafC. Here, input stops when reading this character, instead of at the first whitespace.
Use that in TTree::ReadStream() to delimit reading of TLeafC.
TTree::ReadStream() now tokenizes the row itself, and passes a stringstream containing nothing but the current column to TLeaf::ReadValue().
Improve error handling, improve debug output.
Clearly state which lines are skipped due to errors and why.
Fix windows files leaving '\n' in branch names when reading them from the file.
Separate concepts of number of input line (for communication with user) and number of good lines (as returned).
Simplify EOF-without-newline case.
Add error message for TLeaf::ReadValue(), i.e. if ReadValue() is called on a derived class that doesn't implement it.

Revision 38801 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 11 20:10:24 2011 UTC (3 years, 9 months ago) by pcanal
File length: 6180 byte(s)
Diff to previous 36407
Reduce by 40% the time taken GetEntry for a branch created using a leaflist (exclusive of the decompression time).

Cache the current basket and its limit.
Reorder the set of test to reduce the number of conditional jump in the most common cases
and use:
  #define unlikely(expr) __builtin_expect(!!(expr), 0)
  #define likely(expr) __builtin_expect(!!(expr), 1)
to tell the compiler/processor which branch is more likely.
Record whether the buffer's map of classname and object is used to avoid resetting unnecessarily at read time.

Revision 36407 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 22 02:04:08 2010 UTC (4 years, 3 months ago) by pcanal
File length: 6171 byte(s)
Diff to previous 31603
From Mike Marino:

Replace the overly generic ifstream by istream as the argument to ReadValue

Revision 31603 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Dec 7 18:59:15 2009 UTC (5 years, 1 month ago) by pcanal
File length: 6173 byte(s)
Diff to previous 30076
Add missing initialization (found by coverity)

Revision 30076 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 9 00:07:45 2009 UTC (5 years, 4 months ago) by pcanal
File length: 6120 byte(s)
Diff to previous 22902
Apply revision 18817 to all TLeaf:

In TLeaf?::ReadBasket one must check that fReadEntry in the count branch
is the same as the one in the branch being read.
This check is necessary when reading only one branch having a branch counter.

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: 5939 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/TLeafD.cxx
File length: 5939 byte(s)
Diff to previous 19826
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 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/TLeafD.cxx
File length: 5939 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/TLeafD.cxx
File length: 5988 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/TLeafD.cxx
File length: 5998 byte(s)
Diff to previous 17667
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 17667 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Feb 3 18:33:15 2007 UTC (7 years, 11 months ago) by brun
Original Path: trunk/tree/src/TLeafD.cxx
File length: 5976 byte(s)
Diff to previous 16176
Use forward declaration of TClonesArray and fix consequences

Revision 16176 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 31 11:05:20 2006 UTC (8 years, 4 months ago) by rdm
Original Path: trunk/tree/src/TLeafD.cxx
File length: 5953 byte(s)
Diff to previous 15314
changed all Riostream.h in headers to Riosfwd.h. Riostream.h has "using namespace std"
and should only appear in implementation files.

Revision 15314 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 2 15:34:12 2006 UTC (8 years, 7 months ago) by pcanal
Original Path: trunk/tree/src/TLeafD.cxx
File length: 5928 byte(s)
Diff to previous 10336
Insure that the variable size array (if any) is properly resized in all the needed cases

Revision 10336 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 18 12:32:12 2004 UTC (10 years, 3 months ago) by brun
Original Path: trunk/tree/src/TLeafD.cxx
File length: 5854 byte(s)
Diff to previous 9618
Implement new function TTree::ReadFile
Long64_t TTree::ReadFile(const char *filename, const char *branchDescriptor)
{
   // Create or simply read branches from filename
   // if branchDescriptor = "" (default), it is assumed that the Tree descriptor
   //    is given in the first line of the file with a syntax like
   //     A/D:Table[2]/F:Ntracks/I:astring/s
   //  otherwise branchDescriptor must be specified with the above syntax.
   //
   // A TBranch object is created for each variable in the expression.
   // The total number of rows read from the file is returned.

TNtuple::ReadFile has been modified to be consistent with TTree::ReadFile.
New function TLeaf::ReadValue implemented (and in all TLeaf derived classes).

Revision 9618 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jul 29 19:11:27 2004 UTC (10 years, 5 months ago) by brun
Original Path: trunk/tree/src/TLeafD.cxx
File length: 5567 byte(s)
Diff to previous 2234
From Philippe:
This patch fixes a crash when trying to merge 2 tree which
already have a clone relationship.
More generally it protect cases where the new address being
set is already the existing address.

Revision 2234 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 18 15:57:23 2001 UTC (13 years, 8 months ago) by brun
Original Path: trunk/tree/src/TLeafD.cxx
File length: 5549 byte(s)
Diff to previous 1987
Modify the TLeaf Readbasket functions to compute fNdata when there is a leaf count.
This solves a problem reported my Miroslav Helbich when doing a tree.Draw
in the function filling the Tree.

Revision 1987 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 16 19:15:49 2001 UTC (13 years, 9 months ago) by brun
Original Path: trunk/tree/src/TLeafD.cxx
File length: 5506 byte(s)
Diff to previous 1648
In TLeaf classes, initializes the first buffer element to 0 when
setting the leaf addresses.

Revision 1648 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 21 08:56:08 2001 UTC (13 years, 11 months ago) by brun
Original Path: trunk/tree/src/TLeafD.cxx
File length: 5485 byte(s)
Diff to previous 1581
Add a protection in the TLeaf::SetAddress in case fLeafCount=0.
This case may happen in case of classes not processed via TStreamerInfo
and containing C structs.

Revision 1581 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Feb 12 07:34:40 2001 UTC (13 years, 11 months ago) by brun
Original Path: trunk/tree/src/TLeafD.cxx
File length: 5442 byte(s)
Diff to previous 1491
In the SetAddress functions remove the computation of fNdata.
fNdata is already computed in TLeaf::ResetAddress and must not be
recomputed at this point. This solves a long standing problem
with memory corrupted, specially when running without libNew.

Revision 1491 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 29 09:18:49 2001 UTC (13 years, 11 months ago) by brun
Original Path: trunk/tree/src/TLeafD.cxx
File length: 5466 byte(s)
Diff to previous 1483
In the TLeafX::SetAddress do not call the destructor for a vector if
the pointer is null.

Revision 1483 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jan 28 13:54:22 2001 UTC (13 years, 11 months ago) by brun
Original Path: trunk/tree/src/TLeafD.cxx
File length: 5450 byte(s)
Diff to previous 1470
Forgot to take into account fLen when counting the maximum population
of a leaf. The fix was already done in the other TLeafs.

Revision 1470 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 26 14:32:27 2001 UTC (14 years ago) by brun
Original Path: trunk/tree/src/TLeafD.cxx
File length: 5448 byte(s)
Diff to previous 1459
Fix a problem in TLeafD::SetAddress

Revision 1459 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 24 17:08:47 2001 UTC (14 years ago) by brun
Original Path: trunk/tree/src/TLeafD.cxx
File length: 5433 byte(s)
Diff to previous 1457
Forgot to uncomment on line in the leaf destructors in my previous check-in.

Revision 1457 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 24 16:32:24 2001 UTC (14 years ago) by brun
Original Path: trunk/tree/src/TLeafD.cxx
File length: 5435 byte(s)
Diff to previous 1455
New mods to support automatic array deletion and extension when reading
objects in split mode from a TClonesArray.

Revision 1455 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 24 12:02:22 2001 UTC (14 years ago) by brun
Original Path: trunk/tree/src/TLeafD.cxx
File length: 5433 byte(s)
Diff to previous 1448
Several changes in the SetAddress functions to support additional cases.

Revision 1448 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 23 12:32:40 2001 UTC (14 years ago) by brun
Original Path: trunk/tree/src/TLeafD.cxx
File length: 5233 byte(s)
Diff to previous 1387
Fix a complex problem in all TLeaf::SetAddress. The problem appears in situations
like the following:
a TChain of files is created with a TTree having branches with pointers
to basic types. In the first Tree, a branch has a maximum length of 50.
In the second Tree, the branch may have a longer length.
The solution is to systematically delete the array at the pointer address.
(Thanks to Eddy Offermann for providing a simple example)

Revision 1387 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 16 16:15:13 2001 UTC (14 years ago) by brun
Original Path: trunk/tree/src/TLeafD.cxx
File length: 5211 byte(s)
Diff to previous 1205
Add new member function PrintValue

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/TLeafD.cxx
File length: 4986 byte(s)
Diff to previous 680
      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 680 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 29 07:51:12 2000 UTC (14 years, 3 months ago) by brun
Original Path: trunk/tree/src/TLeafD.cxx
File length: 5269 byte(s)
Diff to previous 3
Enhancement of the automatic split mode by Philippe canal.
Variable length arrays are now supported.
The array has to be declared as:
        Int_t  myindex;
        Int_t *myarray;  //[myindex]
This also enables support for variable length C-style string:
        char  *mystring;
The mods make sure that MakeClass produces the correct code in this case.

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/TLeafD.cxx
File length: 4932 byte(s)
Copied from: branches/rdm/tree/src/TLeafD.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/TLeafD.cxx
File length: 4932 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