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 <-- GoodTrack (version 1)
but now I have intermediate class
TLorentzVector <-- BaseTrack <-- GoodTracks (version 2)
Some fields from
GoodTrack were moved to
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