Hi, I am trying to use to Root 3.00.06, and am using Windows NT 4. I have an Event class that I have used with both Root 2.22/10 and Root 2.25/03. I wanted to start using the schema evolution that is now available. To that end I followed the directions in the page http://root.cern.ch/root/SchemaEvolution.html. In this case, I moved the streamers to the implementation files, incremented the version numbers of all classes, and modified the LinkDef.h so that all classes were of the form: #pragma link C++ class Event-; Here is an example streamer, where we use the new method ReadBuffer if the version number is > 1: void Event::Streamer(TBuffer &R__b) { // Stream an object of class Event. if (R__b.IsReading()) { UInt_t R__s, R__c; Version_t R__v = R__b.ReadVersion(&R__s, &R__c); if (R__v > 1) { Event::Class()->ReadBuffer(R__b, this, R__v, R__s, R__c); return; } /// Old Versions TObject::Streamer(R__b); R__b >> m_run; R__b >> m_event; R__b >> m_CAL; R__b >> m_ACD; R__b >> m_TKR; R__b >> m_MCPart; R__b >> m_L1Trigger; R__b >> m_Tagger; } else { Event::Class()->WriteBuffer(R__b, this); } } I can write a file (using Root 3.00.06) just fine, with no warnings...but when I go to open the root file (again in Root 3.00.06)..I receive a number of warning messages: WARNING, class:Event StreamerInfo read from file:myfile.root has the same version:2 than the active class but a different checksum. You should update the version to ClassDef(Event,3). Do not try to write objects with the current class definition, the files will not be readable. What am I doing incorrectly? Thank you, Heather ******************************************************************** Heather Maria Theresa Arrighi Kelly Goddard Space Flight Center T2 Room 59 phone (301) 286-8359 fax (301) 286-1629
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:40 MET