Update TRD code from C.Blume
[u/mrichter/AliRoot.git] / TRD / AliTRDmatrix.h
1 #ifndef TRDmatrix_h
2 #define TRDmatrix_h
3
4 #include <TObject.h>
5 #include <TObjArray.h>
6 #include <TH2.h>
7 #include <TH3.h>
8 #include <TStyle.h>
9 #include <TCanvas.h>
10 #include "AliTRDpixel.h"
11
12 ///////////////////////////////////////////////////////
13 //  Stores the pixel-information of one TRD chamber  //
14 ///////////////////////////////////////////////////////
15
16 class AliTRDmatrix : public TObject {
17
18 protected:
19   Int_t         fRow;            // Number of pad-rows
20   Int_t         fCol;            // Number of pad-columns
21   Int_t         fTime;           // Number of time buckets
22   Int_t         fPixel;          // Number of pixels
23   Int_t         fSector;         // Sector number
24   Int_t         fChamber;        // Chamber number
25   Int_t         fPlane;          // Plane number
26   TObjArray    *fPixelArray;     // Array of pixels
27
28   virtual Int_t        GetIndex(Int_t iRow, Int_t iCol, Int_t iTime);
29   virtual AliTRDpixel *GetPixel(Int_t iRow, Int_t iCol, Int_t iTime);
30
31 public:
32   AliTRDmatrix();
33   AliTRDmatrix(Int_t nRow, Int_t nCol, Int_t nTime, Int_t iSec, Int_t iCha, Int_t iPla);
34   virtual ~AliTRDmatrix();
35
36   virtual void         AddSignal(Int_t iRow, Int_t iCol, Int_t iTime, Float_t signal);
37   virtual Bool_t       AddTrack(Int_t iRow, Int_t iCol, Int_t iTime, Int_t track);
38
39   virtual void         Draw();
40   virtual void         DrawRow(Int_t iRow);
41   virtual void         DrawCol(Int_t iCol);
42   virtual void         DrawTime(Int_t iTime);
43
44   virtual void         SetSignal(Int_t iRow, Int_t iCol, Int_t iTime, Float_t signal);
45   virtual void         SetTrack(Int_t iRow, Int_t iCol, Int_t iTime
46                               , Int_t iTrack, Int_t track);
47
48   virtual Float_t      GetSignal(Int_t iRow, Int_t iCol, Int_t iTime);
49   virtual Int_t        GetTrack(Int_t iRow, Int_t iCol, Int_t iTime, Int_t iTrack);
50
51   virtual Int_t        GetSector()  { return fSector;  };
52   virtual Int_t        GetChamber() { return fChamber; };
53   virtual Int_t        GetPlane()   { return fPlane;   };
54
55   ClassDef(AliTRDmatrix,1)
56
57 };
58
59 #endif