Line data Source code
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 */
5 :
6 : /* $Id: AliTRDarrayDictionary.h 23387 2008-01-17 17:25:16Z cblume $ */
7 :
8 : ///////////////////////////////////////////////////
9 : // //
10 : // Container Class for Dictionary Info //
11 : // //
12 : ///////////////////////////////////////////////////
13 :
14 : #include <TObject.h>
15 :
16 : class AliTRDarrayDictionary: public TObject
17 : {
18 :
19 : public:
20 :
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);
26 :
27 : void Allocate(Int_t nrow, Int_t ncol, Int_t ntime);
28 132696 : void SetNdet(Int_t ndet) {fNdet=ndet;};
29 0 : Int_t GetNdet() const {return fNdet;};
30 : void SetDataByAdcCol(Int_t nrow, Int_t ncol, Int_t ntime, Int_t value)
31 0 : {fDictionary[(nrow*fNumberOfChannels+ncol)*fNtime+ntime]=value;};
32 : Int_t GetDataByAdcCol(Int_t nrow, Int_t ncol, Int_t ntime) const
33 0 : {return fDictionary[(nrow*fNumberOfChannels+ncol)*fNtime+ntime];};
34 125928 : Int_t GetDim() const {return fNDdim;};
35 : void Compress();
36 : void Expand();
37 : void Reset();
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 0 : Bool_t WasExpandCalled() const {return fFlag;};
42 :
43 : protected:
44 :
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
54 :
55 100 : ClassDef(AliTRDarrayDictionary,7) //Dictionary container class
56 :
57 : };
58 : #endif
|