Re: [ROOT] Options in class definition/Branches for fBits and fUniqueID

From: Rene Brun (Rene.Brun@cern.ch)
Date: Thu Dec 28 2000 - 21:23:28 MET


Hi Ingo,
If you use version 2.25/03, you can instruct Root to ignore
the TObject part of a class in a TClonesArray in two ways:
 - specify split=2 when you create the branch with the TClonesArray
   eg. tree->Branch("Kinematics", "H1LtKine", &fKine, 16000, 2)
 - if TClonesArray *clones, you can do
   clones->SetBit(TClonesArray::kForgetBits);

In version 3.00, I have generalized this possibility to all branches
in split or no-split mode. You can instruct a class Myclass deriving
from TObject to ignore the TObject part when streaming to the file.
  MyClass::Class()->IgnoreTObjectStreamer();

Concerning the supported options in the comment field of the data members,
see http://root.cern.ch/root/SchemaEvolution.html

Rene Brun



On Thu, 28 Dec 2000, Ingo Strauch wrote:

> Ho ROOTers!
> 
> Where can I find a list of all possible "options" to give in a class
> definition?
> 
> For example I know that I have to use
> 
>   Int_t fUseless; //!
> 
> if I don't want to stream this datamember. But what other things can I do?
> 
> My other problem (using ROOT 2.25/03) is that I want to write single
> objects (in splitmode) in a tree without the fBits and fUniqueID. Some
> objects have other objects which again have fBits and fUniqueID. This
> totals to 100 branches just for those variables I don't need.
> 
> This is what I do:
> 
> tree->Branch("Kinematics", "H1LtKine", &fKine, 16000, 1)
>  ...
> 
> Is there a way to not create branches for fBits and fUniqueID?
> 
> Cheers,
> Ingo
> 



This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:40 MET