X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2Fmapping%2FAliMpSlat.h;h=1242b0683023d1fcbbf2ca907da9e3e768f05b27;hb=9d8f5e0103fa0e3eea6be62aca24594dc1fb9a95;hp=a64e378fd79db66c3e0af773ae1274084c5d344f;hpb=13e7956b8ab5b88a4cd989fa7a730705350b26b6;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/mapping/AliMpSlat.h b/MUON/mapping/AliMpSlat.h index a64e378fd79..1242b068302 100644 --- a/MUON/mapping/AliMpSlat.h +++ b/MUON/mapping/AliMpSlat.h @@ -51,24 +51,20 @@ class AliMpSlat : public TObject { public: -#ifdef WITH_ROOT - typedef Int_t Size_t; -#else - typedef UInt_t Size_t; -#endif - - AliMpSlat(); - AliMpSlat(const char* id, AliMpPlaneType bendingOrNonBending); + AliMpSlat(TRootIOCtor* ioCtor); + AliMpSlat(const char* id, AliMp::PlaneType bendingOrNonBending); virtual ~AliMpSlat(); TVector2 Dimensions() const; + + /// Return position TVector2 Position() const { return fPosition; } const char* GetName() const; const char* GetID() const; - void Add(AliMpPCB* pcbType, const TArrayI& manuList); + void Add(const AliMpPCB& pcbType, const TArrayI& manuList); Double_t DX() const; Double_t DY() const; @@ -76,25 +72,20 @@ class AliMpSlat : public TObject /// Find the PCB containing the pad at location (ix,any iy). AliMpPCB* FindPCB(Int_t ix) const; - /** Find the index of the PCB containing the pad at location ix. - Should not be needed except to comply with Sector(), Dpx(), Dpy() - interface of old AliMUONVGeometrySegmentation. - FIXME: Remove me when VGeometrySegmentation dies at last. - */ - Int_t FindPCBIndex(Int_t ix) const; - + /// Find the index of the PCB containing the pad at location ix. + Int_t FindPCBIndex(Int_t ix) const; + + /// Find the index of the PCB containing a given manu + Int_t FindPCBIndexByMotifPositionID(Int_t manuId) const; + /// Find the PCB containing location (x,y). AliMpPCB* FindPCB(Double_t x, Double_t y) const; - /** Find the index of the PCB containing the pad at location (x,y). - Should not be needed except to comply with Sector(), Dpx(), Dpy() - interface of old AliMUONVGeometrySegmentation. - FIXME: Remove me when VGeometrySegmentation dies at last. - */ - Int_t FindPCBIndex(Double_t x, Double_t y) const; + /// Find the index of the PCB containing the pad at location (x,y). + Int_t FindPCBIndex(Double_t x, Double_t y) const; /// Returns the i-th PCB of this slat. - AliMpPCB* GetPCB(Size_t i) const; + AliMpPCB* GetPCB(Int_t i) const; /// Returns the MotifPosition containing location (x,y). AliMpMotifPosition* FindMotifPosition(Double_t x, Double_t y) const; @@ -126,7 +117,7 @@ class AliMpSlat : public TObject Int_t GetNofPadsX() const; /// Returns the number of PCBs of this slat. - Size_t GetSize() const; + Int_t GetSize() const; void Print(Option_t* option="") const; @@ -135,16 +126,22 @@ class AliMpSlat : public TObject */ void ForcePosition(const TVector2& pos); - AliMpPlaneType PlaneType() const { return fPlaneType; } + /// Return the plane type + AliMp::PlaneType PlaneType() const { return fPlaneType; } + /// Return the number of pads in this slat Int_t NofPads() const { return fNofPads; } private: + /// Not implemented + AliMpSlat(); + /// Not implemented AliMpSlat(const AliMpSlat& rhs); + /// Not implemented AliMpSlat& operator=(const AliMpSlat& rhs); TString fId; ///< The name of this slat, e.g. 112233N - AliMpPlaneType fPlaneType; ///< Whether it's bending or non-bending plane + AliMp::PlaneType fPlaneType; ///< Whether it's bending or non-bending plane Double_t fDX; ///< Half-size in X (cm) Double_t fDY; ///< Half-size in Y (cm) Int_t fNofPadsX; ///< Actual number of pads in x direction