Re: [ROOT] (missing?) const qualifiers...

From: Rene Brun (Rene.Brun@cern.ch)
Date: Tue Feb 19 2002 - 00:21:32 MET


Hi Thomas,

In the version under CVS, I have made the following changes:
 hist/inc/TAxis.h hist/src/TAxis.cxx

Make the following functions const
  void            GetCenter(Axis_t *center) const;
  void            GetLowEdge(Axis_t *edge) const;
  const TArrayD  *GetXbins() const {return &fXbins;}


 hist/inc/TH1.h hist/src/TH1.cxx

Make the following functions const
   void     Add(const TH1 *h1, Double_t c1=1);
   void     Add(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t
c2=1); // *MENU*
   void     Divide(const TH1 *h1);
   void     Divide(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t
c2=1, Option_t *option=""); // *MENU*
   void     GetLowEdge(Axis_t *edge) const {fXaxis.GetLowEdge(edge);}
   Stat_t   Integral(Option_t *option="") const;
   Stat_t   Integral(Int_t binx1, Int_t binx2, Option_t *option="") const;
   Stat_t   Integral(Int_t, Int_t, Int_t, Int_t, Option_t * /*option*/
="") const {return 0;}
   Stat_t   Integral(Int_t, Int_t, Int_t, Int_t, Int_t, Int_t, Option_t *
/*option*/ ="" ) const {return 0;}
   void     Multiply(const TH1 *h1);
   void     Multiply(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t
c2=1, Option_t *option=""); // *MENU*

 hist/inc/TH2.h hist/src/TH2.cxx

Make the following functions const
  Stat_t    Integral(Option_t *option="") const;
  Stat_t    Integral(Int_t, Int_t, Option_t *option="") const {return 0;}
  Stat_t    Integral(Int_t binx1, Int_t binx2, Int_t biny1, Int_t biny2,
Option_t *option="") const;
  Stat_t    Integral(Int_t, Int_t, Int_t, Int_t, Int_t, Int_t, Option_t
*option="") const {return 0;}
  TProfile *ProfileX(const char *name="_pfx", Int_t firstybin=-1, Int_t
lastybin=9999, Option_t *option="") const;   // *MENU*
  TProfile *ProfileY(const char *name="_pfy", Int_t firstxbin=-1, Int_t
lastxbin=9999, Option_t *option="") const ;   // *MENU
  TH1D     *ProjectionX(const char *name="_px", Int_t firstybin=-1, Int_t
lastybin=9999, Option_t *option="") const; // *MENU*
  TH1D     *ProjectionY(const char *name="_py", Int_t firstxbin=-1, Int_t
lastxbin=9999, Option_t *option="") const; // *MENU*

 hist/inc/TH3.h hist/src/TH3.cxx

Make the following functions const
  Stat_t  Integral(Option_t *option="") const;
  Stat_t  Integral(Int_t, Int_t, Option_t *option="") const {return 0;}
  Stat_t  Integral(Int_t, Int_t, Int_t, Int_t, Option_t *option="") const
{return 0;}
  Stat_t  Integral(Int_t binx1, Int_t binx2, Int_t biny1, Int_t biny2,
Int_t binz1, Int_t binz2, Option_t *option="") const;
  TH1    *Project3D(Option_t *option="x") const; // *MENU*

 hist/inc/TProfile.h hist/src/TProfile.cxx

Make the following functions const
  void    Add(const TH1 *h1, Double_t c1=1);
  void    Add(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t c2=1);
// *MENU*
  void    Divide(const TH1 *h1);
  void    Divide(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t
c2=1, Option_t *option=""); // *MENU*
  void    Multiply(const TH1 *h1);
  void    Multiply(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t
c2=1, Option_t *option=""); // *MENU*
  TH1D   *ProjectionX(const char *name="_px", Option_t *option="e") const;

 hist/inc/TProfile2D.h hist/src/TProfile2D.cxx

Make the following functions const
  void    Add(const TH1 *h1, Double_t c1=1);
  void    Add(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t c2=1);
// *MENU*
  void    Divide(const TH1 *h1);
  void    Divide(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t
c2=1, Option_t *option=""); // *MENU*
  void    Multiply(const TH1 *h1);
  void    Multiply(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t
c2=1, Option_t *option=""); // *MENU*
  TH2D   *ProjectionXY(const char *name="_pxy", Option_t *option="e")
const;


Rene Brun

On Mon, 18 Feb 2002, Thomas Bretz wrote:

> Dear Developers,
> 
> is there a reason, that...
> 
> - the following functions are not declared as const?
> TH3::Project3D();
> TH2::ProjectionX();
> TH2::ProjectionY();
> 
> - the following functions doesn't accapt const pointers?
> TH1::Add();
> and similar...
> 
> Best regards,
> Thomas.
> 



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:42 MET