]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PHOS/AliPHOSAltroMapping.h
New FillESD() for raw data is added
[u/mrichter/AliRoot.git] / PHOS / AliPHOSAltroMapping.h
1 #ifndef ALIPHOSALTROMAPPING_H
2 #define ALIPHOSALTROMAPPING_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 PHOS cells (column and row index +       //
9 // low/high gain.                                       //
10 // The mapping is defined in an external mapping files  //
11 // separately. The class derives from the base altro    //
12 // mapping class defined in the RAW package.            //
13 //////////////////////////////////////////////////////////
14
15 #include "AliAltroMapping.h"
16
17 class AliPHOSAltroMapping: public AliAltroMapping {
18  public:
19   AliPHOSAltroMapping(const char *mappingFile);
20   virtual ~AliPHOSAltroMapping();
21
22   AliPHOSAltroMapping(const AliPHOSAltroMapping& mapping);
23   AliPHOSAltroMapping& operator = (const AliPHOSAltroMapping& mapping);
24
25   // In case of PHOS the relevant segmentation is row-column-gain
26   virtual Int_t GetHWAddress(Int_t row, Int_t column, Int_t gain) const;
27   // Get Row (not pad-row as in the base class)
28   virtual Int_t GetPadRow(Int_t hwAddress) const;
29   // Get Column (not pad as in the base class)
30   virtual Int_t GetPad(Int_t hwAddress) const;
31   // Get Gain (0/1) (not sector as in the base class)
32   virtual Int_t GetSector(Int_t hwAddress) const;
33
34  protected:
35   virtual Bool_t ReadMapping();
36   virtual void   DeleteMappingArrays();
37
38   Int_t     fMinRow;        // Minimum row index
39   Int_t     fMaxRow;        // Maximum row index
40   Int_t     fMinCol;        // Minimum column index
41   Int_t     fMaxCol;        // Maximum column index
42   Short_t **fMapping;       // Array which connects hardware adresses to row and column indeces
43   Short_t **fInvMappingLow; // Inverse of fMapping (Low gain)
44   Short_t **fInvMappingHigh;// Inverse of fMapping (High gain)
45
46   ClassDef(AliPHOSAltroMapping,1)  // Altro mapping handler class
47 };
48
49 #endif