Hi Thomas, I understand your argument in your special case. However we will not apply you suggestion -because it will be a violation of the general rule -very often the TH2::Projection functions do not produce graphics -it is your problem if one of your canvas has the same name as the projection of a 2-d histogram Rene Brun Thomas Bretz wrote: > > Dear rooters, > > having a possibility to update an existing profile histogram or a > projection is a good idea, but finding the already existing histogram > via gROOT->FindObject in my opinion is not a good idea. > > The reason in very simple: gROOT->FindObject searches first everything > else (eg. canvases, current directory, etc) So the probability is high > that for example a canvas with the same name is found - which results in > strange behaviour. > > I guess the typical application is that I draw a profile into a pad. > Somewhere (eg in a Paint-funtion) I change directory (cd()) into this > pad and call Profile*() to update the existing profile. In this case it > would be much more convinient if FindObject would first search in the > current pad. Because I assume that this is a dangerous change - because > other parts of the code may rely on the order of searches in FindObject > I suggest to replace gROOT->FindObject by: > TObject *obj = gPad ? gPad->FindObject(pname) : 0; > if (!obj) > gROOT->FindObject(pname); > > This in: TH2::ProfileX, TH2::ProfileY, TH2::ProjectX, TH2::ProjectY, > TH3::ProjectionZ, TH3::Project3D > > Best regards, > Thomas.
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:10 MET