Hi, On Mon, 17 Jun 2002, Nesterov Stanislav wrote: > Hello Rene, > > Thank You for Your reply. Now I understand the point.. > Now I just want to ask: > 1) why objects start to duplicate in my case? If you do not delete the object at the address that you indicated to SetBranchAddress, at the next call a new object will be allocated at this address. However, because a reference to this object was also added in gDirectory->GetList(), you are confusing the system. > 2) is it really good to create objects in memory by default while > reading a tree? I do not understand this question. > 3) if I don't want default behavior what should I do ( I mean, what > flag must be set to avoid creating objects in memory). Again, I do not understand this question. By definition, if you read something from disk, you read it in memory. If your question is: Which flag to set to not automatically register a TH1 or TTree to gDirectory->GetList()" see the Users Guide on Memory allocation and TH1::AddDirectory(kFALSE). Rene Brun > > Once more Thank You very much > Best regards, > Stanislav. > > On Mon, 17 Jun 2002, Rene Brun wrote: > > > Hi Nesterov, > > > > When calling whell->GetEntry, you request to read all the branches > > of your Tree. If you want to read only one single branch, get > > the pointer to the branch and call branch->GetEntry. > > > > In your case, you should do something like: > > > > TBranch *b_Spec = wheel->GetBranch("Spec"); > > TH1 *Spec=0; > > b_Spec->SetAddress(&Spec); > > b_Spec->GetEntry(22); > > delete Spec; Spec=0; //to delete the current hist > > Spec=0; // if you want to keep the current hist in memory > > b_Spec->GetEntry(23); /etc.. > > > > Rene Brun > > >
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:57 MET