]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/mapping/AliMpVSegmentation.h
Changing Digit by VDigit (Laurent)
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpVSegmentation.h
index 81e33ff1d29ce2fabd22abde9e3f57f7120ef1e6..417192897286817a67040464c40861a19416c9df 100644 (file)
@@ -2,7 +2,7 @@
  * See cxx source for full Copyright notice                               */
 
 // $Id$
-// $MpId: AliMpVSegmentation.h,v 1.10 2006/03/17 11:34:29 ivana Exp $
+// $MpId: AliMpVSegmentation.h,v 1.12 2006/05/24 13:58:07 ivana Exp $
 
 /// \ingroup basic
 /// \class AliMpVSegmentation
@@ -12,7 +12,8 @@
 /// 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;
+///         Laurent Aphecetche, SUBATECH
 
 #ifndef ALI_MP_V_SEGMENTATION_H
 #define ALI_MP_V_SEGMENTATION_H
@@ -29,6 +30,7 @@ class AliMpArea;
 
 class TArrayI;
 class TVector2;
+class TObjArray;
 
 class AliMpVSegmentation : public TObject
 {
@@ -36,14 +38,28 @@ class AliMpVSegmentation : public TObject
     AliMpVSegmentation();
     virtual ~AliMpVSegmentation();
   
-    // factory method 
+    // factory methods
+    /// Create iterator over pads in the given area 
     virtual AliMpVPadIterator* CreateIterator(const AliMpArea& area) const = 0;
 
-    // methods  
+    /// Create a pad iterator over the whole area
+    virtual AliMpVPadIterator* CreateIterator() const = 0;
+    
+    /// Fill the array with the pads that are neighbours of pad. Returns
+    /// the number of neighbours.
+    virtual Int_t GetNeighbours(const AliMpPad& pad, TObjArray& neighbours,
+                                Bool_t includeSelf=kFALSE,
+                                Bool_t includeVoid=kFALSE) const = 0;
+
+    // methods 
+    //
+            /// Find pad by location
     virtual AliMpPad PadByLocation(const AliMpIntPair& location, 
                                Bool_t warning = true) const = 0;
+            /// Find pad by indices
     virtual AliMpPad PadByIndices (const AliMpIntPair& indices,  
                                Bool_t warning = true) const = 0;
+            /// Find pad by position
     virtual AliMpPad PadByPosition(const TVector2& position,
                                Bool_t warning = true) const = 0;
 
@@ -52,17 +68,23 @@ class AliMpVSegmentation : public TObject
     virtual AliMpPadPair PadsLeft(const AliMpPad& pad) const;
     virtual AliMpPadPair PadsRight(const AliMpPad& pad) const;
 
+            /// Return maximum pad index in X direction
     virtual Int_t  MaxPadIndexX() const = 0;
+            /// Return maximum pad index in Y direction
     virtual Int_t  MaxPadIndexY() const = 0;
+            /// Return the number of pads in the detection element
     virtual Int_t  NofPads() const = 0;
 
+            /// Return true if the pad with given indices exists
     virtual Bool_t HasPad(const AliMpIntPair& indices) const = 0;
     
+            /// Fill the given array with the electronic card IDs
     virtual void GetAllElectronicCardIDs(TArrayI& ecn) const = 0;
 
-    virtual AliMpPlaneType PlaneType() const = 0;
+            /// Return the plane type
+    virtual AliMp::PlaneType PlaneType() const = 0;
     
-    /// Gives the half-sizes (in cm) of the underlying detection element.
+            /// Return the half-sizes of the detection element
     virtual TVector2 Dimensions() const = 0;
     
   private: