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