[root] / trunk / core / cont / inc / TRefTable.h Repository:
ViewVC logotype

Log of /trunk/core/cont/inc/TRefTable.h

Parent Directory Parent Directory


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

Revision 37274 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Dec 4 21:31:29 2010 UTC (4 years, 1 month ago) by pcanal
File length: 4415 byte(s)
Diff to previous 27262
Remove redundant const

Revision 27262 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 27 18:35:12 2009 UTC (5 years, 11 months ago) by pcanal
File length: 4421 byte(s)
Diff to previous 22961
Insure that fSize and fParentsIDs are always properly initialized

Revision 22961 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 3 13:32:57 2008 UTC (6 years, 9 months ago) by rdm
File length: 4419 byte(s)
Diff to previous 22689
move the directories:
  base clib cont meta metautils newdelete pcre rint thread unix utils
  winnt zip
under the new core meta directory.

Revision 22689 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 17 16:21:23 2008 UTC (6 years, 10 months ago) by rdm
Original Path: trunk/cont/inc/TRefTable.h
File length: 4419 byte(s)
Diff to previous 22684
undo change of this morning. Warnings are due to issue in generated dictionary
code not in the headers per se.

Revision 22684 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 17 13:21:14 2008 UTC (6 years, 10 months ago) by rdm
Original Path: trunk/cont/inc/TRefTable.h
File length: 4413 byte(s)
Diff to previous 20882
remove redundant const declarations on method arguments passed by value.
Fixes numerous Intel icc warnings.

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/cont/inc/TRefTable.h
File length: 4419 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/cont/inc/TRefTable.h
File length: 4419 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/cont/inc/TRefTable.h
File length: 4468 byte(s)
Diff to previous 18209
remove :$ from tag line

Revision 18209 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 8 23:29:01 2007 UTC (7 years, 10 months ago) by pcanal
Original Path: trunk/cont/inc/TRefTable.h
File length: 4478 byte(s)
Diff to previous 17509
From Paul:
Modify TRefTable, TBranchRef, and TBranchElement so that the small
integer which is assigned to identify a TBranchElement by TRefTable
is cached so that we need to find it only once, instead of at every
call to TBranchElement::GetEntry() or TBranchElement::Fill().

Revision 17509 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 25 11:51:13 2007 UTC (8 years ago) by brun
Original Path: trunk/cont/inc/TRefTable.h
File length: 4456 byte(s)
Diff to previous 14487
 -The enum kHaveWarnedReadingOld is becoming public instead of protected.
 -The inclusion of TFile.h has been removed.
 -TRefArray::Streamer makes use of TVirtualIO::GetLastProcessID.

With these changes TRefArray is now independent of the I/O sub-system.

Revision 14487 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 30 13:09:40 2006 UTC (8 years, 9 months ago) by brun
Original Path: trunk/cont/inc/TRefTable.h
File length: 4458 byte(s)
Diff to previous 14054
From Axel:
this patch issues a warning once per TRefTable, if a file is being read
that contains an old version of TRefTable and multiple TProcessIDs. In
this case one _can_ have a corrupted TRefTable, due to several processes
re-using the same UIDs.

Revision 14054 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Feb 17 05:16:38 2006 UTC (8 years, 11 months ago) by pcanal
Original Path: trunk/cont/inc/TRefTable.h
File length: 4403 byte(s)
Diff to previous 13258
From Axel:
---
Add support for auto-loading of TRefs from multiple TProcessIDs:
TRefTable now stores 2d arrays of branch numbers to load [PID][UID] (via
FillBuffer). The PID index <-> TProcessID-GUID mapping is stored via
TRefTable::Streamer (i.e. once per TTree). Lookup is cached. This change
is both backward and forward compatible, both concerning the interface
and .root files. Only exception is TRefTable::fParentIDs, which is now
only streamed via FillBuffer / ReadBuffer, not as a member of TRefTable.

Minor side-notes:
* Speed-up in TRef::GetObject de-referencing (only once call to
TProcessID::GetObjectWithID).
* No re-reading of a branch if it was already read for an event (if
TBranchRef's fReadEntry == branch-to-autoload's fReadEntry then don't
call GetEntry on it).
* Added getter for TProcessID::fgPIDs->Size()
* updated doc for TRef, TRefTable, TBranchRef, to reflect the current
status of auto-loading.
---

The only change that's breaking backward compatibility (as mentioned
above) is the clear split between per-entry and global streaming of the
TRefTable: there is no use in storing the fParentIDs[][] array (and
fN[]) as part of the TTree members - it should only be stored as part of
the TTree entry. So I've marked them as //!; they're made persistent in
TRefTable::FillBuffer.

The member TRefTable::fSize is only around to suppress a warning in the
schema evolution algorithm (it was a counter before, and the schema
evolution algo is unhappy about fSize missing in the new class
definition, nor does it appreciate fSize being marked as //!). This is
ugly, but I prefer it over a custom streamer.

The patch should fix the following issues:
* autoloading doesn't work because TRefs were created by different
processes,
* changed objects magically overwritten in memory due to re-loading of
referenced objects

Revision 13258 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 16 20:11:59 2005 UTC (9 years, 2 months ago) by pcanal
Original Path: trunk/cont/inc/TRefTable.h
File length: 3171 byte(s)
Diff to previous 13014
White spaces and comments update

Revision 13014 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 25 22:11:58 2005 UTC (9 years, 3 months ago) by pcanal
Original Path: trunk/cont/inc/TRefTable.h
File length: 3165 byte(s)
Diff to previous 9831
When cloning a TTree and removing some of the branches, if we have
a TBranchRef, we need to completely reset the TRefTable (which caches
the address of the branches that contains referenced objects).
Thanks to Reiner Hauser for discovering and solving his issue.

Revision 9831 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 24 10:41:58 2004 UTC (10 years, 5 months ago) by brun
Original Path: trunk/cont/inc/TRefTable.h
File length: 3107 byte(s)
Diff to previous 9804
Improve the functionality of the TRefTable.
The new algorithm
  -does not require a pointer to the TRefTable in TFile.
  -can automatically load the branch of a Tree when calling TRef::GetObject
  -works when writing/reading multiple Trees in parallel

Revision 9804 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 20 21:23:06 2004 UTC (10 years, 5 months ago) by brun
Original Path: trunk/cont/inc/TRefTable.h
File length: 2584 byte(s)
Diff to previous 9798
Implement a default constructor for TRefTable.
Implement the destructor.

Revision 9798 - (view) (download) (as text) (annotate) - [select for diffs]
Added Fri Aug 20 14:46:36 2004 UTC (10 years, 5 months ago) by brun
Original Path: trunk/cont/inc/TRefTable.h
File length: 2582 byte(s)
Add a new class
// TRefTable
//
// A TRefTable maintains the association between a referenced object
// and the parent object supporting this referenced object.
// The parent object is typically a branch of a TTree.

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