Hi Christoph, There are no problems with TClonesArray when the class is not split, ie when your class Streamer is used. The problem is likely connected with the split mode (default for TClonesArray). I assume you are using 2.23/12 Rene Brun Christoph Blume wrote: > > Hi All, > > We have the following problem: We use a class that contains arrays of > fixed size as data member and we store these objects in a TClonesArray as > part of a tree. After a while, we found that for some reasons we had to > increase the dimensions of the arrays, which made the root files > containing the old version of that class unreadable. In principle, > streaming the old version with the smaller arrays into the new version is > no problem, since TBuffer::ReadStaticArray() knows about the actual > dimension of the array written to file. However, as soon as the objects > are stored as a part of a TClonesArray the backward compability gets lost. > Somehow the TClonesArray is not able to adjust itself to the different > object size, when it is read in, event though the object itself can be > read in correctly. This problem seems only to occur in connection with > array-dimensions. Adding a basic type data member for instance, like > a single Int_t, does not cause a problem, provided the streamer function > is customized accordingly. > So, is this a known limitation of TClonesArray and is there a workaround > (apart from using TObjArray, of course)? > > Greetings, > Christoph > > #################################################################### > Christoph Blume > GSI, KP1 E-mail: C.Blume@gsi.de > Planckstr. 1 Tel.: 49-6159-712589 > 64220 Darmstadt FAX.: 49-6159-712989 > ####################################################################
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:19 MET