Dear ROOT Experts, I want to understand how ROOT implemets accessing a specific pad which is defined in some class primitives and access at another class methods. For instance, I have 3 classes A, B, and C. Say, A defines all that is necessary for the creation of a Canvases/Pads, while B and C have only methods which dump the information to the active pad via: gPad->GetThePadNeeded(); I found this mailing list useful to start with: http://root.cern.ch/cgi-bin/print_hit_bold.pl/root/roottalk/roottalk02/4941.html?GetPad#first_hit IN MY UNDERSTANDING of THESE LINES, //---------------------------------------------------------------<======== To access a subpad of a pad, eg subpad 4 of pad with name "p1", do: TPad *subpad = (TPad*)pad->GetPrimitive("p1_4"); To access a subpad N of a pad in general, you can do (eg in a loop): TPad *subpad=(TPad*)pad->GetPrimitive(Form(%s_%d",pad->GetName(),N)); In the development version in CVS, I have added a new function TVirtualPad *TVirtualPad::GetPad(Int_t subpadnumber); such that you can do TPad *subpad = pad->GetPad(N); //-----------------------------------------------------------------<======= THE USER HAS CREATED A METHOD THAT DIVIDES THE PAD INTO say, 8 pads LIKE: TheMostWantedPad->Divide(2,4); TheMostWantedPad->cd(1); ... TheMostWantedPad->cd(2); ... TheMostWantedPad->cd(8); Then one can access a specific pad, because there is always this method: TheMostWantedPad->cd(Pad_Number); THE PAD_NUMBER HERE IS IMPORTATNT AND IS USED TO TIE UP AGAIN THE PREVIOUS (say, the 5th pad) PAD OF INTEREST. Is this correct? -------------------------- What if the user do not use the Divide method (like in the "canvas.C" at tutorial section. Just create the pad, then activate it using padWhateverName->cd(), without an integer argument as an ID to this Pad) ), how do we access say the 5th pad if one wants to dump some data coming from another class object? Thank you very much. -- -------------------------------------------------------- Zaldy A. Nawang PS Users Room 2 Yon Gokan, E362, Neutrino Group, IPNS, KEK, Japan e-mail: zaldy@neutrino.kek.jp Tel. No. : (81) 029864 - 5387 --------------------------------------------------------
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:13 MET