]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/mapping/AliMpVRowSegmentSpecial.h
No need to be a singleton
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpVRowSegmentSpecial.h
index 0ac2687316608e0d860f4febe655ebc34b5a1533..4c7c7c808935f640c52d27d3a908cc30945b04b7 100644 (file)
@@ -38,13 +38,19 @@ class AliMpVRowSegmentSpecial : public AliMpVRowSegment
 {
   public:
 #ifdef WITH_STL
+    /// Pad row vector type
     typedef std::vector<AliMpPadRow*>  PadRowVector;
+    /// Motif vector type
     typedef std::vector<AliMpVMotif*>  MotifVector;
+    /// Motif position Id vector type
     typedef std::vector<Int_t>         MotifPositionIdVector;
 #endif
 #ifdef WITH_ROOT
+    /// Pad row vector type
     typedef  TObjArray  PadRowVector;
+    /// Motif vector type
     typedef  TObjArray  MotifVector;
+    /// Motif position Id vector type
     typedef  TArrayI    MotifPositionIdVector;
 #endif
 
@@ -53,31 +59,49 @@ class AliMpVRowSegmentSpecial : public AliMpVRowSegment
     AliMpVRowSegmentSpecial();
     virtual ~AliMpVRowSegmentSpecial();
     
+    //
     // methods
+    //
     void  AddPadRow(AliMpPadRow* padRow);
     void  UpdateMotifVector();
+    /// Update pads offset
     virtual void  UpdatePadsOffset() = 0;
+    /// Return the x coordinate of the left border in the global coordinate system.
     virtual Double_t  LeftBorderX() const = 0;
+    /// Return the x coordinate of the right border in the global coordinate system.
     virtual Double_t  RightBorderX() const= 0;
+    /// Return the half size in y of this row segment.
     virtual Double_t  HalfSizeY() const;
 
+    //
     // find methods
+    //
     virtual AliMpVMotif*  FindMotif(const TVector2& position) const;    
     virtual Int_t     FindMotifPositionId(const TVector2& position) const;
     virtual Bool_t    HasMotifPosition(Int_t motifPositionId) const;
     virtual TVector2  MotifCenter(Int_t motifPositionId) const;
 
+    //
     // geometry
+    //
+    /// Return the position of the row segment centre.
     virtual TVector2  Position() const = 0;
     virtual TVector2  Dimensions() const;
 
+    //
     // set methods
+    //
+    /// Calculate offset
     virtual void   SetOffset(const TVector2& /*offset*/) {}
+    /// Set global indices limits.
     virtual void   SetGlobalIndices(AliMpRow* rowBefore) = 0;
+    /// Set global indices to i-th motif position and returns next index in x.
     virtual Int_t  SetIndicesToMotifPosition(Int_t i, 
                              const AliMpIntPair& indices) = 0;
 
+    //
     // get methods
+    //
     virtual AliMpRow*     GetRow() const;
     virtual Int_t         GetNofMotifs() const;
     virtual AliMpVMotif*  GetMotif(Int_t i) const;
@@ -85,6 +109,7 @@ class AliMpVRowSegmentSpecial : public AliMpVRowSegment
 
   protected:
     // methods
+    /// Return the coordinates of the motif specified with the given motif position Id                                           \n
     virtual TVector2  MotifCenterSlow(Int_t motifPositionId) const = 0;
     AliMpPadRow*         FindPadRow(Double_t y) const;
     AliMpVPadRowSegment* FindPadRowSegment(Int_t motifPositionId) const;
@@ -98,12 +123,14 @@ class AliMpVRowSegmentSpecial : public AliMpVRowSegment
     Double_t      GetOffsetX() const;
 
   private:
+    /// Not implemented
     AliMpVRowSegmentSpecial(const AliMpVRowSegmentSpecial& right);
+    /// Not implemented
     AliMpVRowSegmentSpecial&  operator = (const AliMpVRowSegmentSpecial& right);
 
 #ifdef WITH_ROOT
     // static data members
-    static const Int_t  fgkMaxNofMotifPositionIds; // dimension of fMotifPositionIds
+    static const Int_t  fgkMaxNofMotifPositionIds; ///< dimension of fMotifPositionIds
 #endif    
 
     // data members
@@ -123,6 +150,7 @@ class AliMpVRowSegmentSpecial : public AliMpVRowSegment
 
 // inline functions
 
+/// Return the x position of the border that touches a standard row segment
 inline Double_t AliMpVRowSegmentSpecial::GetOffsetX() const
 { return fOffsetX; }