3 #ifndef ALIL3_HISTOGRAM
4 #define ALIL3_HISTOGRAM
6 #include "AliL3RootTypes.h"
12 class AliL3Histogram {
43 AliL3Histogram(Char_t *name,Char_t *id,Int_t nxbin,Double_t xmin,Double_t xmax,Int_t nybin,Double_t ymin,Double_t ymax);
44 virtual ~AliL3Histogram();
47 virtual void Fill(Double_t x,Double_t y,Int_t weight=1);
48 virtual Int_t FindBin(Double_t x,Double_t y);
49 virtual Int_t FindXbin(Double_t x);
50 virtual Int_t FindYbin(Double_t y);
51 Int_t GetBin(Int_t xbin,Int_t ybin);
52 Int_t GetBinContent(Int_t bin);
53 void SetBinContent(Int_t xbin,Int_t ybin,Int_t value);
54 void SetBinContent(Int_t bin,Int_t value);
55 void AddBinContent(Int_t xbin,Int_t ybin,Int_t weight);
56 void AddBinContent(Int_t bin,Int_t weight);
57 void Add(AliL3Histogram *h1,Double_t weight=1);
58 void SetThreshold(Int_t i) {fThreshold = i;}
59 void CreateRootHisto();
60 virtual void Draw(Char_t *option="hist");
61 virtual void Print() {};
69 Double_t GetXmin() {return fXmin;}
70 Double_t GetXmax() {return fXmax;}
71 Double_t GetYmin() {return fYmin;}
72 Double_t GetYmax() {return fYmax;}
73 virtual Double_t GetBinCenterX(Int_t xbin);
74 virtual Double_t GetBinCenterY(Int_t ybin);
75 Double_t GetBinWidthX() {return fBinwidthX;}
76 Double_t GetBinWidthY() {return fBinwidthY;}
77 Int_t GetFirstXbin() {return fFirstXbin;}
78 Int_t GetLastXbin() {return fLastXbin;}
79 Int_t GetFirstYbin() {return fFirstYbin;}
80 Int_t GetLastYbin() {return fLastYbin;}
81 Int_t GetNbinsX() {return fNxbins;}
82 Int_t GetNbinsY() {return fNybins;}
83 Int_t GetNEntries() {return fEntries;}
85 ClassDef(AliL3Histogram,1) //2D histogram class
90 inline TH2F *AliL3Histogram::GetRootHisto()
94 STDCERR<<"AliL3Histogram::GetRootHisto() : You must first Draw histogram before accessing it"<<STDENDL;
101 inline void *AliL3Histogram::GetRootHisto()
103 STDCERR<<"AliL3Histogram::GetRootHisto() : You must compile with ROOT in order to interface the ROOT histogram"<<STDENDL;