Re: [ROOT] Changing class definition in split level=2

From: Rene Brun (Rene.Brun@cern.ch)
Date: Fri Aug 10 2001 - 09:23:19 MEST


Hi Daniel,

Please read the discussion on the migration to the new scheme at page 204 of the
Users Guide.

Rene Brun

Magestro Daniel wrote:
> 
> Hi all,
> 
> I have read old roottalk posts as well as the latest Root manuals, but I
> cannot find the solution to a basic problem.  (We are currently using
> v2.25/03.)
> 
> In our analysis, all of our data classes use split level = 2.  The problem
> is that, if we change a class definition (for example, changing the name of
> a data member), adding a custom streamer to that class does not work because
> the streaming for the class is done by TClonesArray/TBranchClones.  The
> class streamer is not called at all.
> 
> I read in the Users Guide v3.1 that, in Root 3, there is a BypassStreamer()
> function in TClonesArray which allows one to force the use of individual
> class streamers.  This (in addition to TStreamerInfo) should solve the
> problem for class def changes which take place after we migrate to Root 3.
> However, is there a way to read our old files created with v2.25/03 if we
> now change the class def?  We have a large volume of files which fit this
> description, and of course we would like to avoid having to maintain two
> versions of our code.
> 
> Any ideas would be greatly appreciated... thanks,
> 
> Dan
>        -------------------------------------------
>       |  Daniel Magestro        +44-6159-71-2147  |
>       |  magestro@gsi.de        GSI/Kernphysik I  |
>       |  www.gsi.de/~magestro   Planckstr. 1      |
>       |    < last updated >     64291 Darmstadt   |
>       |    < Aug 6, 2001  >     Germany           |
>        -------------------------------------------
>



This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:56 MET