]>
Commit | Line | Data |
---|---|---|
178dd351 | 1 | //-*- Mode: C++ -*- |
3800a654 | 2 | // $Id: AliHLTCALOMapper.h 34264 2009-08-14 18:29:23Z odjuvsla $ |
178dd351 | 3 | |
4 | #ifndef ALIHLTCALOMAPPER_H | |
5 | #define ALIHLTCALOMAPPER_H | |
6 | ||
7 | ||
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 | ||
178dd351 | 26 | |
27 | #include "AliHLTCaloConstants.h" | |
178dd351 | 28 | #include "Rtypes.h" |
29 | #include "AliHLTLogging.h" | |
4f4b7ba4 | 30 | #include "AliHLTCaloConstantsHandler.h" |
178dd351 | 31 | |
32 | class AliHLTCaloCoordinate; | |
33 | ||
4f4b7ba4 | 34 | class AliHLTCaloMapper : public AliHLTCaloConstantsHandler, public AliHLTLogging |
178dd351 | 35 | { |
3800a654 | 36 | public: |
4f4b7ba4 | 37 | |
77f350f7 | 38 | AliHLTCaloMapper(const unsigned long specification, TString det); |
178dd351 | 39 | virtual ~AliHLTCaloMapper(); |
44175a17 | 40 | virtual Bool_t InitAltroMapping( const unsigned long specification ) = 0; |
178dd351 | 41 | virtual void InitDDLSpecificationMapping() = 0; |
178dd351 | 42 | bool GetIsInitializedMapping(); |
44175a17 | 43 | virtual char* GetFilePath(); |
77f350f7 | 44 | |
f137c3c5 | 45 | virtual int GetChannelID(const AliHLTUInt32_t spec, const Int_t hadd); |
44175a17 | 46 | static void GetChannelCoord(const UShort_t channelId, UShort_t* channelCoord); |
b850c417 | 47 | static void ChannelId2Coordinate(const int channelId, AliHLTCaloCoordinate &channelCoord); |
77f350f7 | 48 | virtual void GetLocalCoord(const int channelId, Float_t* localCoord) const; |
49 | int GetDDLFromSpec( const AliHLTUInt32_t spec ); | |
50 | int GetModuleFromSpec(Int_t specification); | |
51 | static unsigned long GetSpecFromDDLIndex( const int ddlindex ); | |
3800a654 | 52 | |
178dd351 | 53 | |
b850c417 | 54 | struct fAltromap{ |
55 | char fZRow; // Coordinate in Z direction (beam direction) relatve to one Module | |
56 | char fXCol; // Coordinate in X direction (perpendicular too beam direction an parallell to ground) relatve to one Module | |
57 | char fGain; // Gain (high gain = 1, low gain = 0) | |
178dd351 | 58 | }; |
178dd351 | 59 | struct fDDLSpecificationMap{ |
f137c3c5 | 60 | UInt_t fRcuX; // Coordinate in Z direction (beam direction) relatve too one RCU |
61 | UInt_t fRcuZ; // Coordinate in X direction (perpendicular too beam direction an parallell to ground) relatve too one RCU | |
62 | UInt_t fRcuXOffset; | |
63 | UInt_t fRcuZOffset; | |
64 | int fModId; | |
178dd351 | 65 | }; |
b850c417 | 66 | |
f137c3c5 | 67 | // struct fDDLSpecificationMap{ |
68 | // char fModId; | |
69 | // }; | |
70 | ||
178dd351 | 71 | |
72 | fAltromap *fHw2geomapPtr; //pointer to structure holding information about geometrical address | |
73 | ||
178dd351 | 74 | char fFilepath[1024]; |
75 | ||
76 | protected: | |
b850c417 | 77 | float fCellSize; |
3800a654 | 78 | int fSpecification; |
178dd351 | 79 | bool fIsInitializedMapping; |
80 | fDDLSpecificationMap* fSpecificationMapPtr; | |
4f4b7ba4 | 81 | |
178dd351 | 82 | private: |
3800a654 | 83 | AliHLTCaloMapper(); |
178dd351 | 84 | AliHLTCaloMapper(const AliHLTCaloMapper & ); |
85 | AliHLTCaloMapper & operator = (const AliHLTCaloMapper &); | |
3800a654 | 86 | |
4f4b7ba4 | 87 | |
88 | ClassDef(AliHLTCaloMapper, 1); | |
89 | ||
178dd351 | 90 | }; |
91 | ||
92 | #endif |