Hi rooters, I have a problem with TRef and TRefArrays. I'm using root version 3.03.09 on a Linux machine, Intel 2.0 Ghz double processor I'm reading events written with in a tree with branches that are TClonesArray and include TRef, TRefArrays, with TRef pointing from one branch as for example fParticle TClonesArray* fParticle offset= 0 type=64 to another as for example fTrack TClonesArray* fTrack offset= 0 type=64 so that in class Paricle there is StreamerInfo for class: Particle, version=1 BASE TObject offset= 0 type=66 Basic ROOT object int Particle offset= 0 type= 3 TRef fTrack offset= 0 type=61 pointer to track; .... .. . .. . StreamerInfo for class: Track, version=1 BASE TObject offset= 0 type=66 Basic ROOT object int Status offset= 0 type= 3 int Pattern offset= 0 type= 3 int Address offset= 0 type= 3 ... .. .. suppose that in my selection code I want to use the reference TRef fTrack to the object (class) Track, can I get it without loading the respective branch b_Track? I mean in this example(1) of the code example(1): ----------------------------------------------------------------------- b_Particle->GetEntry(entry); if(Particle->GetSize()>0){ pobj=Particle->At(0); Particle* p_ok=dynamic_cast<Particle*>(pobj); if(p_ok){ cout << p_ok->fTrack.GetObject() << endl; } } ---------------------------------------------------------------------- I got (nil) pointers while in this example(2) of code example(2) --------------------------------------------------------------------- b_Particle->GetEntry(entry); if(Particle->GetSize()>0){ pobj=Particle->At(0); Particle* p_ok=dynamic_cast<Particle*>(pobj); if(p_ok){ b_Track->GetEntry(entry); cout << p_ok->fTrack.GetObject() << endl; } } --------------------------------------------------------------------- I got the pointers.. is it possible to do it (get the pointers) without loading the branch b_Track (or better loading the branch only when is needed to access the data, in the relative if cycle)? I hope this is not a stupid question.... Thanks Davide ********************************************************************** $ Davide Grandi % $ INFN Milano e-mail Davide.Grandi@mib.infn.it % $ P.zza delle Scienze 3 phone +39 02 6448 2306 % $ 20126 MILANO fax +39 02 6448 2367 % $ ITALY % $ % $ at CERN e-mail Davide.Grandi@cern.ch % $ CH-1211 Geneve CH phone +41 22 767 9403 % $ Bldg. 506 room R018 % $ or phone +41 22 767 7560 % $ Bldg. 576 room R002 % &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:20 MET