]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/mapping/AliMpSlat.h
bugfix: stopwatches for HLT benchmarks had been resumed at wrong point and measuremen...
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpSlat.h
index a64e378fd79db66c3e0af773ae1274084c5d344f..1242b0683023d1fcbbf2ca907da9e3e768f05b27 100644 (file)
@@ -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