]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TRD/AliTRDarrayDictionary.h
Changes and bugfixes by Uwe
[u/mrichter/AliRoot.git] / TRD / AliTRDarrayDictionary.h
CommitLineData
b65e5048 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
16class 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
acf20e8f 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
b65e5048 34 Int_t GetDim() const {return fNDdim;};\r
35 void Compress();\r
36 void Expand();\r
705d9e7b 37 void Reset();\r
acf20e8f 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
d1ec112d 40 static void CreateLut();\r
641f6f80 41 Bool_t IsCompressed() const {return fFlag;}; \r
b65e5048 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
acf20e8f 48 Int_t fNumberOfChannels; // Number of MCM channels per row\r
b65e5048 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
641f6f80 52 Bool_t fFlag; //Flag in case of compressed array\r
f41a4d6a 53 static Short_t *fgLutPadNumbering; // [fNcol] Look Up Table\r
b65e5048 54\r
641f6f80 55 ClassDef(AliTRDarrayDictionary,5) //Dictionary container class\r
b65e5048 56 \r
57};\r
58#endif\r