]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSMapper.h
Online display: The raw data display now works again
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSMapper.h
1 //-*- Mode: C++ -*-
2 // $Id$
3
4 #ifndef ALIHLTPHOSMAPPER_H
5 #define ALIHLTPHOSMAPPER_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
26 //#include "AliHLTPHOSBase.h"
27
28 //using namespace PhosHLTConst;
29 #include "Rtypes.h"
30 #include "AliHLTLogging.h"
31
32 #include "AliPHOSEMCAGeometry.h"
33
34 class AliHLTPHOSCoordinate;
35
36 class AliHLTPHOSMapper : public AliHLTLogging
37 //class AliHLTPHOSMapper 
38 {
39  public:
40   AliHLTPHOSMapper();
41   virtual ~AliHLTPHOSMapper();
42   void InitAltroMapping(); 
43   void InitDDLSpecificationMapping();
44   bool GetIsInitializedMapping();
45   char* GetFilePath();
46
47   UShort_t GetChannelID(Int_t specification, Int_t hwAddress);
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);
51   int GetDDLFromSpec(Int_t specification);
52   int GetModuleFromSpec(Int_t specification);
53
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)
58   };
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   };
67
68   fAltromap *fHw2geomapPtr; //pointer to structure holding information about geometrical address 
69
70
71   char fFilepath[1024];
72
73  private:
74   bool fIsInitializedMapping;
75   AliHLTPHOSMapper(const AliHLTPHOSMapper & );
76   AliHLTPHOSMapper & operator = (const AliHLTPHOSMapper &);
77   
78   fDDLSpecificationMap* fSpecificationMapPtr;
79   //AliPHOSEMCAGeometry fPHOSGeometry;
80   static const Float_t fCellStep = 2.2;//2.*fPHOSGeometry.GetAirCellHalfSize()[0];
81 };
82
83 #endif