Re: [ROOT] Purely virtual base classes and streamers(?)

From: Rene Brun (Rene.Brun@cern.ch)
Date: Sun Dec 02 2001 - 18:48:00 MET


Hi Volker,

I know that TArray works. I repeat that abstract classes should be OK
in this development version.
There are many combinations where abstract classes can be found:
 - directly in derived classes
 - same with multiple inheritance
 - by composition
 - in templates
 - all case combinations above for classes in TClonesArray
 - same for split/no split mode

In general, when ROOT finds an abstract class during I/O, its dictionary
TStreamerInfo has already been computed and this is not a problem.
I was just curious to know if you had a special case. The only way to know
is to test it with the development version or to send me a small test
case.

Rene Brun


On Sat, 1 Dec 2001, Volker Hejny wrote:

> Hallo Rene,
> 
> On Fri, Nov 30, 2001 at 02:25:47PM +0000, Rene Brun wrote:
> > Hi Volker,
> > 
> > I have recently made changes in teh development version in CVS for situations
> > like you describe. If you could provide a small test case corresponding to your
> > exact situation, I could tell you if this new version fixes this problem.
> 
> In principle, you could test whether TArrayI is processed correctly, because
> our case is basically the same, with the difference that the array will
> not be recreated if the size is reduced. The behaviour in browsing is the
> same.
>  
> > There are sometimes class constructions non trivial to support when
> > an abstract class is found during the split mode. ROOT needs to build
> > the dictionary for these classes. To build teh dictionary, an instance
> > of the class has to be created. If the dictionary has not already been built
> > when the abstract class is found, there is no way to make an instance.
> > The difficulty is in detecting in the parent (real classes) this situation.
> 
> Well, abstract base classes are a nice instrument to define interfaces,
> but for classes forseen to be written into a tree in split mode, it might 
> be easy enough to avoid them. So if itīs tricky to support these cases,
> a warning in the TTree documentation should do the job.
> 
> Best regards,
> Volker
> 
> -- 
> Dr. Volker Hejny                Tel: 02461/616853                      ** 
> Institut f. Kernphysik          Fax: 02461/613930                     **
> ---------------------------------------------------------------- **  ** ---  
> Forschungszentrum Juelich GmbH, D-52425 Juelich                    **
> 



This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:51:10 MET