]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - FMD/AliFMD.h
This update includes the FMD detector algorithm classes.
[u/mrichter/AliRoot.git] / FMD / AliFMD.h
index 43e02d85d90241118ebb41252a7711ecd4062286..13a611e5badeb8458e28a16f1ff10c16f0eb5c94 100644 (file)
@@ -7,6 +7,11 @@
  *
  * See cxx source for full Copyright notice                               
  */
+/** @file    AliFMD.h
+    @author  Christian Holm Christensen <cholm@nbi.dk>
+    @date    Sun Mar 26 17:59:37 2006
+    @brief   Declaration of AliFMD detector driver 
+*/
 /** @mainpage ALICE FMD Off-line code 
     
     @b Contents 
 #ifndef ALIDETECTOR_H  
 # include <AliDetector.h>
 #endif
-#ifndef ROOT_TBranch
-# include <TBranch.h>
-#endif
 class TBranch;
 class TClonesArray;
 class TBrowser;
@@ -286,15 +288,8 @@ public:
       @param name  Name of object.
       @param title Title of object. */
   AliFMD(const char *name, const char *title);
-  /** Copy constructor 
-      @param other Object to copy from */
-  AliFMD(const AliFMD& other);
   /** Destructor */
   virtual ~AliFMD(); 
-  /** Assignment operator 
-      @param other Object to assign from
-      @return Reference to this object  */
-  AliFMD& operator=(const AliFMD& other);
   /** Wheter to make a detailed geometry
       @param use If true, make detailed geometry  */
   void UseDetailed(Bool_t use=kTRUE) { fDetailed = use; }
@@ -305,6 +300,10 @@ public:
       AliFMDGeometry to construct the geometry.  This in turn calls
       AliFMDGeometryBuilder.   */
   virtual void   CreateGeometry();
+  /** Create entries for alignable volumes associating the symbolic volume
+      name with the corresponding volume path. Needs to be syncronized with
+      eventual changes in the geometry.   */
+  virtual void  AddAlignableVolumes() const;
   /** Create the tracking mediums used by the FMD.  This associates
       the tracking mediums defined with the FMD in the
       TVirtualMCApplication (AliMC). 
@@ -342,7 +341,7 @@ public:
   virtual        void   DrawDetector();
   /** Calculate the distance from the mouse to the FMD on the screen
       Dummy routine */
-  virtual        Int_t  DistanceToPrimitive(Int_t px, Int_t py);
+  virtual        Int_t  DistancetoPrimitive(Int_t px, Int_t py);
   /** Store x, y, z of all hits in memory for display. 
       Normally, the hits are drawn using TPolyMarker3D - however, that
       is not very useful for the FMD.  Therefor, this member function
@@ -446,7 +445,8 @@ public:
                                         UShort_t strip=0, 
                                         UShort_t count1=0, 
                                         Short_t  count2=-1, 
-                                        Short_t  count3=-1);
+                                        Short_t  count3=-1, 
+                                        Short_t  count4=-1);
   /** Add a digit to the Digit tree 
       @param digits
       - digits[0]  [UShort_t] Detector #
@@ -473,7 +473,8 @@ public:
                                          Float_t  edep=0,
                                          UShort_t count1=0, 
                                          Short_t  count2=-1, 
-                                         Short_t  count3=-1);
+                                         Short_t  count3=-1,
+                                         Short_t  count4=-1);
   /** @}*/
 
   /** @{ */
@@ -535,7 +536,16 @@ protected:
   };  
 
   TObjArray*         fBad;                  //! debugging - bad hits 
-  
+
+private:  
+  /** Copy constructor 
+      @param other Object to copy from */
+  AliFMD(const AliFMD& other);
+  /** Assignment operator 
+      @param other Object to assign from
+      @return Reference to this object  */
+  AliFMD& operator=(const AliFMD& other);
+
   ClassDef(AliFMD,11)     // Base class FMD entry point
 };