]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONGeometrySegmentation.h
Adding an option to disabling status map usage (for debug only)
[u/mrichter/AliRoot.git] / MUON / AliMUONGeometrySegmentation.h
index e2df6e2c2edd42869c326044fb8a3869b368283c..d41d419d6b6500727d3396d016ecb2ea5164ac0b 100644 (file)
 /// composed of the segmentations of detection elements.
 /// Applies transformations defined in geometry.
 ///
-/// Author:Ivana Hrivnacova, IPN Orsay
+/// \author Ivana Hrivnacova, IPN Orsay
 
 #ifndef ALI_MUON_GEOMETRY_SEGMENTATION_H
 #define ALI_MUON_GEOMETRY_SEGMENTATION_H
 
-#include <TObject.h>
-
 #include "AliMUONGeometryDirection.h"
 
+#include <TObject.h>
+#include <TString.h>
+
 class TObjArray;
 class TF1;
 
 class AliMUONGeometryModuleTransformer;
-class AliMUONGeometryStore;
 class AliMUONGeometryDetElement;
 class AliMUONVGeometryDESegmentation;
 class AliMUONSegmentManuIndex;
 
+class AliMpExMap;
+
 class AliMUONGeometrySegmentation : public TObject
 {
   public:
@@ -48,12 +50,13 @@ class AliMUONGeometrySegmentation : public TObject
                        // Geometry transformer       
  
     const AliMUONVGeometryDESegmentation* GetDESegmentation(
-                                            Int_t detElemId) const;
+                        Int_t detElemId, Bool_t warn = true) const;
                        // DE segmentation
     
     AliMUONGeometryDirection GetDirection(Int_t detElemId) const;
                        // Direction with a constant pad size  
-                      // (Direction or coordinate where the resolution is the best)
+                      // (Direction or coordinate where the resolution 
+                      // is the best)
     
     TString GetDEName(Int_t detElemId) const;                 
                        // DE name
@@ -81,7 +84,10 @@ class AliMUONGeometrySegmentation : public TObject
                           Float_t& x, Float_t& y, Float_t& z);
                        // Transform from real to pad coordinates
 
-    virtual Bool_t HasPad(Int_t detElemId, Int_t ix, Int_t iy);
+    virtual Bool_t HasPad(Int_t detElemId, 
+                          Int_t ix, Int_t iy);
+    virtual Bool_t HasPad(Int_t detElemId, 
+                          Float_t x, Float_t y, Float_t z);
   
     // Initialisation
     //
@@ -178,33 +184,32 @@ class AliMUONGeometrySegmentation : public TObject
        
   protected:
     AliMUONGeometrySegmentation(const AliMUONGeometrySegmentation& rhs);
-  
-    // operators
     AliMUONGeometrySegmentation& operator=(const AliMUONGeometrySegmentation & rhs);
 
   private:
     // methods
-    Bool_t OwnNotify(Int_t detElemId) const;
+    Bool_t OwnNotify(Int_t detElemId, Bool_t warn = true) const;
 
     // static data members
-    static  const Float_t  fgkMaxDistance; // the big value passed to pad coordinates
-                                           // if pad does not exist
+    static  const Float_t  fgkMaxDistance; ///< \brief the big value passed to pad coordinates
+                                           /// if pad does not exist
   
     // data members
-    mutable  Int_t                           fCurrentDetElemId;   // current DE ID 
-    mutable  AliMUONGeometryDetElement*      fCurrentDetElement;  // current detection element 
-    mutable  AliMUONVGeometryDESegmentation* fCurrentSegmentation;// current DE segmentation
+    mutable  Int_t                           fCurrentDetElemId;   ///< current DE ID 
+    mutable  AliMUONGeometryDetElement*      fCurrentDetElement;  ///< current detection element 
+    mutable  AliMUONVGeometryDESegmentation* fCurrentSegmentation;///< current DE segmentation
    
-    const AliMUONGeometryModuleTransformer*  fkModuleTransformer; // associated geometry transformer
-    AliMUONGeometryStore*        fDESegmentations;// DE segmentations
-    AliMUONGeometryStore*        fDENames;        // DE names
+    const AliMUONGeometryModuleTransformer*  fkModuleTransformer; ///< associated geometry transformer
+    AliMpExMap*  fDESegmentations; ///< DE segmentations
+    AliMpExMap*  fDENames;         ///< DE names
     
  
-   ClassDef(AliMUONGeometrySegmentation,2) // Geometry segmentation
+   ClassDef(AliMUONGeometrySegmentation,3) // Geometry segmentation
 };
 
 // inline functions
 
+/// Return associated geometry transformer
 inline 
 const AliMUONGeometryModuleTransformer* 
 AliMUONGeometrySegmentation::GetTransformer() const