Hi Chris, I have modified GetStack to call BuildStack if the stack is not yet built. I had to change the signature removing the const qualifier. I also added protections in case the default constructor is called. Now in CVS Rene Brun On Thu, 20 Jun 2002, Chris Roat wrote: > Hi ROOTers, > > Recently I wanted to plot a THStack object, where the "all summed" > histogram was normalized to unity (or some other value). I thought it > might be interesting to add a method to handle this automatically, which > shouldn't be a problem given that a THStack owns its histos. It could > just rescale all histograms correctly after the integral of fStack->Last() > is computed. > > While attempting to write this in my own code, I wanted to call the > GetStack() method to get the total histo integral. I hadn't > plotted the stack yet, so BuildStack() had not been called and GetStack > returned a NULL pointer. Could GetStack() be changed to > > TObjArray *GetStack() const { > BuildStack(); > return fStack; > } > > ? > > While looking at the code, I also noticed that the following causes > problems, presumably because no check is made that fHists is non-NULL: > > root [0] THStack h > root [1] h.Draw() > <TCanvas::MakeDefCanvas>: created default TCanvas with name c1 > > *** Break *** segmentation violation > Root > > *** Break *** segmentation violation > > Minor issue, as most people won't attempt something so boring. > > Thanks, > Chris > >
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:57 MET