diff --git a/graf2d/graf/src/TPie.cxx b/graf2d/graf/src/TPie.cxx index 61986b0c4aea5b79f5ffa78be4e2aada39520c8c..a263feccd87f78419f8770bba9d5042fbeb169a6 100644 --- a/graf2d/graf/src/TPie.cxx +++ b/graf2d/graf/src/TPie.cxx @@ -125,7 +125,7 @@ TPie::TPie(const TH1 *h) : TNamed(h->GetName(),h->GetTitle()) Int_t i; - TAxis *axis = h->GetXaxis(); + const TAxis *axis = h->GetXaxis(); Int_t first = axis->GetFirst(); Int_t last = axis->GetLast(); Int_t np = last-first+1; diff --git a/graf3d/gl/inc/TGLAxisPainter.h b/graf3d/gl/inc/TGLAxisPainter.h index 820187278e8cc2d2991b6271c4b45159af67e110..d9facf675dcfb61c4b16d56279454503549cd3b3 100644 --- a/graf3d/gl/inc/TGLAxisPainter.h +++ b/graf3d/gl/inc/TGLAxisPainter.h @@ -139,7 +139,7 @@ class TGLAxisPainterBox : public TGLAxisPainter { protected: TGLVector3 fAxisTitlePos[3]; - TAxis* fAxis[3]; + TAxis* fAxis[3]; public: TGLAxisPainterBox(); @@ -148,7 +148,7 @@ public: void SetAxis3DTitlePos(TGLRnrCtx &rnrCtx); void DrawAxis3D(TGLRnrCtx &rnrCtx); - void PlotStandard(TGLRnrCtx &rnrCtx, const TH1* histo, const TGLBoundingBox& bbox); + void PlotStandard(TGLRnrCtx &rnrCtx, TH1* histo, const TGLBoundingBox& bbox); ClassDef(TGLAxisPainterBox, 0); // Painter of GL axes for a 3D box. }; diff --git a/graf3d/gl/inc/TGLPlotPainter.h b/graf3d/gl/inc/TGLPlotPainter.h index 8d995efc1427d62223b6777cb3d7c546084c8967..ec7b5a74ed504e187657c60853ae2af42e3ece9c 100644 --- a/graf3d/gl/inc/TGLPlotPainter.h +++ b/graf3d/gl/inc/TGLPlotPainter.h @@ -112,7 +112,7 @@ public: private: ESliceAxis fAxisType; - TAxis *fAxis; + const TAxis *fAxis; mutable TGLLevelPalette fPalette; const TGLPlotCoordinates *fCoord; diff --git a/graf3d/gl/src/TGLAxisPainter.cxx b/graf3d/gl/src/TGLAxisPainter.cxx index b4857b127f90859a50f9b77fcdb72005f8afc973..d2125d822458d188cf2b5146ce52ba992e8c69e4 100644 --- a/graf3d/gl/src/TGLAxisPainter.cxx +++ b/graf3d/gl/src/TGLAxisPainter.cxx @@ -626,7 +626,7 @@ void TGLAxisPainterBox::DrawAxis3D(TGLRnrCtx &rnrCtx) //______________________________________________________________________________ void TGLAxisPainterBox::PlotStandard( TGLRnrCtx &rnrCtx, - const TH1 *histo, + TH1 *histo, const TGLBoundingBox &bbox) { // diff --git a/hist/hist/inc/TH1.h b/hist/hist/inc/TH1.h index bf53e0257bdf719474299c1da489475fa90f2e22..d2b76f0cb1ce9e1a036c44b5ff4ce670f1cf4887 100644 --- a/hist/hist/inc/TH1.h +++ b/hist/hist/inc/TH1.h @@ -311,9 +311,12 @@ public: virtual Double_t GetRMS(Int_t axis=1) const; virtual Double_t GetRMSError(Int_t axis=1) const; virtual Double_t GetSkewness(Int_t axis=1) const; - TAxis* GetXaxis() const { return &((TH1*)this)->fXaxis; } - TAxis* GetYaxis() const { return &((TH1*)this)->fYaxis; } - TAxis* GetZaxis() const { return &((TH1*)this)->fZaxis; } + TAxis* GetXaxis() { return &fXaxis; } + TAxis* GetYaxis() { return &fYaxis; } + TAxis* GetZaxis() { return &fZaxis; } + const TAxis* GetXaxis() const { return &fXaxis; } + const TAxis* GetYaxis() const { return &fYaxis; } + const TAxis* GetZaxis() const { return &fZaxis; } virtual Double_t Integral(Option_t *option="") const; virtual Double_t Integral(Int_t binx1, Int_t binx2, Option_t *option="") const; virtual Double_t IntegralAndError(Int_t binx1, Int_t binx2, Double_t & err, Option_t *option="") const; diff --git a/hist/hist/inc/TH3.h b/hist/hist/inc/TH3.h index 4e32bdd57c8d1d80baaa9b338e780ff8dcab79ff..34219af75b9b5d43e71913cd9af499ae08299b51 100644 --- a/hist/hist/inc/TH3.h +++ b/hist/hist/inc/TH3.h @@ -135,21 +135,22 @@ public: protected: - virtual TH1D *DoProject1D(const char* name, const char * title, TAxis* projX, - bool computeErrors, bool originalRange, - bool useUF, bool useOF) const; - virtual TH2D *DoProject2D(const char* name, const char * title, TAxis* projX, TAxis* projY, + virtual TH1D *DoProject1D(const char* name, const char * title, int imin1, int imax1, int imin2, int imax2, + const TAxis* projAxis, const TAxis * axis1, const TAxis * axis2, Option_t * option) const; + virtual TH1D *DoProject1D(const char* name, const char * title, const TAxis* projAxis, + bool computeErrors, bool originalRange, bool useUF, bool useOF) const; + virtual TH2D *DoProject2D(const char* name, const char * title, const TAxis* projX, const TAxis* projY, bool computeErrors, bool originalRange, bool useUF, bool useOF) const; - virtual TProfile2D *DoProjectProfile2D(const char* name, const char * title, TAxis* projX, TAxis* projY, + virtual TProfile2D *DoProjectProfile2D(const char* name, const char * title, const TAxis* projX, const TAxis* projY, bool originalRange, bool useUF, bool useOF) const; // these functions are need to be used inside TProfile3D::DoProjectProfile2D - static TH1D *DoProject1D(const TH3 & h, const char* name, const char * title, TAxis* projX, + static TH1D *DoProject1D(const TH3 & h, const char* name, const char * title, const TAxis* projX, bool computeErrors, bool originalRange, bool useUF, bool useOF) { return h.DoProject1D(name, title, projX, computeErrors, originalRange, useUF, useOF); } - static TH2D *DoProject2D(const TH3 & h, const char* name, const char * title, TAxis* projX, TAxis* projY, + static TH2D *DoProject2D(const TH3 & h, const char* name, const char * title, const TAxis* projX, const TAxis* projY, bool computeErrors, bool originalRange, bool useUF, bool useOF) { return h.DoProject2D(name, title, projX,projY, computeErrors, originalRange, useUF, useOF); } diff --git a/hist/hist/inc/THStack.h b/hist/hist/inc/THStack.h index fb8a703b208dc440218c07b0e837b16c7ff9c7af..98ad77cbf5daaa44b8495872155fcc0bf56b8c04 100644 --- a/hist/hist/inc/THStack.h +++ b/hist/hist/inc/THStack.h @@ -49,7 +49,7 @@ public: THStack(); THStack(const char *name, const char *title); - THStack(const TH1* hist, Option_t *axis="x", + THStack(TH1* hist, Option_t *axis="x", const char *name=0, const char *title=0, Int_t firstbin=1, Int_t lastbin=-1, Int_t firstbin2=1, Int_t lastbin2=-1, diff --git a/hist/hist/inc/TProfile3D.h b/hist/hist/inc/TProfile3D.h index bd033c29042be71557e69600ae3fe716b7c0da56..8818fae734adccf421f7194a9db95d2dfc561503 100644 --- a/hist/hist/inc/TProfile3D.h +++ b/hist/hist/inc/TProfile3D.h @@ -69,7 +69,7 @@ protected: //virtual void UpdateBinContent(Int_t bin, Double_t content); virtual Double_t GetBinErrorSqUnchecked(Int_t bin) const { Double_t err = GetBinError(bin); return err*err; } - virtual TProfile2D *DoProjectProfile2D(const char* name, const char * title, TAxis* projX, TAxis* projY, + virtual TProfile2D *DoProjectProfile2D(const char* name, const char * title, const TAxis* projX, const TAxis* projY, bool originalRange, bool useUF, bool useOF) const; private: diff --git a/hist/hist/src/HFitInterface.cxx b/hist/hist/src/HFitInterface.cxx index 7e8a50dba4f91e559a53ae711bf8b932ed03b97e..1b6fe1bb5789a8bd3b5ff6b1730bbb16796a6dbb 100644 --- a/hist/hist/src/HFitInterface.cxx +++ b/hist/hist/src/HFitInterface.cxx @@ -76,7 +76,7 @@ bool AdjustError(const DataOptions & option, double & error, double value = 1) { return true; } -void ExamineRange(TAxis * axis, std::pair<double,double> range,int &hxfirst,int &hxlast) { +void ExamineRange(const TAxis * axis, std::pair<double,double> range,int &hxfirst,int &hxlast) { // examine the range given with the pair on the given histogram axis // correct in case the bin values hxfirst hxlast double xlow = range.first; @@ -85,10 +85,10 @@ void ExamineRange(TAxis * axis, std::pair<double,double> range,int &hxfirst,int std::cout << "xlow " << xlow << " xhigh = " << xhigh << std::endl; #endif // ignore ranges specified outside histogram range - int ilow = axis->FindBin(xlow); - int ihigh = axis->FindBin(xhigh); - if (ilow > hxlast || ihigh < hxfirst) { - Warning("ROOT::Fit::FillData","fit range is outside histogram range, no fit data for %s",axis->GetName()); + int ilow = axis->FindFixBin(xlow); + int ihigh = axis->FindFixBin(xhigh); + if (ilow > hxlast || ihigh < hxfirst) { + Warning("ROOT::Fit::FillData","fit range is outside histogram range, no fit data for %s",axis->GetName()); } // consider only range defined with-in histogram not oustide. Always exclude underflow/overflow hxfirst = std::min( std::max( ilow, hxfirst), hxlast+1) ; @@ -103,6 +103,7 @@ void ExamineRange(TAxis * axis, std::pair<double,double> range,int &hxfirst,int } // end namespace HFitInterface + void FillData(BinData & dv, const TH1 * hfit, TF1 * func) { // Function to fill the binned Fit data structure from a TH1 @@ -185,9 +186,9 @@ void FillData(BinData & dv, const TH1 * hfit, TF1 * func) int biny = 0; int binz = 0; - TAxis *xaxis = hfit->GetXaxis(); - TAxis *yaxis = hfit->GetYaxis(); - TAxis *zaxis = hfit->GetZaxis(); + const TAxis *xaxis = hfit->GetXaxis(); + const TAxis *yaxis = hfit->GetYaxis(); + const TAxis *zaxis = hfit->GetZaxis(); for ( binx = hxfirst; binx <= hxlast; ++binx) { if (useBinEdges) { diff --git a/hist/hist/src/TEfficiency.cxx b/hist/hist/src/TEfficiency.cxx index b773b3d6a1bf3e2b2b92dc573a49bdd14ef6faf2..24bb079b76a12d27e66ce051ad524e72c39fcb82 100644 --- a/hist/hist/src/TEfficiency.cxx +++ b/hist/hist/src/TEfficiency.cxx @@ -1430,9 +1430,10 @@ Bool_t TEfficiency::CheckBinning(const TH1& pass,const TH1& total) // //It is assumed that the passed histograms have the same dimension. - TAxis* ax1 = 0; - TAxis* ax2 = 0; - + + const TAxis* ax1 = 0; + const TAxis* ax2 = 0; + //check binning along axis for(Int_t j = 0; j < pass.GetDimension(); ++j) { switch(j) { diff --git a/hist/hist/src/TH1.cxx b/hist/hist/src/TH1.cxx index ab25095e409dd2231b31d47fb9340a83a3c8c53d..709352f54e1215accd00ce42375e49d7353e3d34 100644 --- a/hist/hist/src/TH1.cxx +++ b/hist/hist/src/TH1.cxx @@ -1858,12 +1858,12 @@ Double_t TH1::Chi2TestX(const TH1* h2, Double_t &chi2, Int_t &ndf, Int_t &igood TString opt = option; opt.ToUpper(); - TAxis *xaxis1 = GetXaxis(); - TAxis *xaxis2 = h2->GetXaxis(); - TAxis *yaxis1 = GetYaxis(); - TAxis *yaxis2 = h2->GetYaxis(); - TAxis *zaxis1 = GetZaxis(); - TAxis *zaxis2 = h2->GetZaxis(); + const TAxis *xaxis1 = GetXaxis(); + const TAxis *xaxis2 = h2->GetXaxis(); + const TAxis *yaxis1 = GetYaxis(); + const TAxis *yaxis2 = h2->GetYaxis(); + const TAxis *zaxis1 = GetZaxis(); + const TAxis *zaxis2 = h2->GetZaxis(); Int_t nbinx1 = xaxis1->GetNbins(); Int_t nbinx2 = xaxis2->GetNbins(); @@ -7396,8 +7396,8 @@ Double_t TH1::KolmogorovTest(const TH1 *h2, Option_t *option) const Double_t prob = 0; TH1 *h1 = (TH1*)this; if (h2 == 0) return 0; - TAxis *axis1 = h1->GetXaxis(); - TAxis *axis2 = h2->GetXaxis(); + const TAxis *axis1 = h1->GetXaxis(); + const TAxis *axis2 = h2->GetXaxis(); Int_t ncx1 = axis1->GetNbins(); Int_t ncx2 = axis2->GetNbins(); diff --git a/hist/hist/src/TH2.cxx b/hist/hist/src/TH2.cxx index 9eb5f9527c13b89c8933192ef81d70ba052536eb..0fad11d59968013340d13c024f21ff78477132c5 100644 --- a/hist/hist/src/TH2.cxx +++ b/hist/hist/src/TH2.cxx @@ -1305,10 +1305,10 @@ Double_t TH2::KolmogorovTest(const TH1 *h2, Option_t *option) const Double_t prb = 0; TH1 *h1 = (TH1*)this; if (h2 == 0) return 0; - TAxis *xaxis1 = h1->GetXaxis(); - TAxis *xaxis2 = h2->GetXaxis(); - TAxis *yaxis1 = h1->GetYaxis(); - TAxis *yaxis2 = h2->GetYaxis(); + const TAxis *xaxis1 = h1->GetXaxis(); + const TAxis *xaxis2 = h2->GetXaxis(); + const TAxis *yaxis1 = h1->GetYaxis(); + const TAxis *yaxis2 = h2->GetYaxis(); Int_t ncx1 = xaxis1->GetNbins(); Int_t ncx2 = xaxis2->GetNbins(); Int_t ncy1 = yaxis1->GetNbins(); @@ -2207,8 +2207,8 @@ TH1D *TH2::DoProjection(bool onX, const char *name, Int_t firstbin, Int_t lastbi const char *expectedName = 0; Int_t inNbin; Int_t firstOutBin, lastOutBin; - TAxis* outAxis; - TAxis* inAxis; + const TAxis* outAxis; + const TAxis* inAxis; TString opt = option; @@ -2555,8 +2555,8 @@ TH1D* TH2::DoQuantiles(bool onX, const char * name, Double_t prob) const { // Implementation of quantiles for x or y - TAxis *outAxis = 0; - TAxis *inAxis = 0; + const TAxis *outAxis = 0; + const TAxis *inAxis = 0; if ( onX ) { outAxis = GetXaxis(); inAxis = GetYaxis(); diff --git a/hist/hist/src/TH3.cxx b/hist/hist/src/TH3.cxx index 8224722ed8959b1a52d76696fbc789ae61bb0561..d4c44beb8643748d034e0219cd55a50f70313078 100644 --- a/hist/hist/src/TH3.cxx +++ b/hist/hist/src/TH3.cxx @@ -1344,12 +1344,12 @@ Double_t TH3::KolmogorovTest(const TH1 *h2, Option_t *option) const Double_t prb = 0; TH1 *h1 = (TH1*)this; if (h2 == 0) return 0; - TAxis *xaxis1 = h1->GetXaxis(); - TAxis *xaxis2 = h2->GetXaxis(); - TAxis *yaxis1 = h1->GetYaxis(); - TAxis *yaxis2 = h2->GetYaxis(); - TAxis *zaxis1 = h1->GetZaxis(); - TAxis *zaxis2 = h2->GetZaxis(); + const TAxis *xaxis1 = h1->GetXaxis(); + const TAxis *xaxis2 = h2->GetXaxis(); + const TAxis *yaxis1 = h1->GetYaxis(); + const TAxis *yaxis2 = h2->GetYaxis(); + const TAxis *zaxis1 = h1->GetZaxis(); + const TAxis *zaxis2 = h2->GetZaxis(); Int_t ncx1 = xaxis1->GetNbins(); Int_t ncx2 = xaxis2->GetNbins(); Int_t ncy1 = yaxis1->GetNbins(); @@ -1825,54 +1825,12 @@ TH1D *TH3::ProjectionX(const char *name, Int_t iymin, Int_t iymax, // // implemented using Project3D - - TString opt = option; - opt.ToLower(); - - Int_t iyminOld = GetYaxis()->GetFirst(); - Int_t iymaxOld = GetYaxis()->GetLast(); - Int_t izminOld = GetZaxis()->GetFirst(); - Int_t izmaxOld = GetZaxis()->GetLast(); - - GetYaxis()->SetRange(iymin,iymax); - GetZaxis()->SetRange(izmin,izmax); - - Bool_t computeErrors = GetSumw2N(); - if (opt.Contains("e") ) { - computeErrors = kTRUE; - opt.Remove(opt.First("e"),1); - } - Bool_t originalRange = kFALSE; - if (opt.Contains('o') ) { - originalRange = kTRUE; - opt.Remove(opt.First("o"),1); - } - // in case of default name append the parent name TString hname = name; if (hname == "_px") hname = TString::Format("%s%s", GetName(), name); + TString title = TString::Format("%s ( Projection X )",GetTitle()); - TH1D * h1 = DoProject1D(hname, GetTitle(), this->GetXaxis(), computeErrors, originalRange,true,true); - - // restore original range - if (GetYaxis()->TestBit(TAxis::kAxisRange)) GetYaxis()->SetRange(iyminOld,iymaxOld); - if (GetZaxis()->TestBit(TAxis::kAxisRange)) GetZaxis()->SetRange(izminOld,izmaxOld); - - // draw in current pad - if (h1 && opt.Contains("d")) { - opt.Remove(opt.First("d"),1); - TVirtualPad *padsav = gPad; - TVirtualPad *pad = gROOT->GetSelectedPad(); - if (pad) pad->cd(); - if (!gPad || !gPad->FindObject(h1)) { - h1->Draw(opt); - } else { - h1->Paint(opt); - } - if (padsav) padsav->cd(); - } - - return h1; + return DoProject1D(hname, title, iymin, iymax, izmin, izmax, &fXaxis, &fYaxis, &fZaxis, option); } @@ -1899,57 +1857,13 @@ TH1D *TH3::ProjectionY(const char *name, Int_t ixmin, Int_t ixmax, // // implemented using Project3D - - TString opt = option; - opt.ToLower(); - - Int_t ixminOld = GetXaxis()->GetFirst(); - Int_t ixmaxOld = GetXaxis()->GetLast(); - Int_t izminOld = GetZaxis()->GetFirst(); - Int_t izmaxOld = GetZaxis()->GetLast(); - - GetXaxis()->SetRange(ixmin,ixmax); - GetZaxis()->SetRange(izmin,izmax); - - Bool_t computeErrors = GetSumw2N(); - if (opt.Contains("e") ) { - computeErrors = kTRUE; - opt.Remove(opt.First("e"),1); - } - Bool_t originalRange = kFALSE; - if (opt.Contains('o') ) { - originalRange = kTRUE; - opt.Remove(opt.First("o"),1); - } - - // in case of default name append the parent name TString hname = name; if (hname == "_py") hname = TString::Format("%s%s", GetName(), name); + TString title = TString::Format("%s ( Projection Y )",GetTitle()); - TH1D * h1 = DoProject1D(hname, GetTitle(), this->GetYaxis(), computeErrors, originalRange, true, true); - - // restore axis range - if (GetXaxis()->TestBit(TAxis::kAxisRange)) GetXaxis()->SetRange(ixminOld,ixmaxOld); - if (GetZaxis()->TestBit(TAxis::kAxisRange)) GetZaxis()->SetRange(izminOld,izmaxOld); - - // draw in current pad - if (h1 && opt.Contains("d")) { - opt.Remove(opt.First("d"),1); - TVirtualPad *padsav = gPad; - TVirtualPad *pad = gROOT->GetSelectedPad(); - if (pad) pad->cd(); - if (!gPad || !gPad->FindObject(h1)) { - h1->Draw(opt); - } else { - h1->Paint(opt); - } - if (padsav) padsav->cd(); - } - - return h1; + return DoProject1D(hname, title, ixmin, ixmax, izmin, izmax, &fYaxis, &fXaxis, &fZaxis, option); } - //______________________________________________________________________________ TH1D *TH3::ProjectionZ(const char *name, Int_t ixmin, Int_t ixmax, Int_t iymin, Int_t iymax, Option_t *option) const @@ -1975,16 +1889,33 @@ TH1D *TH3::ProjectionZ(const char *name, Int_t ixmin, Int_t ixmax, // implemented using Project3D + TString hname = name; + if (hname == "_pz") hname = TString::Format("%s%s", GetName(), name); + TString title = TString::Format("%s ( Projection Z )",GetTitle()); + + return DoProject1D(hname, title, ixmin, ixmax, iymin, iymax, &fZaxis, &fXaxis, &fYaxis, option); +} + + +//______________________________________________________________________________ +TH1D *TH3::DoProject1D(const char* name, const char * title, int imin1, int imax1, int imin2, int imax2, + const TAxis* projAxis, const TAxis * axis1, const TAxis * axis2, Option_t * option) const +{ + // internal methdod performing the projection to 1D histogram + // called from TH3::Project3D + + TString opt = option; opt.ToLower(); - Int_t ixminOld = GetXaxis()->GetFirst(); - Int_t ixmaxOld = GetXaxis()->GetLast(); - Int_t iyminOld = GetYaxis()->GetFirst(); - Int_t iymaxOld = GetYaxis()->GetLast(); + Int_t iminOld1 = axis1->GetFirst(); + Int_t imaxOld1 = axis1->GetLast(); + Int_t iminOld2 = axis2->GetFirst(); + Int_t imaxOld2 = axis2->GetLast(); - GetXaxis()->SetRange(ixmin,ixmax); - GetYaxis()->SetRange(iymin,iymax); + // need to cast-away constness to set range + const_cast<TAxis*>(axis1)->SetRange(imin1,imax1); + const_cast<TAxis*>(axis2)->SetRange(imin2,imax2); Bool_t computeErrors = GetSumw2N(); if (opt.Contains("e") ) { @@ -1997,15 +1928,11 @@ TH1D *TH3::ProjectionZ(const char *name, Int_t ixmin, Int_t ixmax, opt.Remove(opt.First("o"),1); } - // in case of default name append the parent name - TString hname = name; - if (hname == "_pz") hname = TString::Format("%s%s", GetName(), name); - - TH1D * h1 = DoProject1D(hname, GetTitle(), this->GetZaxis(), computeErrors, originalRange, true, true); + TH1D * h1 = DoProject1D(name, title, projAxis, computeErrors, originalRange,true,true); - // restore the range - if (GetXaxis()->TestBit(TAxis::kAxisRange)) GetXaxis()->SetRange(ixminOld,ixmaxOld); - if (GetYaxis()->TestBit(TAxis::kAxisRange)) GetYaxis()->SetRange(iyminOld,iymaxOld); + // restore original range + if (axis1->TestBit(TAxis::kAxisRange)) const_cast<TAxis*>(axis1)->SetRange(iminOld1,imaxOld1); + if (axis2->TestBit(TAxis::kAxisRange)) const_cast<TAxis*>(axis2)->SetRange(iminOld2,imaxOld2); // draw in current pad if (h1 && opt.Contains("d")) { @@ -2024,14 +1951,13 @@ TH1D *TH3::ProjectionZ(const char *name, Int_t ixmin, Int_t ixmax, return h1; } - -//______________________________________________________________________________ -TH1D *TH3::DoProject1D(const char* name, const char* title, TAxis* projX, +TH1D *TH3::DoProject1D(const char* name, const char * title, const TAxis* projX, bool computeErrors, bool originalRange, bool useUF, bool useOF) const { // internal methdod performing the projection to 1D histogram - // called from TH3::Project3D + // called from other TH3::DoProject1D + // Create the projection histogram TH1D *h1 = 0; @@ -2108,8 +2034,8 @@ TH1D *TH3::DoProject1D(const char* name, const char* title, TAxis* projX, if ( computeErrors ) h1->Sumw2(); // Set references to the axis, so that the bucle has no branches. - TAxis* out1 = 0; - TAxis* out2 = 0; + const TAxis* out1 = 0; + const TAxis* out2 = 0; if ( projX == GetXaxis() ) { out1 = GetYaxis(); out2 = GetZaxis(); @@ -2221,7 +2147,7 @@ TH1D *TH3::DoProject1D(const char* name, const char* title, TAxis* projX, //______________________________________________________________________________ -TH2D *TH3::DoProject2D(const char* name, const char * title, TAxis* projX, TAxis* projY, +TH2D *TH3::DoProject2D(const char* name, const char * title, const TAxis* projX, const TAxis* projY, bool computeErrors, bool originalRange, bool useUF, bool useOF) const { @@ -2341,7 +2267,7 @@ TH2D *TH3::DoProject2D(const char* name, const char * title, TAxis* projX, TAxis if ( computeErrors) h2->Sumw2(); // Set references to the axis, so that the bucle has no branches. - TAxis* out = 0; + const TAxis* out = 0; if ( projX != GetXaxis() && projY != GetXaxis() ) { out = GetXaxis(); } else if ( projX != GetYaxis() && projY != GetYaxis() ) { @@ -2681,7 +2607,7 @@ void TH3::DoFillProfileProjection(TProfile2D * p2, //______________________________________________________________________________ -TProfile2D *TH3::DoProjectProfile2D(const char* name, const char * title, TAxis* projX, TAxis* projY, +TProfile2D *TH3::DoProjectProfile2D(const char* name, const char * title, const TAxis* projX, const TAxis* projY, bool originalRange, bool useUF, bool useOF) const { // internal method to project to a 2D Profile @@ -2764,7 +2690,7 @@ TProfile2D *TH3::DoProjectProfile2D(const char* name, const char * title, TAxis* } // Set references to the axis, so that the loop has no branches. - TAxis* outAxis = 0; + const TAxis* outAxis = 0; if ( projX != GetXaxis() && projY != GetXaxis() ) { outAxis = GetXaxis(); } else if ( projX != GetYaxis() && projY != GetYaxis() ) { diff --git a/hist/hist/src/THStack.cxx b/hist/hist/src/THStack.cxx index d376e2712e536fd973f90d874d1bcdce321f3683..a6eb4e75fa39e35fbf03d750a893c97992537ffc 100644 --- a/hist/hist/src/THStack.cxx +++ b/hist/hist/src/THStack.cxx @@ -85,7 +85,7 @@ THStack::THStack(const char *name, const char *title) //______________________________________________________________________________ -THStack::THStack(const TH1* hist, Option_t *axis /*="x"*/, +THStack::THStack(TH1* hist, Option_t *axis /*="x"*/, const char *name /*=0*/, const char *title /*=0*/, Int_t firstbin /*=1*/, Int_t lastbin /*=-1*/, Int_t firstbin2 /*=1*/, Int_t lastbin2 /*=-1*/, diff --git a/hist/hist/src/THnBase.cxx b/hist/hist/src/THnBase.cxx index ef6c67c92c756d63fbbf6e6cad8e4d4bc09c2426..ca9230891df64e8f341db74aa9d04c0d97186dac 100644 --- a/hist/hist/src/THnBase.cxx +++ b/hist/hist/src/THnBase.cxx @@ -200,7 +200,7 @@ THnBase* THnBase::CreateHnAny(const char* name, const char* title, int nbins[3] = {0,0,0}; double minRange[3] = {0.,0.,0.}; double maxRange[3] = {0.,0.,0.}; - TAxis* axis[3] = { h->GetXaxis(), h->GetYaxis(), h->GetZaxis() }; + const TAxis* axis[3] = { h->GetXaxis(), h->GetYaxis(), h->GetZaxis() }; for (int i = 0; i < ndim; ++i) { nbins[i] = axis[i]->GetNbins(); minRange[i] = axis[i]->GetXmin(); diff --git a/hist/hist/src/TProfile3D.cxx b/hist/hist/src/TProfile3D.cxx index 4c34131b0c69e5fe1aea08a315cb780d1a9025c3..984515005e2dd4a61d8f2d12cadd87adb17fc646 100644 --- a/hist/hist/src/TProfile3D.cxx +++ b/hist/hist/src/TProfile3D.cxx @@ -1185,7 +1185,7 @@ TProfile2D *TProfile3D::Project3DProfile(Option_t *option) const } //______________________________________________________________________________ -TProfile2D *TProfile3D::DoProjectProfile2D(const char* name, const char * title, TAxis* projX, TAxis* projY, +TProfile2D *TProfile3D::DoProjectProfile2D(const char* name, const char * title, const TAxis* projX, const TAxis* projY, bool originalRange, bool useUF, bool useOF) const { // internal method to project to a 2D Profile