Line data Source code
1 : #ifndef ALICALOALTROMAPPING_H
2 : #define ALICALOALTROMAPPING_H
3 : /* Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. *
4 : * See cxx source for full Copyright notice */
5 :
6 : /* $Id$ */
7 :
8 : //////////////////////////////////////////////////////////
9 : // Class used to setup the mapping of hardware adresses //
10 : // in ALTRO to Calo cells (column and row index + //
11 : // low/high gain. //
12 : // The mapping is defined in an external mapping files //
13 : // separately. The class derives from the base altro //
14 : // mapping class defined in the RAW package. //
15 : //////////////////////////////////////////////////////////
16 :
17 : /// Exported from PHOS to be used also by EMCAL
18 : /// November 2006 Gustavo Conesa Balbastre
19 :
20 : #include "AliAltroMapping.h"
21 :
22 : class AliCaloAltroMapping: public AliAltroMapping {
23 : public:
24 : AliCaloAltroMapping();
25 : AliCaloAltroMapping(const char *mappingFile);
26 : virtual ~AliCaloAltroMapping();
27 :
28 : // In case of PHOS/EMCAL the relevant segmentation is row-column-gain
29 : // or eta-phi-gain
30 : virtual Int_t GetHWAddress(Int_t row, Int_t column, Int_t gain);
31 : // Get Row (not pad-row as in the base class)
32 : virtual Int_t GetPadRow(Int_t hwAddress) const;
33 : // Get Column (not pad as in the base class)
34 : virtual Int_t GetPad(Int_t hwAddress) const;
35 : // Get Gain (0/1) (not sector as in the base class)
36 : virtual Int_t GetSector(Int_t hwAddress) const;
37 :
38 : protected:
39 : virtual Bool_t ReadMapping();
40 : virtual Bool_t CreateInvMapping();
41 :
42 : Int_t fMinRow; // Minimum row index
43 : Int_t fMaxRow; // Maximum row index
44 : Int_t fMinCol; // Minimum column index
45 : Int_t fMaxCol; // Maximum column index
46 : Short_t *fInvMappingLow; //! Inverse of fMapping (Low gain)
47 : Short_t *fInvMappingHigh;//! Inverse of fMapping (High gain)
48 :
49 : private:
50 :
51 : AliCaloAltroMapping(const AliCaloAltroMapping& mapping);
52 : AliCaloAltroMapping& operator = (const AliCaloAltroMapping& mapping);
53 :
54 278 : ClassDef(AliCaloAltroMapping,3) // Altro mapping handler class
55 : };
56 :
57 : #endif
|