[ROOT] Problems with the ClassVersionID

From: Pierre Da Silva (Pierre.DaSilva@lpnhep.in2p3.fr)
Date: Fri Mar 22 2002 - 17:39:59 MET


	Hi Rooters,

	We've got a class in which we have added new members. We have
incremented the ClassVersionID in the ClassDef macro. The problem is that
we've got old files with the old ClassVersionID that we must read with the
new structure of the class. When we only read the old files, everything is
all right, the fields of the new members are all equal to 0. But when we
read the old files after have read the new ones, the same fields are not
equal to 0 anymore, which is very bad for us, because we are making
tests on these values.

	So my question is: is there a way to get the ClassVersionID
corresponding to the recorded data, but not the one coming from the
actual structure of the data, which is what I get when I do a
Class_Version() ?

	Another question: I have tried to modify the corresponding
streamer, but it seems that it has no effect on the results. With an empty
TData::Streamer() function (I mean:

		void TData::Streamer(TBuffer &R__b)
		{
		}

), our event display is still working!!
So, if ROOT uses another Streamer, where does it get the data structure,
and which streamer is it using?

				Thanks a lot for helping
				Pierre



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:47 MET