virtual Int_t GetNVar() const {return fGrid[0]->GetNVar();}
virtual void PrintBinLimits() const {fGrid[0]->PrintBinLimits();}
virtual void PrintNBins() const {fGrid[0]->PrintNBins();}
- virtual void SetBinLimits(Int_t ivar, const Double_t * array) ;
+ virtual void SetBinLimits(Int_t ivar, Double_t min, Double_t max) ; // for uniform bin width only
+ virtual void SetBinLimits(Int_t ivar, const Double_t * array) ; // for variable or uniform bin width
virtual void GetBinLimits(Int_t ivar, Double_t * array) const {return fGrid[0]->GetBinLimits(ivar,array);}
virtual Double_t * GetBinLimits(Int_t ivar) const {return fGrid[0]->GetBinLimits(ivar);}
virtual Long_t GetNBinsTotal() const {return fGrid[0]->GetNBinsTotal()*fNStep;}
}
}
+inline void AliCFContainer::SetBinLimits(Int_t ivar, Double_t min, Double_t max) {
+ for (Int_t iStep=0; iStep<GetNStep(); iStep++) {
+ fGrid[iStep]->SetBinLimits(ivar,min,max);
+ }
+}
+
inline void AliCFContainer::SetVarTitle(Int_t ivar, const Char_t* title) {
for (Int_t iStep=0; iStep<fNStep; iStep++) {
GetAxis(ivar,iStep)->SetTitle(title);
return *this;
}
+//____________________________________________________________________
+void AliCFGridSparse::SetBinLimits(Int_t ivar, Double_t min, Double_t max)
+{
+ //
+ // set a uniform binning for variable ivar
+ //
+ Int_t nBins = GetNBins(ivar);
+ Double_t * array = new Double_t[nBins+1];
+ for (Int_t iEdge=0; iEdge<=nBins; iEdge++) array[iEdge] = min + iEdge * (max-min)/nBins ;
+ fData->SetBinEdges(ivar, array);
+ delete [] array ;
+}
+
//____________________________________________________________________
void AliCFGridSparse::SetBinLimits(Int_t ivar, const Double_t *array)
{
virtual Int_t GetNVar() const {return fData->GetNdimensions();}
virtual void PrintBinLimits() const ;
virtual void PrintNBins() const ;
- virtual void SetBinLimits(Int_t ivar, const Double_t * array);
+ virtual void SetBinLimits(Int_t ivar, Double_t min, Double_t max); // for uniform bin width only
+ virtual void SetBinLimits(Int_t ivar, const Double_t * array); // for variable or uniform bin width
virtual void GetBinLimits(Int_t ivar, Double_t * array) const ;
virtual Double_t * GetBinLimits(Int_t ivar) const ;
virtual Long_t GetNBinsTotal() const ;