]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - FMD/AliFMD.h
New analysis modules
[u/mrichter/AliRoot.git] / FMD / AliFMD.h
index b1c16407adb49a1e3365f6634241c34d21ac2be3..5f4491b7d6a76ecb69a6fc9a0f839aaeb52028d6 100644 (file)
     @b Contents 
     - @ref intro 
     - @ref structure 
-      - @ref base  (see also @ref FMD_base)
-      - @ref sim   (see also @ref FMD_sim)
-      - @ref rec   (see also @ref FMD_rec)
-      - @ref util  (see also @ref FMD_util)
-    - @ref script  (see also @ref FMD_script)
+      - @ref base     (see also @ref FMD_base)
+      - @ref sim      (see also @ref FMD_sim)
+      - @ref rec      (see also @ref FMD_rec)
+      - @ref flow     (see also @ref FMD_flow)
+      - @ref ana      (see also @ref FMD_ana)
+      - @ref util     (see also @ref FMD_util)
+    - @ref script     (see also @ref FMD_script)
     - @ref quick
     - @ref authors
     
 
     - AliFMDRawReader: Classes to read raw data files. 
 
+    @subsection flow libFMDflow:
+    
+    This library contains flow analysis code that works similar to 
+    histograms. 
+
+    @subsection ana libFMDanalysis:
+    
+    This library contains analysis code.
+
+
     @subsection util libFMDutil:
 
     This currently (18th or March 2006) contains the classes 
       hits, digits, reconstructed points and ESD data. 
 
     - AliFMDCalibFaker, AliFMDAlignFaker: Classes to write fake (or
-      dummy) calibration and alignment         data.  These derive from
-      TTask.  
+      dummy) calibration and alignment         data. 
+
 
     @section script Scripts 
     
@@ -322,6 +334,57 @@ public:
       -        @c FMD @c Plastic$ Plastic (Support legs for the hybrid cards)
   */
   virtual void   CreateMaterials(); 
+#if 0
+  /** 
+   * Declare tracking parameters for a medium 
+   * 
+   * Cut offs are in GeV. 
+   * @param imed                     Medium identifier
+   * @param gamma                    Cut off for tracking photons
+   * @param electron                 Cut off for tracking electrons
+   * @param neutral_hadron           Cut off for tracking neutral hadrons
+   * @param charged_hadron           Cut off for tracking charged hadrons
+   * @param muon                     Cut off for tracking muons
+   * @param electron_bremstrahlung   Cut off for tracking electron brehmstralung
+   * @param muon__bremstrahlung      Cut off for tracking muon brehmstralung
+   * @param electron_delta           Cut off for tracking delta electrons
+   * @param muon_delta               Cut off for tracking delta muons
+   * @param muon_pair                Cut off for muon->ee pair production
+   * @param annihilation             Enable annihilation
+   * @param bremstrahlung            Enable brehmstralung
+   * @param compton_scattering       Enable Compton scattering
+   * @param decay                    Enable decays
+   * @param delta_ray                Enable delta rays
+   * @param hadronic                 Enable hadronic interactions
+   * @param energy_loss              Enable energy loss
+   * @param multiple_scattering      Enable multiple scattering
+   * @param pair_production          Enable pair production
+   * @param photon_production        Enable cherenkov photon production
+   * @param rayleigh_scattering      Enable rayleigh scattering
+   */ 
+  void SetTrackingParameters(Int_t imed, 
+                            Float_t gamma,                 
+                            Float_t electron, 
+                            Float_t neutral_hadron, 
+                            Float_t charged_hadron, 
+                            Float_t muon,
+                            Float_t electron_bremstrahlung, 
+                            Float_t muon__bremstrahlung, 
+                            Float_t electron_delta,
+                            Float_t muon_delta,
+                            Float_t muon_pair,
+                            Int_t   annihilation, 
+                            Int_t   bremstrahlung, 
+                            Int_t   compton_scattering, 
+                            Int_t   decay,
+                            Int_t   delta_ray, 
+                            Int_t   hadronic, 
+                            Int_t   energy_loss, 
+                            Int_t   multiple_scattering, 
+                            Int_t   pair_production, 
+                            Int_t   photon_production, 
+                            Int_t   rayleigh_scattering);
+#endif
   /** Initialize this detector */
   virtual void   Init();
   /** This member function is called when ever a track deposites
@@ -335,13 +398,6 @@ public:
   virtual void   FinishEvent();
   /** @}*/
   
-  /** @{*/
-  /** @name Graphics and event display */
-  /** Draw a shaded view of the Forward multiplicity detector.  This 
-      isn't really useful anymore. */
-  virtual        void   DrawDetector() {}
-  /** @}*/
-  
   /** @{ */
   /** @name Hit and digit management */
   /* Create Tree branches for the FMD.
@@ -433,14 +489,16 @@ 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, 
+                                        UShort_t       nrefs=0,
+                                        Int_t*         refs=0);
   /** Add a digit to the Digit tree 
       @param digits
       - digits[0]  [UShort_t] Detector #
@@ -476,7 +534,7 @@ public:
                                          Short_t        count4=-1, 
                                          UShort_t       ntot=0, 
                                          UShort_t       nprim=0,
-                                         const TArrayI& refs=TArrayI());
+                                         Int_t*         refs=0);
   /** @}*/
 
   /** @{ */
@@ -484,7 +542,7 @@ public:
   /** Create a digitizer object
       @param manager Digitization manager
       @return a newly allocated AliFMDDigitizer */
-  virtual AliDigitizer* CreateDigitizer(AliRunDigitizer* manager) const;
+  virtual AliDigitizer* CreateDigitizer(AliDigitizationInput* digInput) const;
   /** Create AliFMDDigit's from AliFMDHit's.  This is done by creating
       an AliFMDDigitizer object, and executing it.  */
   virtual        void   Hits2Digits();
@@ -495,16 +553,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: