]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/hough/AliL3Histogram.h
Checking in latest changes.
[u/mrichter/AliRoot.git] / HLT / hough / AliL3Histogram.h
1 #ifndef ALIL3_HISTOGRAM
2 #define ALIL3_HISTOGRAM
3
4 #include "AliL3RootTypes.h"
5 #include <TH2.h>
6
7
8 class AliL3Histogram {
9   
10  private:
11   
12   Double_t *fContent; //!
13   Char_t fName[100];
14   Int_t fNxbins;
15   Int_t fNybins;
16   Int_t fNcells;
17   Int_t fEntries;
18   Int_t fFirstXbin;
19   Int_t fFirstYbin;
20   Int_t fLastXbin;
21   Int_t fLastYbin;
22   Int_t fThreshold;
23
24   Double_t fXmin;
25   Double_t fYmin;
26   Double_t fXmax;
27   Double_t fYmax;
28
29 #ifdef use_root
30   TH2F *fRootHisto;
31 #endif  
32
33  public:
34   AliL3Histogram();
35   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);
36   virtual ~AliL3Histogram();
37   
38   void Reset();
39   void Fill(Double_t x,Double_t y,Int_t weight=1);
40   Int_t FindBin(Double_t x,Double_t y);
41   Int_t FindXbin(Double_t x);
42   Int_t FindYbin(Double_t y);
43   Int_t GetBin(Int_t xbin,Int_t ybin);
44   Double_t GetBinContent(Int_t bin);
45   void SetBinContent(Int_t xbin,Int_t ybin,Int_t value);
46   void SetBinContent(Int_t bin,Int_t value);
47   void AddBinContent(Int_t xbin,Int_t ybin,Int_t weight);
48   void AddBinContent(Int_t bin,Int_t weight);
49   void Add(AliL3Histogram *h1,Double_t weight=1);
50   void SetThreshold(Int_t i) {fThreshold = i;}
51
52 #ifdef use_root
53   void Draw(Char_t *option="hist");
54   TH2F *GetRootHisto() {return fRootHisto;}
55 #endif
56     
57   Double_t GetXmin() {return fXmin;}
58   Double_t GetXmax() {return fXmax;}
59   Double_t GetYmin() {return fYmin;}
60   Double_t GetYmax() {return fYmax;}
61   Double_t GetBinCenterX(Int_t xbin);
62   Double_t GetBinCenterY(Int_t ybin);
63   Int_t GetFirstXbin() {return fFirstXbin;}
64   Int_t GetLastXbin() {return fLastXbin;}
65   Int_t GetFirstYbin() {return fFirstYbin;}
66   Int_t GetLastYbin() {return fLastYbin;}
67   Int_t GetNbinsX() {return fNxbins;}
68   Int_t GetNbinsY() {return fNybins;}
69   Int_t GetNEntries() {return fEntries;}
70   
71   
72   ClassDef(AliL3Histogram,1) //2D histogram class
73     
74 };
75
76 #endif