[ROOT] GetEntries() problem

From: thorsten glebe (Thorsten.Glebe@mpi-hd.mpg.de)
Date: Tue Apr 18 2000 - 17:56:22 MEST


Hello,

running the Event-example from the test subdirectory of the ROOT release,
I observed that I am not able to get always the correct number of tracks
in the TClonesArray via the GetEntries() function.

What I did was (using root 2.23.10):

root [0] .x eventload.cxx
root [1]  TFile f("Event.root");
root [2]  TTree *T = (TTree*)f.Get("T");
root [3]  Event *event = new Event();
root [4]  T->SetBranchAddress("event", &event);
root [5]  T->GetEntry(0)
root [6]  event.GetTracks().GetEntries()    
(Int_t)594
root [7]  T->GetEntry(5)                
root [8]  event.GetTracks().GetEntries()
(Int_t)610
root [9]  T->GetEntry(0)                
root [10] event.GetTracks().GetEntries()
(Int_t)610

I expected to get again 594. GetLast() and GetEntriesFast() behaved better:

root [11] event.GetTracks().GetLast()   
(Int_t)593
root [12] event.GetTracks().GetEntriesFast()
(Int_t)594

So my question is: what is the correct way to retrieve the number of entries
in a TClonesArray/TObjectArray?

BTW: does anybody know how to use namespaces together with the
ClassDef/ClassImp macros?

Goodbye,
  Thorsten

----------------------------------------------------
Dr. Thorsten Glebe    <Thorsten.Glebe@mpi-hd.mpg.de>

        Max-Planck-Institut fuer Kernphysik

Saupfercheckweg 1                 Tel: 06221/516-631
D-69117 Heidelberg                Fax: 06221/516-603
----------------------------------------------------



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