Log of /trunk/tree/tree/src/TLeafI.cxx
Parent Directory
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: 7545 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: 7535 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: 7511 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
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/TLeafI.cxx
File length: 7332 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
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/TLeafI.cxx
File length: 7186 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/TLeafI.cxx
File length: 6758 byte(s)
Diff to
previous 9188
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
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/TLeafI.cxx
File length: 6474 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
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/TLeafI.cxx
File length: 6265 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
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/TLeafI.cxx
File length: 6025 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/TLeafI.cxx
File length: 6298 byte(s)
Diff to
previous 122
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
122 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Jun 13 09:27:08 2000 UTC (14 years, 7 months ago) by
brun
Original Path:
trunk/tree/src/TLeafI.cxx
File length: 6027 byte(s)
Diff to
previous 3
- Mods in all the tree classes to reflect the changes from Float_t to Double_t
in the graphics and histogram classes. The TLeaf::GetValue in particular
are now of type Double_t.
TTree::GetMaximum, GetMinimum return a Double_t.
TChain::GetMaximum, GetMinimum return a Double_t.
TTree::GetV1, GetV2 and GetV3 return a Double_t* instead of a Float_t*.
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.