#ifndef __MAYAHISTO__ #define __MAYAHISTO__ #include "TObject.h" #include "TPolyLine.h" #include "TH2F.h" #include "TArrayF.h" #include "TClonesArray.h" #include "TMath.h" #include "string" #include "TStyle.h" #include "TPad.h" #include "TDirectory.h" #include #include #include "THistPainter.h" #include "TMatrixFBase.h" #include "TPaletteAxis.h" class TMayaHisto : public TH2, public TArrayF { public: TMayaHisto(); TMayaHisto(const char *name,const char *title,Int_t nbinsx, Int_t nbinsy,Double_t hsize); TMayaHisto(const TMayaHisto &h2f); virtual ~TMayaHisto(); virtual void AddBinContent(Int_t bin) {++fArray[bin];} virtual void AddBinContent(Int_t bin, Double_t w) {fArray[bin] += Float_t (w);} virtual void Copy(TObject &hnew) const; virtual TH1 *DrawCopy(Option_t *option="") const; virtual Double_t GetBinContent(Int_t bin) const; virtual Double_t GetBinContent(Int_t binx, Int_t biny) const {return GetBinContent(GetBin(binx,biny));} virtual Double_t GetBinContent(Int_t binx, Int_t biny, Int_t) const {return GetBinContent(GetBin(binx,biny));} virtual void Reset(Option_t *option=""); virtual void SetBinContent(Int_t bin, Double_t content); virtual void SetBinContent(Int_t binx, Int_t biny, Double_t content) {SetBinContent(GetBin(binx,biny),content);} virtual void SetBinContent(Int_t binx, Int_t biny, Int_t, Double_t content) {SetBinContent(GetBin(binx,biny),content);} virtual void SetBinsLength(Int_t n=-1); virtual TPolyLine* Hexagon(Float_t,Float_t); virtual void CreateHoneyCumbStructure() ; // virtual Int_t Fill(Int_t, Int_t) ; virtual void Paint(Option_t *); // TMayaHisto& operator=(const TMayaHisto &h1); friend TMayaHisto operator*(Float_t c1, TMayaHisto &h1); friend TMayaHisto operator*(TMayaHisto &h1, Float_t c1); friend TMayaHisto operator+(TMayaHisto &h1, TMayaHisto &h2); friend TMayaHisto operator-(TMayaHisto &h1, TMayaHisto &h2); friend TMayaHisto operator*(TMayaHisto &h1, TMayaHisto &h2); friend TMayaHisto operator/(TMayaHisto &h1, TMayaHisto &h2); private: TClonesArray *fHoneyCombBins ;//->Pointer the array of HoneyCombBins Double_t fHoneyCombSize ; //size of the hexagon used for the honey comb ClassDef(TMayaHisto,2); //2-Dim histograms (one float per channel) }; #endif