]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/mapping/AliMpSectorSegmentation.h
Fixing Doxygen warnings
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpSectorSegmentation.h
index 98ee1d6e57287b9870d3e4d8305f91e608850ec9..a3e1d44a670a176c7246bdc435de0a19888b0b66 100755 (executable)
@@ -2,7 +2,7 @@
  * See cxx source for full Copyright notice                               */
 
 // $Id$
-// $MpId: AliMpSectorSegmentation.h,v 1.12 2006/03/14 09:03:48 ivana Exp $
+// $MpId: AliMpSectorSegmentation.h,v 1.15 2006/05/24 13:58:21 ivana Exp $
 
 /// \ingroup sector
 /// \class AliMpSectorSegmentation
 /// 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_SECTOR_SEGMENTATION_H
 #define ALI_MP_SECTOR_SEGMENTATION_H
 
-
-#include "AliMpContainers.h"
-
-#ifdef WITH_STL
-#include <map>
-#endif
-
-#ifdef WITH_ROOT
-#include <TExMap.h>
-#endif
-
-#include <TVector2.h>
-
 #include "AliMpVSegmentation.h"
 #include "AliMpPad.h"
 
+#include <TExMap.h>
+
 class AliMpSector;
 class AliMpMotifPosition;
 class AliMpVPadIterator;
