#ifndef ALISPDUTILS_H
#define ALISPDUTILS_H
#include "TObject.h"
class AliSPDUtils : public TObject {
public:
AliSPDUtils(){;}
virtual ~AliSPDUtils();
static Int_t GetModuleNumber(UInt_t iDDL, UInt_t iModule);
static Int_t GetModuleNumber(UInt_t iDDL, UInt_t iHS, UInt_t iChip) {return GetOfflineModuleFromOnline(iDDL,iHS,iChip);}
static Bool_t OfflineToOnline(UInt_t module, UInt_t colM, UInt_t RowM, UInt_t& eq, UInt_t& hs, UInt_t& chip, UInt_t& col, UInt_t& row);
static Bool_t OnlineToOffline(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row, UInt_t& module, UInt_t& colM, UInt_t& rowM);
static Bool_t GetOfflineFromOfflineChipKey(UInt_t chipkey,UInt_t& module, UInt_t& chip);
static UInt_t GetOnlineEqIdFromOffline(UInt_t module);
static UInt_t GetOnlineHSFromOffline(UInt_t module);
static UInt_t GetOnlineChipFromOffline(UInt_t module, UInt_t colM);
static UInt_t GetOnlineColFromOffline(UInt_t module, UInt_t colM);
static UInt_t GetOnlineRowFromOffline(UInt_t module, UInt_t rowM);
static Bool_t GetOnlineFromOfflineChipKey(UInt_t chipkey,UInt_t& eq, UInt_t& hs, UInt_t& chip);
static UInt_t GetOfflineModuleFromOnline(UInt_t eqId, UInt_t hs, UInt_t chip);
static UInt_t GetOfflineChipKeyFromOnline(UInt_t eqId, UInt_t hs, UInt_t chip);
static UInt_t GetOfflineColFromOnline(UInt_t eqId, UInt_t hs, UInt_t chip, UInt_t col);
static UInt_t GetOfflineRowFromOnline(UInt_t eqId, UInt_t hs, UInt_t chip, UInt_t row);
private :
static const Int_t fgkDDLModuleMap[20][12];
AliSPDUtils& operator= (const AliSPDUtils& c);
AliSPDUtils(const AliSPDUtils& c);
ClassDef(AliSPDUtils,0);
};
#endif