21 ClassImp(ROOT::Internal::TFriendProxy);
28 TFriendProxy::TFriendProxy() : fDirector(0,-1), fIndex(-1)
35 TFriendProxy::TFriendProxy(TBranchProxyDirector *director, TTree *main, Int_t index) :
36 fDirector(0,-1), fIndex(index)
38 if (main && main->GetListOfFriends()) {
39 TObject *obj = main->GetListOfFriends()->At(fIndex);
40 TFriendElement *element =
dynamic_cast<TFriendElement*
>( obj );
41 if (element) fDirector.SetTree(element->GetTree());
43 director->Attach(
this);
49 Long64_t TFriendProxy::GetReadEntry()
const
51 return fDirector.GetReadEntry();
57 void TFriendProxy::ResetReadEntry()
61 if (fDirector.GetTree()) fDirector.SetReadEntry(fDirector.GetTree()->GetTree()->GetReadEntry());
67 void TFriendProxy::Update(TTree *newmain)
69 if (newmain && newmain->GetListOfFriends()) {
70 TObject *obj = newmain->GetListOfFriends()->At(fIndex);
71 TFriendElement *element =
dynamic_cast<TFriendElement*
>( obj );
72 if (element) fDirector.SetTree(element->GetTree());
73 else fDirector.SetTree(0);