]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - FMD/AliFMD.h
A lot of changes after detector review:
[u/mrichter/AliRoot.git] / FMD / AliFMD.h
index d127efa580fb1b08ee6a0b19c341d3f3daf1fa5d..0e3c03728195ef514939017342e4f50614cc913f 100644 (file)
 #ifndef ALIDETECTOR_H  
 # include <AliDetector.h>
 #endif
+#ifndef ROOT_TArrayI
+# include <TArrayI.h>
+#endif
 class TBranch;
 class TClonesArray;
 class TBrowser;
 class TMarker3DBox;
+class TArrayI;
 class AliDigitizer;
 class AliFMDHit;
 
@@ -333,22 +337,9 @@ public:
   
   /** @{*/
   /** @name Graphics and event display */
-  /** Build simple ROOT TNode geometry for event display. With the new
-      geometry modeller, TGeoManager, this seems rather redundant. */
-  virtual        void   BuildGeometry();
   /** Draw a shaded view of the Forward multiplicity detector.  This 
       isn't really useful anymore. */
-  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);
-  /** 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
-      is overloaded to make TMarker3D, via the class AliFMDPoints.
-      AliFMDPoints is a local class. 
-      @param track the track number to load the hits for */
-  virtual        void   LoadPoints(Int_t track);
+  virtual        void   DrawDetector() {}
   /** @}*/
   
   /** @{ */
@@ -442,23 +433,29 @@ public:
       @param count1    ADC count (a 10-bit word)
       @param count2    ADC count (a 10-bit word), or -1 if not used
       @param count3    ADC count (a 10-bit word), or -1 if not used */
-  virtual        void   AddDigitByFields(UShort_t detector=0, 
-                                        Char_t   ring='\0', 
-                                        UShort_t sector=0, 
-                                        UShort_t strip=0, 
-                                        UShort_t count1=0, 
-                                        Short_t  count2=-1, 
-                                        Short_t  count3=-1, 
-                                        Short_t  count4=-1);
+  virtual        void   AddDigitByFields(UShort_t       detector=0, 
+                                        Char_t         ring='\0', 
+                                        UShort_t       sector=0, 
+                                        UShort_t       strip=0, 
+                                        UShort_t       count1=0, 
+                                        Short_t        count2=-1, 
+                                        Short_t        count3=-1, 
+                                        Short_t        count4=-1, 
+                                        const TArrayI& refs=TArrayI());
   /** Add a digit to the Digit tree 
       @param digits
       - digits[0]  [UShort_t] Detector #
       - digits[1]  [Char_t]   Ring ID
       - digits[2]  [UShort_t] Sector #
       - digits[3]  [UShort_t] Strip #
-      - digits[4]  [UShort_t] ADC Count 
-      - digits[5]  [Short_t]  ADC Count, -1 if not used
-      - digits[6]  [Short_t]  ADC Count, -1 if not used  */
+      - digits[4]  [Float_t]  Edep
+      - digits[5]  [UShort_t] ADC Count 
+      - digits[6]  [Short_t]  ADC Count, -1 if not used
+      - digits[7]  [Short_t]  ADC Count, -1 if not used  
+      - digits[8]  [Short_t]  ADC Count, -1 if not used
+      - digits[9]  [UShort_t] N total particles
+      - digits[10] [UShort_t] N total primary particles
+  */
   virtual        void   AddSDigit(Int_t *digits);
   /** add a summable digit - as coming from data
       @param detector  Detector # (1, 2, or 3)                      
@@ -469,15 +466,18 @@ public:
       @param count1    ADC count (a 10-bit word)
       @param count2    ADC count (a 10-bit word), or -1 if not used 
       @param count3    ADC count (a 10-bit word), or -1 if not used */
-  virtual        void   AddSDigitByFields(UShort_t detector=0, 
-                                         Char_t   ring='\0', 
-                                         UShort_t sector=0, 
-                                         UShort_t strip=0, 
-                                         Float_t  edep=0,
-                                         UShort_t count1=0, 
-                                         Short_t  count2=-1, 
-                                         Short_t  count3=-1,
-                                         Short_t  count4=-1);
+  virtual        void   AddSDigitByFields(UShort_t       detector=0, 
+                                         Char_t         ring='\0', 
+                                         UShort_t       sector=0, 
+                                         UShort_t       strip=0, 
+                                         Float_t        edep=0,
+                                         UShort_t       count1=0, 
+                                         Short_t        count2=-1, 
+                                         Short_t        count3=-1,
+                                         Short_t        count4=-1, 
+                                         UShort_t       ntot=0, 
+                                         UShort_t       nprim=0,
+                                         const TArrayI& refs=TArrayI());
   /** @}*/
 
   /** @{ */
@@ -496,16 +496,30 @@ public:
 
   /** @{ */
   /** @name Raw data */
-  /** Turn digits into raw data. This uses the class AliFMDRawWriter
-      to do the job.   Please refer to that class for more
-      information. */
-  virtual        void   Digits2Raw();
+  /** 
+   * Turn digits into raw data. This uses the class AliFMDRawWriter to
+   * do the job.  Please refer to that class for more information.
+   */
+  virtual void   Digits2Raw();
+  /** 
+   * Convert raw data to sdigits
+   * 
+   * @param reader Raw reader
+   * 
+   * @return @c true on success
+   */
+  virtual Bool_t Raw2SDigits(AliRawReader* reader);
   /** @}*/
 
   /** @{ */
-  /** @name Utility */
-  /** Browse this object 
-      @param b Browser to show this object in */
+  /** 
+   * @name Utility 
+   */
+  /** 
+   * Browse this object 
+   *
+   * @param b Browser to show this object in 
+   */
   void   Browse(TBrowser* b);
   /** @}*/
 protected: