Fix for 64-bit platforms
[u/mrichter/AliRoot.git] / RAW / AliCaloAltroMapping.h
CommitLineData
d84933b0 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
22class AliCaloAltroMapping: public AliAltroMapping {
23 public:
24 AliCaloAltroMapping(const char *mappingFile);
25 virtual ~AliCaloAltroMapping();
26
27 AliCaloAltroMapping(const AliCaloAltroMapping& mapping);
28 AliCaloAltroMapping& operator = (const AliCaloAltroMapping& mapping);
29
30 // In case of PHOS/EMCAL the relevant segmentation is row-column-gain
31 // or eta-phi-gain
32 virtual Int_t GetHWAddress(Int_t row, Int_t column, Int_t gain) const;
33 // Get Row (not pad-row as in the base class)
34 virtual Int_t GetPadRow(Int_t hwAddress) const;
35 // Get Column (not pad as in the base class)
36 virtual Int_t GetPad(Int_t hwAddress) const;
37 // Get Gain (0/1) (not sector as in the base class)
38 virtual Int_t GetSector(Int_t hwAddress) const;
39
40 protected:
41 virtual Bool_t ReadMapping();
42 virtual void DeleteMappingArrays();
43
44 Int_t fMinRow; // Minimum row index
45 Int_t fMaxRow; // Maximum row index
46 Int_t fMinCol; // Minimum column index
47 Int_t fMaxCol; // Maximum column index
48 Short_t **fMapping; // Array which connects hardware adresses to row and column indeces
49 Short_t **fInvMappingLow; // Inverse of fMapping (Low gain)
50 Short_t **fInvMappingHigh;// Inverse of fMapping (High gain)
51
52 ClassDef(AliCaloAltroMapping,1) // Altro mapping handler class
53};
54
55#endif