AliAlignObj(const AliAlignObj& theAlignObj);
AliAlignObj& operator= (const AliAlignObj& theAlignObj);
virtual ~AliAlignObj();
- enum ELayerID{kSPD1=1, kSPD2=2,
+ enum ELayerID{kFirstLayer=1,
+ kSPD1=1, kSPD2=2,
kSDD1=3, kSDD2=4,
kSSD1=5, kSSD2=6,
kTPC1=7, kTPC2=8,
kTOF=15,
kPHOS1=16, kPHOS2=17,
kRICH=18,
- kMUON=19};
+ kMUON=19,
+ kLastLayer=20};
//Setters
virtual void SetTranslation(Double_t x, Double_t y, Double_t z) = 0;
Double_t theta, Double_t phi) = 0;
virtual void SetMatrix(const TGeoMatrix& m) = 0;
void SetVolPath(const TString& volpath) {fVolPath=volpath;}
- void SetVolUID(const UShort_t voluid) {fVolUID=voluid;}
+ void SetVolUID(UShort_t voluid) {fVolUID=voluid;}
void SetVolUID(ELayerID layerId, Int_t modId);
//Getters
void Print(Option_t *) const;
+ static Int_t LayerSize(Int_t layer) { return fgLayerSize[layer]; }
+ static const char* LayerName(Int_t layer) { return fgLayerName[layer]; }
+
static UShort_t LayerToVolUID(ELayerID layerId, Int_t modId);
static ELayerID VolUIDToLayer(UShort_t voluid, Int_t &modId);
static ELayerID VolUIDToLayer(UShort_t voluid);
Bool_t MatrixToAngles(const Double_t *rot, Double_t *angles) const;
//Volume identifiers
- TString fVolPath; // Volume path inside TGeo geometry
- UShort_t fVolUID; // Unique volume ID
+ TString fVolPath; // Volume path inside TGeo geometry
+ UShort_t fVolUID; // Unique volume ID
+
+ static Int_t fgLayerSize[kLastLayer - kFirstLayer];
+ static const char* fgLayerName[kLastLayer - kFirstLayer];
ClassDef(AliAlignObj, 1)
};