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