2 // $Id: AliHLTCALOMapper.h 34264 2009-08-14 18:29:23Z odjuvsla $
4 #ifndef ALIHLTCALOMAPPER_H
5 #define ALIHLTCALOMAPPER_H
8 /**************************************************************************
9 * This file is property of and copyright by the Experimental Nuclear *
10 * Physics Group, Dep. of Physics *
11 * University of Oslo, Norway, 2006 *
13 * Author: Per Thomas Hille perthi@fys.uio.no for the ALICE DCS Project. *
14 * Contributors are mentioned in the code where appropriate. *
15 * Please report bugs to perthi@fys.uio.no *
17 * Permission to use, copy, modify and distribute this software and its *
18 * documentation strictly for non-commercial purposes is hereby granted *
19 * without fee, provided that the above copyright notice appears in all *
20 * copies and that both the copyright notice and this permission notice *
21 * appear in the supporting documentation. The authors make no claims *
22 * about the suitability of this software for any purpose. It is *
23 * provided "as is" without express or implied warranty. *
24 **************************************************************************/
27 #include "AliHLTCaloConstants.h"
29 #include "AliHLTLogging.h"
31 using namespace CaloHLTConst;
34 class AliHLTCaloCoordinate;
36 class AliHLTCaloMapper : public AliHLTLogging
39 AliHLTCaloMapper(const unsigned long speficication);
40 virtual ~AliHLTCaloMapper();
41 virtual void InitAltroMapping( const unsigned long specification ) = 0;
42 virtual void InitDDLSpecificationMapping() = 0;
43 bool GetIsInitializedMapping();
45 int GetDDLFromSpec( const AliHLTUInt32_t spec );
46 static unsigned long GetSpecFromDDLIndex( const int ddlindex );
47 // UInt_t GetChannelID(const AliHLTUInt32_t spec, const Int_t hadd);
48 int GetChannelID(const AliHLTUInt32_t spec, const Int_t hadd);
49 static void ChannelId2Coordinate(const int channelId, AliHLTCaloCoordinate &channelCoord);
51 // static void GetLocalCoord(const int channelId, Float_t* localCoord) = 0;
53 virtual void GetLocalCoord(const int channelId, Float_t* localCoord) const = 0;
56 char fZRow; // Coordinate in Z direction (beam direction) relatve to one Module
57 char fXCol; // Coordinate in X direction (perpendicular too beam direction an parallell to ground) relatve to one Module
58 char fGain; // Gain (high gain = 1, low gain = 0)
61 struct fDDLSpecificationMap{
66 fAltromap *fHw2geomapPtr; //pointer to structure holding information about geometrical address
73 bool fIsInitializedMapping;
74 fDDLSpecificationMap* fSpecificationMapPtr;
78 AliHLTCaloMapper(const AliHLTCaloMapper & );
79 AliHLTCaloMapper & operator = (const AliHLTCaloMapper &);