]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONSt12QuadrantSegmentation.h
Additional protection in case of negative indexes. More investigation is needed
[u/mrichter/AliRoot.git] / MUON / AliMUONSt12QuadrantSegmentation.h
index 7dd8a77b5d4fa7f95fa7b3d702e676995d5bdc25..59b890c07e2fa975f33a6e5ba621d34103250267 100644 (file)
@@ -7,6 +7,10 @@
 /* $Id$ */
 // Revision of includes 07/05/2004
 
+/// \ingroup base
+/// \class AliMUONSt12QuadrantSegmentation
+/// \brief Segmentation for MUON quadrants of stations 1 and 2
+
 // Class AliMUONSt12QuadrantSegmentation
 // -------------------------------------
 // Segmentation for MUON quadrants of stations 1 and 2 using 
@@ -31,7 +35,8 @@ class AliMUONChamber;
 class AliMUONSt12QuadrantSegmentation : public AliMUONVGeometryDESegmentation 
 {
   public:
-    AliMUONSt12QuadrantSegmentation(AliMpStationType stationType,
+    AliMUONSt12QuadrantSegmentation(AliMpVSegmentation* segmentation,
+                                    AliMpStationType stationType, 
                                     AliMpPlaneType planeType);
     AliMUONSt12QuadrantSegmentation();
     
@@ -59,6 +64,8 @@ class AliMUONSt12QuadrantSegmentation : public AliMUONVGeometryDESegmentation
     //
     virtual AliMUONGeometryDirection  GetDirection();
                        // Returns the direction with a constant pad size
+    // Access to mapping
+    virtual const AliMpVSegmentation* GetMpSegmentation() const;                      
 
     // Transform from pad (wire) to real coordinates and vice versa
     //
@@ -70,8 +77,7 @@ class AliMUONSt12QuadrantSegmentation : public AliMUONVGeometryDESegmentation
     virtual void  GetPadC(Int_t ix, Int_t iy, Float_t& x, Float_t& y, Float_t& z);
     virtual void  GetPadC(Int_t ix, Int_t iy, Float_t& x, Float_t& y);
                        // Transform from real to pad coordinates
-                      
-
+  
     // Initialisation
     //
     virtual void Init(Int_t chamber);
@@ -158,17 +164,14 @@ class AliMUONSt12QuadrantSegmentation : public AliMUONVGeometryDESegmentation
     // methods
     void UpdateCurrentPadValues(const AliMpPad& pad);
   
-    // constants
-    static const Float_t  fgkWireD;     // default wire pitch
-    static const Float_t  fgkLengthUnit;// conversion between length units
-                                        // from mapping (mm) to AliRoot (cm)
-  
     // data members
 
     // From mapping
     //
-    AliMpSector*             fSector;            //  sector (from mapping)
-    AliMpSectorSegmentation* fSectorSegmentation;//  sector segmentation (from mapping)
+    AliMpStationType         fStationType;       // station type
+    AliMpPlaneType           fPlaneType;         // plane type
+    const AliMpSector*       fSector;            // sector (from mapping)
+    AliMpSectorSegmentation* fSectorSegmentation;// sector segmentation (from mapping)
     AliMpVPadIterator*       fSectorIterator;    // ! iterator over pads
 
     // Wire pitch
@@ -207,7 +210,7 @@ class AliMUONSt12QuadrantSegmentation : public AliMUONVGeometryDESegmentation
 
     TObjArray* fCorrA; // ! Array of correction functions
 
-  ClassDef(AliMUONSt12QuadrantSegmentation,1) // Station1 segmentation
+  ClassDef(AliMUONSt12QuadrantSegmentation,2) // Station1 segmentation
 };
 
 #endif //ALI_MUON_ST12_QUADRANT_SEGMENTATION_H