]>
Commit | Line | Data |
---|---|---|
1b41ab20 | 1 | //-*- Mode: C++ -*- |
37ff2dd6 | 2 | // $Id$ |
1b41ab20 | 3 | |
2f09efe8 | 4 | #ifndef ALIHLTPHOSMAPPER_H |
5 | #define ALIHLTPHOSMAPPER_H | |
6 | ||
fec21787 | 7 | |
2f09efe8 | 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 * | |
12 | * * | |
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 * | |
16 | * * | |
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 | **************************************************************************/ | |
25 | ||
7eb756c1 | 26 | //#include "AliHLTPHOSBase.h" |
af6a2273 | 27 | |
28 | //using namespace PhosHLTConst; | |
94594220 | 29 | #include "Rtypes.h" |
30 | #include "AliHLTLogging.h" | |
87434909 | 31 | |
32 | #include "AliPHOSEMCAGeometry.h" | |
33 | ||
37ff2dd6 | 34 | class AliHLTPHOSCoordinate; |
35 | ||
94594220 | 36 | class AliHLTPHOSMapper : public AliHLTLogging |
37 | //class AliHLTPHOSMapper | |
2f09efe8 | 38 | { |
39 | public: | |
40 | AliHLTPHOSMapper(); | |
c37f821f | 41 | virtual ~AliHLTPHOSMapper(); |
42 | void InitAltroMapping(); | |
94594220 | 43 | void InitDDLSpecificationMapping(); |
8efbf5fe | 44 | bool GetIsInitializedMapping(); |
45 | char* GetFilePath(); | |
c37f821f | 46 | |
94594220 | 47 | UShort_t GetChannelID(Int_t specification, Int_t hwAddress); |
37ff2dd6 | 48 | static void GetChannelCoord(const UShort_t channelId, UShort_t* channelCoord); |
49 | static void ChannelId2Coordinate(const UShort_t channelId, AliHLTPHOSCoordinate &channelCoord ); | |
50 | static void GetLocalCoord(const UShort_t channelId, Float_t* localCoord); | |
f3df2ba0 | 51 | int GetDDLFromSpec(Int_t specification); |
b48632c9 | 52 | int GetModuleFromSpec(Int_t specification); |
94594220 | 53 | |
af6a2273 | 54 | struct fAltromap{ |
55 | int fZRow; // Coordinate in Z direction (beam direction) relatve too one RCU | |
56 | int fXCol; // Coordinate in X direction (perpendicular too beam direction an parallell to ground) relatve too one RCU | |
57 | int fGain; // Gain (high gain = 1, low gain = 0) | |
c37f821f | 58 | }; |
94594220 | 59 | |
60 | struct fDDLSpecificationMap{ | |
61 | UInt_t fRcuX; // Coordinate in Z direction (beam direction) relatve too one RCU | |
62 | UInt_t fRcuZ; // Coordinate in X direction (perpendicular too beam direction an parallell to ground) relatve too one RCU | |
63 | UInt_t fRcuXOffset; | |
64 | UInt_t fRcuZOffset; | |
65 | int fModId; | |
66 | }; | |
c37f821f | 67 | |
af6a2273 | 68 | fAltromap *fHw2geomapPtr; //pointer to structure holding information about geometrical address |
94594220 | 69 | |
70 | ||
8efbf5fe | 71 | char fFilepath[1024]; |
c37f821f | 72 | |
b444d727 | 73 | private: |
8efbf5fe | 74 | bool fIsInitializedMapping; |
b444d727 | 75 | AliHLTPHOSMapper(const AliHLTPHOSMapper & ); |
76 | AliHLTPHOSMapper & operator = (const AliHLTPHOSMapper &); | |
94594220 | 77 | |
78 | fDDLSpecificationMap* fSpecificationMapPtr; | |
87434909 | 79 | //AliPHOSEMCAGeometry fPHOSGeometry; |
80 | static const Float_t fCellStep = 2.2;//2.*fPHOSGeometry.GetAirCellHalfSize()[0]; | |
2f09efe8 | 81 | }; |
82 | ||
83 | #endif |