]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/mapping/AliMpVSegmentation.h
Generates realistic DDL sharing and buspatch number calculated from DDL (Christian)
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpVSegmentation.h
index 60eff2ba9912bd2d2d8ab53f00a731e5701e414d..fe35b1b4f6a5b2f76187d04fd13eb1f56c327087 100644 (file)
@@ -2,7 +2,7 @@
  * See cxx source for full Copyright notice                               */
 
 // $Id$
-// $MpId: AliMpVSegmentation.h,v 1.6 2005/08/26 15:43:36 ivana Exp $
+// $MpId: AliMpVSegmentation.h,v 1.12 2006/05/24 13:58:07 ivana Exp $
 
 /// \ingroup basic
 /// \class AliMpVSegmentation
@@ -12,7 +12,7 @@
 /// conversion between pad indices, pad location, pad position;
 /// finding pad neighbour.
 ///
-/// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
+/// \author David Guez, Ivana Hrivnacova; IPN Orsay
 
 #ifndef ALI_MP_V_SEGMENTATION_H
 #define ALI_MP_V_SEGMENTATION_H
 
 #include "AliMpPadPair.h"
 #include "AliMpPad.h"
-
-class TVector2;
+#include "AliMpPlaneType.h"
 
 class AliMpVPadIterator;
 class AliMpIntPair;
 class AliMpArea;
 
+class TArrayI;
+class TVector2;
+
 class AliMpVSegmentation : public TObject
 {
   public:
@@ -39,22 +41,30 @@ class AliMpVSegmentation : public TObject
 
     // methods  
     virtual AliMpPad PadByLocation(const AliMpIntPair& location, 
-                               Bool_t warning) const = 0;
+                               Bool_t warning = true) const = 0;
     virtual AliMpPad PadByIndices (const AliMpIntPair& indices,  
-                               Bool_t warning) const = 0;
+                               Bool_t warning = true) const = 0;
     virtual AliMpPad PadByPosition(const TVector2& position,
-                               Bool_t warning) const = 0;
+                               Bool_t warning = true) const = 0;
 
     virtual AliMpPadPair PadsUp(const AliMpPad& pad) const;
     virtual AliMpPadPair PadsDown(const AliMpPad& pad) const;
     virtual AliMpPadPair PadsLeft(const AliMpPad& pad) const;
     virtual AliMpPadPair PadsRight(const AliMpPad& pad) const;
 
-    virtual Int_t  MaxPadIndexX() = 0;
-    virtual Int_t  MaxPadIndexY() = 0;
+    virtual Int_t  MaxPadIndexX() const = 0;
+    virtual Int_t  MaxPadIndexY() const = 0;
+    virtual Int_t  NofPads() const = 0;
 
     virtual Bool_t HasPad(const AliMpIntPair& indices) const = 0;
     
+    virtual void GetAllElectronicCardIDs(TArrayI& ecn) const = 0;
+
+    virtual AliMpPlaneType PlaneType() const = 0;
+    
+    /// Gives the half-sizes (in cm) of the underlying detection element.
+    virtual TVector2 Dimensions() const = 0;
+    
   private:  
     // methods
     AliMpPadPair FindPads(const TVector2& position1,