]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/mapping/AliMpSector.h
Updated comments for Doxygen - corrected warnings
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpSector.h
index 303c71c9db072b1762166b54cf9e92a1bdbd645c..69b6e7f55de4821f4227a13aad4a8ccf3de0b909 100755 (executable)
@@ -2,23 +2,34 @@
  * See cxx source for full Copyright notice                               */
 
 // $Id$
-// $MpId: AliMpSector.h,v 1.8 2005/09/02 10:00:49 ivana Exp $
+// $MpId: AliMpSector.h,v 1.14 2006/05/24 13:58:21 ivana Exp $
 
 /// \ingroup sector
 /// \class AliMpSector
 /// \brief A sector (quadrant) of the MUON chamber of stations 1 and 2.
 ///
-/// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
+/// \author David Guez, Ivana Hrivnacova; IPN Orsay
 
 #ifndef ALI_MP_SECTOR_H
 #define ALI_MP_SECTOR_H
 
-#include <TObject.h>
+#include <TNamed.h>
+
+#include "AliMpContainers.h"
+
+#include "AliMpDirection.h"
+#include "AliMpPlaneType.h"
+#include "AliMpIntPair.h"
+
 #include <TString.h>
 #include <TVector2.h>
+#ifdef WITH_ROOT
+#include <TObjArray.h>
+#endif
 
-#include "AliMpSectorTypes.h"
-#include "AliMpDirection.h"
+#ifdef WITH_STL
+#include <vector>
+#endif
 
 class AliMpZone;
 class AliMpRow;
@@ -27,8 +38,20 @@ class AliMpVMotif;
 class AliMpVPadIterator;
 class AliMpMotifMap;
 
-class AliMpSector : public TObject
+class TArrayI;
+
+class AliMpSector : public TNamed
 {
+  public:
+#ifdef WITH_STL
+    typedef std::vector<AliMpRow*> RowVector;
+    typedef std::vector<AliMpZone*> ZoneVector;
+#endif
+#ifdef WITH_ROOT
+    typedef TObjArray  RowVector;
+    typedef TObjArray  ZoneVector;
+#endif
+
   public:
     AliMpSector(const TString& id, Int_t nofZones, Int_t nofRows,
                 AliMpDirection direction, const TVector2& offset);
@@ -56,14 +79,27 @@ class AliMpSector : public TObject
     TVector2  Position() const;
     TVector2  Dimensions() const;
    
+    //
     // get methods
+
     Int_t       GetNofZones() const;
     AliMpZone*  GetZone(Int_t i) const;    
+
     Int_t       GetNofRows() const;
     AliMpRow*   GetRow(Int_t i) const;
+
     AliMpDirection  GetDirection() const;  
+    AliMpPlaneType  GetPlaneType() const;  
+
     TVector2        GetMinPadDimensions() const;
+    AliMpIntPair    GetMaxPadIndices() const;
+    Int_t           GetNofPads() const;
+
     AliMpMotifMap*  GetMotifMap() const;
+    void            GetAllMotifPositionsIDs(TArrayI& ecn) const;
+    
+    virtual void Print(Option_t* opt="") const;
+    
     
   protected:
     AliMpSector(const AliMpSector& right);
@@ -76,17 +112,22 @@ class AliMpSector : public TObject
     void SetMotifPositions();
     void SetGlobalIndices();
     void SetMinPadDimensions();
+    void SetMaxPadIndices();
+    void SetNofPads();
 
     // data members        
-    TString    fID;       // sector ID
-    TVector2   fOffset;   // sector position
-    ZoneVector fZones;    // zones
-    RowVector  fRows;     // rows
-    AliMpMotifMap* fMotifMap; // motif map
-    AliMpDirection fDirection;// the direction of constant pad size
-    TVector2       fMinPadDimensions; // minimal pad dimensions
-
-  ClassDef(AliMpSector,1)  //Sector
+    TString    fID;       ///< sector ID
+    TVector2   fOffset;   ///< sector position
+    ZoneVector fZones;    ///< zones
+    RowVector  fRows;     ///< rows
+    AliMpMotifMap* fMotifMap; ///< motif map
+    AliMpDirection fDirection;///< the direction of constant pad size
+    TVector2       fMinPadDimensions; ///< minimal pad dimensions
+    AliMpIntPair   fMaxPadIndices;    ///< maximum pad indices    
+    Int_t          fNofPads;          ///<  total number of pads
+
+
+  ClassDef(AliMpSector,1)  // Sector
 };
 
 // inline functions
@@ -97,6 +138,12 @@ inline AliMpDirection AliMpSector::GetDirection() const
 inline TVector2   AliMpSector::GetMinPadDimensions() const
 { return fMinPadDimensions; }
 
+inline AliMpIntPair  AliMpSector::GetMaxPadIndices() const
+{ return fMaxPadIndices; }
+
+inline Int_t  AliMpSector::GetNofPads() const
+{ return fNofPads; }
+
 inline AliMpMotifMap* AliMpSector::GetMotifMap() const 
 { return fMotifMap; }