[ROOT] TClonesArray in base class

From: Takanori Kohno (Takanori.Kohno@desy.de)
Date: Wed May 29 2002 - 16:11:32 MEST


Hi,

I found that TClonesArray in a base class is treated differently in
root-3.02.07 and root-3.03.05 in split-mode.

When I make a TTree of the following class 'B' (which derives from 
a class 'A'. Class 'A' has a pointer to a TClonesArray), 
in version 3.02.07, the member of TClonesArray are splitted. 
However, with version 3.03.05, TClonesArray declared in base class  
is not splitted even if I split the TTree. 

Is it what you should expected or is this a problem in version 3.03.05?
(I'm using ROOT compiled with gcc-3.1 on a linux machine.)

I would like to have TClonesArray splitted in a TTree, even if it 
is declared in the base class. 

I attached the class declarations and the output of TTree::Print() 
for doing the same thing with version 3.02.07 and 3.03.05.

Regards,
Takanori


=================== Class Declarations ================================
class A : public TObject {
public:
  A();
  ClassDef(A, 1)

protected:
  Int_t N_Cs;
  TClonesArray* Cs;
};

class B : public A {
public:
  B();
  ClassDef(B, 1)

protected:
  Int_t newVariable;
  Int_t N_Ds;
  TClonesArray* Ds;
};

class C : public TObject {
public:
  ClassDef(C, 1)

protected:
  Int_t number;
};







This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:54 MET