#include "myClass.h" int TTree_TClonesArray_read () { gSystem->Load ("myClass_cxx.so"); TFile f ("clonesarray.root"); TClonesArray* myArrayPtr = new TClonesArray ("myClass"); TTree *t = (TTree*) f.Get ("tree"); t->SetBranchAddress ("ObjClones", &myArrayPtr); myClass* myObjectPtr; for (int evt = 0; evt < t->GetEntriesFast() ; evt++) { myArrayPtr->Clear(); t->GetEvent (evt); int Npart = myArrayPtr->GetEntries() ; cout << "\nEvent " << evt << " has " << Npart << " particles: \n"; for (int iPart = 0; iPart < Npart; iPart++) { myObjectPtr = (myClass*) myArrayPtr->At (iPart); cout << " [" << setw (2) << myObjectPtr->det << ": " << setw (9) << myObjectPtr->ToF << " , " << setw (9) << myObjectPtr->Energy << " ] \n"; } } f.Close(); return 0; }