Hi,
I tried to read some manuals I found on web, but they didn’t answer all my questions.
It is somehow related to the topic of multiple inherited objects I posted a few days ago.
In the older version, the object GoodTrack was inheriting directly from TLorentzVector:
TLorentzVector <-- GoodTrack (version 1)
but now I have intermediate class
TLorentzVector <-- BaseTrack <-- GoodTracks (version 2)
Some fields from GoodTrack were moved to BaseTrack.
In both classes GT and BT I have Streamers defined, but as far as I know, when they are used with TClonesArray and in split trees, the Streamers are not used, instead some other I/O methods using TStreamerInfo class. And indeed Streamers are no called.
This class (TStreamerInfo) is aware of the version and recreate objects according to preserved info data. How can this class reconstruct object of version 1 when I am using version 2? Can it properly initialize fields which were in GoodTrack and were moved to BaseTrack?
I was using info from: https://root.cern.ch/root/htmldoc/guides/users-guide/InputOutput.html#the-class-description-list-streamerinfo-list