Corrected version of TPC altro mapping class
[u/mrichter/AliRoot.git] / TPC / AliTPCAltroMapping.h
1 #ifndef ALITPCALTROMAPPING_H
2 #define ALITPCALTROMAPPING_H
3 /* Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 //////////////////////////////////////////////////////////
7 // Class used to setup the mapping of hardware adresses //
8 // in ALTRO to pad-rows and pad indeces.                //
9 // The mapping is defined in an external mapping files  //
10 // separately. The class derives from the base altro    //
11 // mapping class defined in the RAW package.            //
12 //////////////////////////////////////////////////////////
13
14 #include "AliAltroMapping.h"
15
16 class AliTPCAltroMapping: public AliAltroMapping {
17  public:
18   AliTPCAltroMapping(const char *mappingFile);
19   virtual ~AliTPCAltroMapping();
20
21   AliTPCAltroMapping(const AliTPCAltroMapping& mapping);
22   AliTPCAltroMapping& operator = (const AliTPCAltroMapping& mapping);
23
24   virtual Int_t GetHWAddress(Int_t padrow, Int_t pad, Int_t sector) const;
25   virtual Int_t GetPadRow(Int_t hwAddress) const;
26   virtual Int_t GetPad(Int_t hwAddress) const;
27   virtual Int_t GetSector(Int_t hwAddress) const;
28
29  protected:
30   virtual Bool_t ReadMapping();
31   virtual void   DeleteMappingArrays();
32
33   Int_t     fMinPadRow;        // Minimum Index of pad-row
34   Int_t     fMaxPadRow;        // Maximum Index of pad-row
35   Int_t     fMaxPad;           // Maximum Index of pad inside row
36   Short_t **fMapping;          // Array which connects hardware adresses to pad and pad-row indeces
37   Short_t **fInvMapping;       // Inverse of fMapping
38
39   ClassDef(AliTPCAltroMapping,1)  // Altro mapping handler class
40 };
41
42 #endif