]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/AliTRDarrayDictionary.h
minor code cleanup and coding rules
[u/mrichter/AliRoot.git] / TRD / AliTRDarrayDictionary.h
1 #ifndef ALITRDARRAYDICTIONARY_H\r
2 #define ALITRDARRAYDICTIONARY_H\r
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * \r
4  * See cxx source for full Copyright notice */ \r
5 \r
6 /* $Id: AliTRDarrayDictionary.h 23387 2008-01-17 17:25:16Z cblume $ */\r
7 \r
8 ///////////////////////////////////////////////////\r
9 //                                               //\r
10 // Container Class for Dictionary Info           //\r
11 //                                               //\r
12 ///////////////////////////////////////////////////\r
13 \r
14 #include <TObject.h>\r
15 \r
16 class AliTRDarrayDictionary: public TObject\r
17 {\r
18 \r
19  public:\r
20 \r
21   AliTRDarrayDictionary();\r
22   AliTRDarrayDictionary(Int_t nrow, Int_t ncol, Int_t ntime);\r
23   AliTRDarrayDictionary(const AliTRDarrayDictionary &a);\r
24   ~AliTRDarrayDictionary();\r
25   AliTRDarrayDictionary &operator=(const AliTRDarrayDictionary &a);\r
26 \r
27   void  Allocate(Int_t nrow, Int_t ncol, Int_t ntime);\r
28   void  SetNdet(Int_t ndet) {fNdet=ndet;};  \r
29   Int_t GetNdet()  const {return fNdet;};\r
30   void  SetDataByAdcCol(Int_t nrow, Int_t ncol, Int_t ntime, Int_t value)\r
31                        {fDictionary[(nrow*fNumberOfChannels+ncol)*fNtime+ntime]=value;};\r
32   Int_t GetDataByAdcCol(Int_t nrow, Int_t ncol, Int_t ntime) const\r
33                {return fDictionary[(nrow*fNumberOfChannels+ncol)*fNtime+ntime];};\r
34   Int_t GetDim() const {return fNDdim;};\r
35   void  Compress();\r
36   void  Expand();\r
37   void  Reset();\r
38   Int_t GetData(Int_t nrow, Int_t ncol, Int_t ntime) const;\r
39   void  SetData(Int_t nrow, Int_t ncol, Int_t ntime, Int_t value);\r
40   static  void    CreateLut();\r
41   Bool_t WasExpandCalled() const {return fFlag;};\r
42 \r
43  protected:\r
44 \r
45   Int_t   fNdet;        //ID number of the chamber\r
46   Int_t   fNrow;        //Number of rows\r
47   Int_t   fNcol;        //Number of columns\r
48   Int_t   fNumberOfChannels;  //  Number of MCM channels per row\r
49   Int_t   fNtime;       //Number of time bins\r
50   Int_t   fNDdim;       //Dimension of the Dictionary array\r
51   Int_t*  fDictionary;  //[fNDdim]  //Pointer to integers array\r
52   Bool_t  fFlag;        //! Has Expand() being called before?\r
53   static Short_t *fgLutPadNumbering;   //  [fNcol] Look Up Table\r
54 \r
55   ClassDef(AliTRDarrayDictionary,7) //Dictionary container class\r
56     \r
57 };\r
58 #endif\r