]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/CALO/AliHLTCaloMapper.h
Updated SNM Glauber fit
[u/mrichter/AliRoot.git] / HLT / CALO / AliHLTCaloMapper.h
index e44311217086063754bf6ad000e65520aed0fb13..520a11c1221ac9261561b5a7239f4c814750721f 100644 (file)
 #include "AliHLTCaloConstants.h"
 #include "Rtypes.h"
 #include "AliHLTLogging.h"
+#include "AliHLTCaloConstantsHandler.h"
 
-using namespace CaloHLTConst;
-
+#define FILEPATHMAXLENGTH 1024
 
 class AliHLTCaloCoordinate;
 
-class AliHLTCaloMapper : public AliHLTLogging
+class AliHLTCaloMapper : public AliHLTCaloConstantsHandler, public AliHLTLogging
 {
 public:
-  AliHLTCaloMapper(const unsigned long speficication);
+
+  AliHLTCaloMapper(const unsigned long specification, TString det);
   virtual ~AliHLTCaloMapper();
-  virtual void InitAltroMapping( const unsigned long specification ) = 0; 
+  virtual Bool_t InitAltroMapping( const unsigned long specification ) = 0; 
   virtual void InitDDLSpecificationMapping() = 0;
   bool GetIsInitializedMapping();
-  char* GetFilePath();
+  virtual char* GetFilePath();
+  virtual int  GetChannelID(const AliHLTUInt32_t spec, const Int_t hadd);
+  static void GetChannelCoord(const UShort_t channelId, UShort_t* channelCoord);
+  static void ChannelId2Coordinate(const int channelId,    AliHLTCaloCoordinate &channelCoord);
+  virtual void GetLocalCoord(const int channelId, Float_t* localCoord) const; 
   int GetDDLFromSpec( const AliHLTUInt32_t spec );
+  int GetModuleFromSpec(UInt_t specification);
   static unsigned long GetSpecFromDDLIndex( const int ddlindex );
-  //  UInt_t  GetChannelID(const AliHLTUInt32_t spec, const Int_t hadd);
-  int  GetChannelID(const AliHLTUInt32_t spec, const Int_t hadd);
-  static void ChannelId2Coordinate(const int channelId,    AliHLTCaloCoordinate &channelCoord);
-
-  // static void GetLocalCoord(const int channelId, Float_t* localCoord) = 0; 
   
-  virtual void GetLocalCoord(const int channelId, Float_t* localCoord) const = 0; 
 
  struct fAltromap{ 
     char fZRow; // Coordinate in Z direction (beam direction) relatve to one Module
     char fXCol; // Coordinate in X direction (perpendicular too beam direction an parallell to ground) relatve to one Module
     char fGain; // Gain (high gain = 1, low gain = 0)
   };
-  
   struct fDDLSpecificationMap{ 
-    char fModId; 
+    UInt_t fRcuX; // Coordinate in Z direction (beam direction) relatve too one RCU
+    UInt_t fRcuZ; // Coordinate in X direction (perpendicular too beam direction an parallell to ground) relatve too one RCU
+    UInt_t fRcuXOffset;
+    UInt_t fRcuZOffset;
+    int fModId; 
   };
   
+//   struct fDDLSpecificationMap{ 
+//     char fModId; 
+//   };
+  
 
   fAltromap *fHw2geomapPtr; //pointer to structure holding information about geometrical address 
 
-  char fFilepath[1024];
+  char fFilepath[FILEPATHMAXLENGTH];
 
 protected:
   float fCellSize;
   int fSpecification;
   bool fIsInitializedMapping;
   fDDLSpecificationMap* fSpecificationMapPtr;
+  TString fCaloDet;
   
  private:
   AliHLTCaloMapper();
   AliHLTCaloMapper(const AliHLTCaloMapper & );
   AliHLTCaloMapper & operator = (const AliHLTCaloMapper &);
   
+
+  ClassDef(AliHLTCaloMapper, 1);
+
 };
 
 #endif