ROOT logo
#ifndef ALITRDARRAYDICTIONARY_H
#define ALITRDARRAYDICTIONARY_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * 
 * See cxx source for full Copyright notice */ 

/* $Id: AliTRDarrayDictionary.h 23387 2008-01-17 17:25:16Z cblume $ */

///////////////////////////////////////////////////
//                                               //
// Container Class for Dictionary Info           //
//                                               //
///////////////////////////////////////////////////

#include <TObject.h>

class AliTRDarrayDictionary: public TObject
{

 public:

  AliTRDarrayDictionary();
  AliTRDarrayDictionary(Int_t nrow, Int_t ncol, Int_t ntime);
  AliTRDarrayDictionary(const AliTRDarrayDictionary &a);
  ~AliTRDarrayDictionary();
  AliTRDarrayDictionary &operator=(const AliTRDarrayDictionary &a);

  void  Allocate(Int_t nrow, Int_t ncol, Int_t ntime);
  void  SetNdet(Int_t ndet) {fNdet=ndet;};  
  Int_t GetNdet()  const {return fNdet;};
  void  SetDataByAdcCol(Int_t nrow, Int_t ncol, Int_t ntime, Int_t value)
                       {fDictionary[(nrow*fNumberOfChannels+ncol)*fNtime+ntime]=value;};
  Int_t GetDataByAdcCol(Int_t nrow, Int_t ncol, Int_t ntime) const
               {return fDictionary[(nrow*fNumberOfChannels+ncol)*fNtime+ntime];};
  Int_t GetDim() const {return fNDdim;};
  void  Compress();
  void  Expand();
  void  Reset();
  Int_t GetData(Int_t nrow, Int_t ncol, Int_t ntime) const;
  void  SetData(Int_t nrow, Int_t ncol, Int_t ntime, Int_t value);
  static  void    CreateLut();
  Bool_t WasExpandCalled() const {return fFlag;};

 protected:

  Int_t   fNdet;        //ID number of the chamber
  Int_t   fNrow;        //Number of rows
  Int_t   fNcol;        //Number of columns
  Int_t   fNumberOfChannels;  //  Number of MCM channels per row
  Int_t   fNtime;       //Number of time bins
  Int_t   fNDdim;       //Dimension of the Dictionary array
  Int_t*  fDictionary;  //[fNDdim]  //Pointer to integers array
  Bool_t  fFlag;        //! Has Expand() being called before?
  static Short_t *fgLutPadNumbering;   //  [fNcol] Look Up Table

  ClassDef(AliTRDarrayDictionary,7) //Dictionary container class
    
};
#endif
 AliTRDarrayDictionary.h:1
 AliTRDarrayDictionary.h:2
 AliTRDarrayDictionary.h:3
 AliTRDarrayDictionary.h:4
 AliTRDarrayDictionary.h:5
 AliTRDarrayDictionary.h:6
 AliTRDarrayDictionary.h:7
 AliTRDarrayDictionary.h:8
 AliTRDarrayDictionary.h:9
 AliTRDarrayDictionary.h:10
 AliTRDarrayDictionary.h:11
 AliTRDarrayDictionary.h:12
 AliTRDarrayDictionary.h:13
 AliTRDarrayDictionary.h:14
 AliTRDarrayDictionary.h:15
 AliTRDarrayDictionary.h:16
 AliTRDarrayDictionary.h:17
 AliTRDarrayDictionary.h:18
 AliTRDarrayDictionary.h:19
 AliTRDarrayDictionary.h:20
 AliTRDarrayDictionary.h:21
 AliTRDarrayDictionary.h:22
 AliTRDarrayDictionary.h:23
 AliTRDarrayDictionary.h:24
 AliTRDarrayDictionary.h:25
 AliTRDarrayDictionary.h:26
 AliTRDarrayDictionary.h:27
 AliTRDarrayDictionary.h:28
 AliTRDarrayDictionary.h:29
 AliTRDarrayDictionary.h:30
 AliTRDarrayDictionary.h:31
 AliTRDarrayDictionary.h:32
 AliTRDarrayDictionary.h:33
 AliTRDarrayDictionary.h:34
 AliTRDarrayDictionary.h:35
 AliTRDarrayDictionary.h:36
 AliTRDarrayDictionary.h:37
 AliTRDarrayDictionary.h:38
 AliTRDarrayDictionary.h:39
 AliTRDarrayDictionary.h:40
 AliTRDarrayDictionary.h:41
 AliTRDarrayDictionary.h:42
 AliTRDarrayDictionary.h:43
 AliTRDarrayDictionary.h:44
 AliTRDarrayDictionary.h:45
 AliTRDarrayDictionary.h:46
 AliTRDarrayDictionary.h:47
 AliTRDarrayDictionary.h:48
 AliTRDarrayDictionary.h:49
 AliTRDarrayDictionary.h:50
 AliTRDarrayDictionary.h:51
 AliTRDarrayDictionary.h:52
 AliTRDarrayDictionary.h:53
 AliTRDarrayDictionary.h:54
 AliTRDarrayDictionary.h:55
 AliTRDarrayDictionary.h:56
 AliTRDarrayDictionary.h:57
 AliTRDarrayDictionary.h:58