-class AliMpIntPair;
 class AliMpArea;
 
 class AliMpSectorSegmentation : public AliMpVSegmentation
 {
   public:
-#ifdef WITH_STL
-    typedef std::map<Int_t, TVector2>         PadDimensionsMap;
-    typedef PadDimensionsMap::const_iterator  PadDimensionsMapCIterator;
-#endif
-#ifdef WITH_ROOT
-    typedef  TExMap      PadDimensionsMap;
-    typedef  TExMapIter  PadDimensionsMapCIterator;
-#endif
-
-  public:
-    AliMpSectorSegmentation(const AliMpSector* sector);
+    AliMpSectorSegmentation(const AliMpSector* sector, Bool_t own = false);
     AliMpSectorSegmentation();
     virtual ~AliMpSectorSegmentation();
     
     // factory methods  
     virtual AliMpVPadIterator* CreateIterator(const AliMpArea& area) const;
-    AliMpVPadIterator* CreateIterator(const AliMpPad& centerPad,
-                                  Bool_t includeCenter=kFALSE) const;
+    virtual AliMpVPadIterator* CreateIterator() const;
 
+    virtual Int_t GetNeighbours(const AliMpPad& pad, TObjArray& neighbours,
+                               Bool_t includeSelf = kFALSE,
+                               Bool_t includeVoid = kFALSE) const;
+    
     // methods  
-    virtual AliMpPad PadByLocation(const AliMpIntPair& location,
+    virtual AliMpPad PadByLocation(Int_t manuId, Int_t manuChannel,
                                Bool_t warning = kTRUE) const;
-    virtual AliMpPad PadByIndices (const AliMpIntPair& indices
+    virtual AliMpPad PadByIndices (Int_t ix, Int_t iy
                                Bool_t warning = kTRUE) const;
-    virtual AliMpPad PadByPosition(const TVector2& position ,
+    virtual AliMpPad PadByPosition(Double_t x, Double_t y,
                                Bool_t warning = kTRUE) const;
-    virtual AliMpPad PadByDirection(const TVector2& startPosition
+    virtual AliMpPad PadByDirection(Double_t startx, Double_t starty
                                Double_t distance) const;
  
+    virtual Bool_t HasPadByIndices(Int_t ix, Int_t iy) const;
+    virtual Bool_t HasPadByLocation(Int_t manuId, Int_t manuChannel) const;
+  
     virtual Int_t  MaxPadIndexX() const;
     virtual Int_t  MaxPadIndexY() const;
     virtual Int_t  NofPads() const;
 
-    virtual Int_t    Zone(const AliMpPad& pad, Bool_t warning = kTRUE) const;
-    virtual TVector2 PadDimensions(Int_t zone, Bool_t warning = kTRUE) const;
+    virtual void   GetAllElectronicCardIDs(TArrayI& ecn) const;
+    virtual Int_t  GetNofElectronicCards() const;
+    virtual Bool_t HasMotifPosition(Int_t motifPositionID) const;
+    virtual AliMpMotifPosition* MotifPosition(Int_t manuId) const;
 
-    virtual Bool_t HasPad(const AliMpIntPair& indices) const;
-    Bool_t HasMotifPosition(Int_t motifPositionID) const;
-    TVector2 GetMinPadDimensions() const;
-    Bool_t CircleTest(const AliMpIntPair& indices) const;
-    void   PrintZones() const;
-   
-    const AliMpSector* GetSector() const;
+    virtual AliMp::PlaneType   PlaneType() const;
+    virtual AliMp::StationType StationType() const;
 
+    virtual Double_t  GetDimensionX() const;
+    virtual Double_t  GetDimensionY() const;
+    virtual Double_t  GetPositionX() const;
+    virtual Double_t  GetPositionY() const;
+  
     virtual void Print(Option_t* opt="") const;
     
-    virtual void GetAllElectronicCardIDs(TArrayI& ecn) const;
+    Double_t GetMinPadDimensionX() const;
+    Double_t GetMinPadDimensionY() const;
 
-    AliMpPlaneType PlaneType() const;
-    
-    TVector2 Dimensions() const;
-    
-protected:
+    Bool_t CircleTest(Int_t ix, Int_t iy) const;
+   
+    const AliMpSector* GetSector() const;
+  
+  private:
+    /// Not implemented
     AliMpSectorSegmentation(const AliMpSectorSegmentation& right);
+    /// Not implemented
     AliMpSectorSegmentation&  operator = (const AliMpSectorSegmentation& right);
 
-  private:
-#ifdef WITH_ROOT
-    static const Double_t   fgkS1;  // the separators used for conversion
-    static const Double_t   fgkS2;  // of TVector2 to Long_t
-    
-    // methods
-    Long_t    GetIndex(const TVector2& vector2) const;
-    TVector2  GetVector(Long_t index) const;
-#endif
-
     // methods
-    void  FillPadDimensionsMap();
-    AliMpMotifPosition*  FindMotifPosition(const AliMpIntPair& indices) const;
-    virtual AliMpPad PadByXDirection(const TVector2& startPosition, 
+    AliMpMotifPosition*  FindMotifPosition(Int_t ix, Int_t iy) const;
+    virtual AliMpPad PadByXDirection(Double_t startx, Double_t starty, 
                                      Double_t maxX) const;
-    virtual AliMpPad PadByYDirection(const TVector2& startPosition
+    virtual AliMpPad PadByYDirection(Double_t startx, Double_t starty
                                      Double_t maxY) const;
  
-    // data members        
-    const AliMpSector*  fkSector;   // Sector
-    AliMpPad*           fPadBuffer; // The pad buffer
-#ifdef WITH_STL
-    PadDimensionsMap    fPadDimensionsMap; // Map between zone IDs and pad dimensions
-                              // EXCLUDED FOR CINT (does not compile on HP)    
-#endif    
-#ifdef WITH_ROOT
-    mutable PadDimensionsMap  fPadDimensionsMap; //  Map between zone IDs and pad dimensions
-#endif 
-
-    Int_t  fMaxIndexInX;  // maximum pad index in x    
-    Int_t  fMaxIndexInY;  // maximum pad index in y    
-
-  ClassDef(AliMpSectorSegmentation,1)  // Segmentation
+    // data members   
+    const AliMpSector*  fkSector;     ///< Sector
+    Bool_t              fIsOwner;     ///< Sector ownership     
+    AliMpPad*           fPadBuffer;   ///< The pad buffer
+    Int_t               fMaxIndexInX; ///< maximum pad index in x    
+    Int_t               fMaxIndexInY; ///< maximum pad index in y  
+
+  ClassDef(AliMpSectorSegmentation,3)  // Segmentation
 };
 
 
 // inline functions
 
+/// Return the sector
 inline const AliMpSector* AliMpSectorSegmentation::GetSector() const
 { return fkSector; }
 
+/// Return station type
+inline AliMp::StationType AliMpSectorSegmentation::StationType() const
+{ return AliMp::kStation12; }
+
+
 #endif //ALI_MP_SECTOR_SEGMENTATION_H