Re: ROOT, streamer, and multiple inheritance

Fons Rademakers (Fons.Rademakers@cern.ch)
Fri, 02 Oct 1998 14:27:14 +0200


Hi Francois-Xavier ,

all automatic generated Streamer()'s are in the *_G__*.cxx dictionary
files. Streamers you see in the source together with the other
class methods are generally modified Streamers. Every class that
you want to write to the DB needs to have a streamer, independent
of inheritance from TObject. This is steered via ClassDef(xxx,1).

Cheers, Fons.

GENTIT DAPNIA wrote:
>
> Hello rooters,
> I am a little bit confused about the streamer function associated
> with multiple inheritance. My understanding was that one has NOT to
> write a streamer function when a class inherits from TObject, and that
> one HAS to write it when it does not inherit from TObject. Now take the
> class TSHAPE, for instance. It has multiple inheritance from classes
> TNamed, TAttLine and TAttFill.
> As TNamed inherits from TObject, I find normal that there is no
> streamer function in the source code of TNamed. But TAttLine and
> TAttFill do not inherit from TObject, and there is no streamer function
> in the source code of TAttFill and TAttLine. Is the dictionnary
> generator so smart that it is enough that only one of the 3 classes
> building TShape inherits from TObject to generate a correct streamer
> function for TShape ?
> Thanks for your help.
>
> F.X. Gentit
> DAPNIA/SPP CEN Saclay
> tel : 01 69 08 30 38

-- 
Org:    CERN, European Laboratory for Particle Physics.
Mail:   1211 Geneve 23, Switzerland          Phone: +41 22 7679248
E-Mail: Fons.Rademakers@cern.ch              Fax:   +41 22 7677910