#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