Hi Matt, A TH2F has the following Fill function prototypes: private: Int_t Fill(Axis_t) { MayNotUse("Fill(Axis_t)"); return -1; } Int_t Fill(Axis_t, Stat_t) { MayNotUse("Fill(Axis_t, Stat_t)"); return -1; } Int_t Fill(Axis_t, Axis_t, Axis_t, Stat_t) { MayNotUse("Fill(Axis_t, Axis_t, Axis_t, Stat_t)"); return -1; } public: virtual Int_t Fill(Axis_t x, Axis_t y); virtual Int_t Fill(Axis_t x, Axis_t y, Stat_t w); We have implemented in 2.22 some Fill functions to be private to generate a compilation error in case of a wrong calling sequence. You can call TH2F::Fill(x,y) with x and y being Axis_t(float). What happen probably in your case is the following: -you use a double for the second argument. -you use a constant for the first and second argument In particular, in the case of a CINT macro, CINT will try to promote your argument to double if it finds the corresponding prototype. If you want to call Fill with constants, use Fill with 3 arguments, the third argument =1. Rene Brun Matt Fritts wrote: > > I have successfully downloaded the new version (thanks for the help!) and > while testing it out with my macros, I found most things ran just fine, but > when I ran a macro in which I need to fill a 2d histogram the following > error messages occurred: > > Error: TH2F::Fill is private or protected > !!!Dictionary position not recorvered because G__unloadfile() in macro!!! > *** Interpreter error recovered *** > > The file I downloaded was root_v2.22x86.Windows_NT.tar.gz > > Does anyone know why this problem occurs and/or how to fix it? The macro > runs without error in my copy of version 2.21/08. (Also, there is another > macro in which TH1D::Fill is used, and this works in both versions.) > > -Matt Fritts
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:37 MET