]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliESDFMD.h
New revision of the CTP configuration and simulation. For more details look in the...
[u/mrichter/AliRoot.git] / STEER / AliESDFMD.h
index 96adb5432dc56692dcad3afe3cec42954345d286..3e82514c7c8cd1f5240f555bc884e6f303397a43 100755 (executable)
 # include <TObject.h>
 #endif
 #ifndef ALIFMDFLOATMAP_H
-# include <AliFMDFloatMap.h>
+# include "AliFMDFloatMap.h"
 #endif
 
 //___________________________________________________________________
+/** @class AliESDFMD 
+    @brief Event Summary Data for the Forward Multiplicity Detector. 
+    @ingroup FMD_data
+    This stores the psuedo-multiplicity and -rapidiy for each strip of
+    the FMD. 
+ */
 class AliESDFMD : public TObject
 {
 public:
+  /** Default constructor */
   AliESDFMD();
+  /** Copy constructor 
+      @param other Object to construct from */
   AliESDFMD(const AliESDFMD& other);
+  /** Assignment operator 
+      @param other Object to assign from
+      @return  reference to this object */
   AliESDFMD& operator=(const AliESDFMD& other);
+  /** Destructor - does nothing */
   virtual ~AliESDFMD() {}
 
   void Clear(Option_t *option="");
+  /** Get the pseudo-multiplicity of 
+      @f$ \text{FMD}\langle detector\rangle\lange ring\rangle_{\langle
+      sector\rangle\langle strip\rangle}@f$ 
+      @param detector Detector number (1-3)
+      @param ring     Ring identifier ('I' or 'O')
+      @param sector   Sector number (0-511, or 0-255)
+      @param strip    Strip number (0-19, or 0-39)
+      @return Psuedo multiplicity */
   Float_t Multiplicity(UShort_t detector, Char_t ring, 
                       UShort_t sector, UShort_t strip) const;
+  /** Get the pseudo-rapidity of 
+      @f$ \text{FMD}\langle detector\rangle\lange ring\rangle_{\langle
+      sector\rangle\langle strip\rangle}@f$ 
+      @param detector Detector number (1-3)
+      @param ring     Ring identifier ('I' or 'O')
+      @param sector   Sector number (0-511, or 0-255)
+      @param strip    Strip number (0-19, or 0-39)
+      @return Psuedo rapidity */
   Float_t Eta(UShort_t detector, Char_t ring, 
              UShort_t sector, UShort_t strip) const;
+  /** Set the pseudo-multiplicity of 
+      @f$ \text{FMD}\langle detector\rangle\lange ring\rangle_{\langle
+      sector\rangle\langle strip\rangle}@f$ 
+      @param detector Detector number (1-3)
+      @param ring     Ring identifier ('I' or 'O')
+      @param sector   Sector number (0-511, or 0-255)
+      @param strip    Strip number (0-19, or 0-39)
+      @param mult     Psuedo multiplicity */
   void SetMultiplicity(UShort_t detector, Char_t ring, 
                       UShort_t sector, UShort_t strip, 
                       Float_t mult);
+  /** Set the pseudo-rapidity of 
+      @f$ \text{FMD}\langle detector\rangle\lange ring\rangle_{\langle
+      sector\rangle\langle strip\rangle}@f$ 
+      @param detector Detector number (1-3)
+      @param ring     Ring identifier ('I' or 'O')
+      @param sector   Sector number (0-511, or 0-255)
+      @param strip    Strip number (0-19, or 0-39)
+      @param eta      Psuedo rapidity */
   void SetEta(UShort_t detector, Char_t ring, 
              UShort_t sector, UShort_t strip, 
-             Float_t mult);
-
-  size_t MaxDetectors() const { return fMultiplicity.MaxDetectors(); }
-  size_t MaxRings()     const { return fMultiplicity.MaxRings(); }
-  size_t MaxSectors()   const { return fMultiplicity.MaxSectors(); }
-  size_t MaxStrips()    const { return fMultiplicity.MaxStrips(); }
+             Float_t eta);
+  /** @param f the factor for noise suppression */
+  void SetNoiseFactor(Float_t f) { fNoiseFactor = f; }
+  /** @param done Whether we've done angle correction or not */
+  void SetAngleCorrected(Bool_t done) { fAngleCorrected = done; }
+  /** @return Whether we've done angle correction or not */
+  Bool_t IsAngleCorrected() const { return fAngleCorrected; }
+  /** @return the  factor for noise suppression */
+  Float_t GetNoiseFactor() const { return fNoiseFactor; }
+  /** @return maximum number of detectors */
+  UShort_t MaxDetectors() const { return fMultiplicity.MaxDetectors(); }
+  /** @return maximum number of rings */
+  UShort_t MaxRings()     const { return fMultiplicity.MaxRings(); }
+  /** @return maximum number of sectors */
+  UShort_t MaxSectors()   const { return fMultiplicity.MaxSectors(); }
+  /** @return Maximum number of strips */
+  UShort_t MaxStrips()    const { return fMultiplicity.MaxStrips(); }
+  /** Print this object to standard out. 
+      @param option Options */
   void Print(Option_t* option="") const;
+  /** Check if we need the @c UShort_t fix 
+      @param file File this object was read from */
+  void CheckNeedUShort(TFile* file);
   enum {
-    kInvalidMult = 1000
+    /** Value used for undefined multiplicity */
+    kInvalidMult = 0
   };
   enum {
-    kInvalidEta = 1000
+    /** Value used for undefined pseudo rapidity */
+    kInvalidEta = 0
   };
+  /** @return constant reference to multiplicity map */
+  const AliFMDFloatMap& MultiplicityMap() const { return fMultiplicity; }
+  /** @return constant reference to pseudo-rapidity map */
+  const AliFMDFloatMap& EtaMap() const { return fMultiplicity; }
 protected:
-  AliFMDFloatMap fMultiplicity;
-  AliFMDFloatMap fEta;
-  
-  ClassDef(AliESDFMD,1)  // ESD info from FMD
+  AliFMDFloatMap fMultiplicity;   // Psuedo multplicity per strip
+  AliFMDFloatMap fEta;            // Psuedo-rapidity per strip
+  Float_t        fNoiseFactor;    // Factor used for noise suppresion
+  Bool_t         fAngleCorrected; // Whether we've done angle correction
+  ClassDef(AliESDFMD,3)           // ESD info from FMD
 };
 #endif
 //____________________________________________________________________