]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - FMD/AliFMDDetector.h
+ New AliRoot revison
[u/mrichter/AliRoot.git] / FMD / AliFMDDetector.h
index 90a2f6fed1265e72b772973479bce31227c6c0c1..a707a4fbcda7e050bc790aba3ced0d412331a12f 100644 (file)
@@ -7,6 +7,17 @@
  *
  * See cxx source for full Copyright notice                               
  */
+//__________________________________________________________________
+//
+// Utility class to help implement the FMD geometry.  This provides
+// the interface for the concrete geometry implementations of the FMD
+// sub-detectors. 
+/** @file    AliFMDDetector.h
+    @author  Christian Holm Christensen <cholm@nbi.dk>
+    @date    Mon Mar 27 12:36:27 2006
+    @brief   Sub-detector base class declaration
+    @ingroup FMD_base
+*/
 #ifndef ROOT_TNamed
 # include <TNamed.h>
 #endif
@@ -15,8 +26,8 @@ class TGeoMatrix;
 
 /** @defgroup FMD_base Basic classes */
 //__________________________________________________________________
-/** Base class for the geometry description and parameters of the FMD
-    sub detectors FMD1, FMD2, and FMD3.
+/** @brief Base class for the geometry description and parameters of
+    the FMD sub detectors FMD1, FMD2, and FMD3.
 
     This class hold common parameters of the specific FMD detectors.
     @ingroup FMD_base
@@ -50,10 +61,6 @@ public:
   void SetInnerZ(Double_t x) { fInnerZ = x; }
   /** @param x Position of outer ring along z */
   void SetOuterZ(Double_t x) { fOuterZ = x; }
-  /** @param x Thickness of honeycomb plate */
-  void SetHoneycombThickness(Double_t x=1) { fHoneycombThickness = x; }
-  /** @param x Thickness of aluminium of honeycomb */
-  void SetAlThickness(Double_t x=.1) { fAlThickness = x; }
   /** @param x Inner radius of inner honeycomb */
   void SetInnerHoneyLowR(Double_t x) { fInnerHoneyLowR = x; }
   /** @param x Outer radius of inner honeycomb */
@@ -69,10 +76,6 @@ public:
   Double_t GetInnerZ() const { return fInnerZ; }
   /** @return Position of outer ring along z */
   Double_t GetOuterZ() const { return fOuterZ; }
-  /** @return Thickness of honeycomb plate */
-  Double_t GetHoneycombThickness() const { return fHoneycombThickness; }
-  /** @return Thickness of aluminium of honeycomb */
-  Double_t GetAlThickness() const { return fAlThickness; }
   /** @return Inner radius of inner honeycomb */
   Double_t GetInnerHoneyLowR() const { return fInnerHoneyLowR; }
   /** @return Outer radius of inner honeycomb */
@@ -113,7 +116,7 @@ public:
       like  
       @code 
       geom->XYZ2Detector(x,y,z-ipz,d,r,s,t);
-      @endverbatim
+      @endcode
       @param x       X coordinate
       @param y              Y coordinate
       @param z              Z coordinate
@@ -124,21 +127,23 @@ public:
       detector.  */
   Bool_t XYZ2Detector(Double_t x, Double_t y, Double_t z, 
                      Char_t& ring, UShort_t& sector, UShort_t& strip) const;
+
+  /** Declare alignable volumes */
+  virtual void SetAlignableVolumes() const;
+   /** Get transformation matrix for a sector in a ring 
+      @param ring   Ring id
+      @param sector Sector numberr 
+      @return Matrix on success, 0 otherwise */
+  TGeoMatrix*   FindTransform(Char_t ring, UShort_t sector) const;
 protected:
   /** Check if we have all transformations for a ring 
       @param ring Ring to check for 
       @return @c true if we got all transforms  */
   Bool_t        HasAllTransforms(Char_t ring) const;
-  /** Get transformation matrix for a sector in a ring 
-      @param ring   Ring id
-      @param sector Sector numberr 
-      @return Matrix on success, 0 otherwise */
-  TGeoMatrix*   FindTransform(Char_t ring, UShort_t sector) const;
   Int_t                fId;                    // Detector number
   Double_t     fInnerZ;                // Position of outer ring along z
   Double_t     fOuterZ;                // Position of outer ring along z
-  Double_t     fHoneycombThickness;    // Thickness of honeycomb plate
-  Double_t     fAlThickness;           // Thickness of aluminium of honeycomb
   Double_t     fInnerHoneyLowR;        // Inner radius of inner honeycomb
   Double_t     fInnerHoneyHighR;       // Outer radius of inner honeycomb
   Double_t     fOuterHoneyLowR;        // Inner radius of outer honeycomb
@@ -148,7 +153,7 @@ protected:
   TObjArray*    fInnerTransforms;       // List of inner module global
   TObjArray*    fOuterTransforms;       // List of outer module global
 
-  ClassDef(AliFMDDetector, 1); // 
+  ClassDef(AliFMDDetector, 2); // 
 };
 
 #endif