1 #ifndef ALITRDARRAYDICTIONARY_H
2 #define ALITRDARRAYDICTIONARY_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
6 /* $Id: AliTRDarrayDictionary.h 23387 2008-01-17 17:25:16Z cblume $ */
8 ///////////////////////////////////////////////////
10 // Container Class for Dictionary Info //
12 ///////////////////////////////////////////////////
16 class AliTRDarrayDictionary: public TObject
21 AliTRDarrayDictionary();
22 AliTRDarrayDictionary(Int_t nrow, Int_t ncol, Int_t ntime);
23 AliTRDarrayDictionary(const AliTRDarrayDictionary &a);
24 ~AliTRDarrayDictionary();
25 AliTRDarrayDictionary &operator=(const AliTRDarrayDictionary &a);
27 void Allocate(Int_t nrow, Int_t ncol, Int_t ntime);
28 void SetNdet(Int_t ndet) {fNdet=ndet;};
29 Int_t GetNdet() const {return fNdet;};
30 void SetDataByAdcCol(Int_t nrow, Int_t ncol, Int_t ntime, Int_t value)
31 {fDictionary[(nrow*fNumberOfChannels+ncol)*fNtime+ntime]=value;};
32 Int_t GetDataByAdcCol(Int_t nrow, Int_t ncol, Int_t ntime) const
33 {return fDictionary[(nrow*fNumberOfChannels+ncol)*fNtime+ntime];};
34 Int_t GetDim() const {return fNDdim;};
38 Int_t GetData(Int_t nrow, Int_t ncol, Int_t ntime) const;
39 void SetData(Int_t nrow, Int_t ncol, Int_t ntime, Int_t value);
40 static void CreateLut();
41 Bool_t WasExpandCalled() const {return fFlag;};
45 Int_t fNdet; //ID number of the chamber
46 Int_t fNrow; //Number of rows
47 Int_t fNcol; //Number of columns
48 Int_t fNumberOfChannels; // Number of MCM channels per row
49 Int_t fNtime; //Number of time bins
50 Int_t fNDdim; //Dimension of the Dictionary array
51 Int_t* fDictionary; //[fNDdim] //Pointer to integers array
52 Bool_t fFlag; //! Has Expand() being called before?
53 static Short_t *fgLutPadNumbering; // [fNcol] Look Up Table
55 ClassDef(AliTRDarrayDictionary,7) //Dictionary container class