]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliESDFMD.h
silvermy@ornl.gov - SMcalib - directory with tools for SuperModule calibrations at...
[u/mrichter/AliRoot.git] / STEER / AliESDFMD.h
CommitLineData
ac07a8f5 1#ifndef ALIESDFMD_H
2#define ALIESDFMD_H
9da38871 3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
4 * reserved.
5 *
6 * See cxx source for full Copyright notice
7 */
8//___________________________________________________________________
9//
10// AliESDFMD is the Event Summary Data entry for the FMD. It contains
11// a rough estimate of the charged particle multiplicity in each strip
12// of the FMD. It also contains the psuedo-rapidity of each strip.
13// This is important, as it varies from event to event, due to a
14// finite interaction point probability distribution.
15//
16#ifndef ROOT_TObject
17# include <TObject.h>
18#endif
19#ifndef ALIFMDFLOATMAP_H
d65adc48 20# include "AliFMDFloatMap.h"
9da38871 21#endif
22
23//___________________________________________________________________
c05d076f 24/** @class AliESDFMD
25 @brief Event Summary Data for the Forward Multiplicity Detector.
26 @ingroup FMD_data
27 This stores the psuedo-multiplicity and -rapidiy for each strip of
28 the FMD.
29 */
9da38871 30class AliESDFMD : public TObject
31{
32public:
c05d076f 33 /** Default constructor */
9da38871 34 AliESDFMD();
c05d076f 35 /** Copy constructor
36 @param other Object to construct from */
9da38871 37 AliESDFMD(const AliESDFMD& other);
c05d076f 38 /** Assignment operator
39 @param other Object to assign from
40 @return reference to this object */
9da38871 41 AliESDFMD& operator=(const AliESDFMD& other);
c05d076f 42 /** Destructor - does nothing */
9da38871 43 virtual ~AliESDFMD() {}
732a24fe 44 virtual void Copy(TObject &obj) const;
45
9da38871 46
47 void Clear(Option_t *option="");
c05d076f 48 /** Get the pseudo-multiplicity of
49 @f$ \text{FMD}\langle detector\rangle\lange ring\rangle_{\langle
50 sector\rangle\langle strip\rangle}@f$
51 @param detector Detector number (1-3)
52 @param ring Ring identifier ('I' or 'O')
53 @param sector Sector number (0-511, or 0-255)
54 @param strip Strip number (0-19, or 0-39)
55 @return Psuedo multiplicity */
9da38871 56 Float_t Multiplicity(UShort_t detector, Char_t ring,
57 UShort_t sector, UShort_t strip) const;
c05d076f 58 /** Get the pseudo-rapidity of
59 @f$ \text{FMD}\langle detector\rangle\lange ring\rangle_{\langle
60 sector\rangle\langle strip\rangle}@f$
61 @param detector Detector number (1-3)
62 @param ring Ring identifier ('I' or 'O')
63 @param sector Sector number (0-511, or 0-255)
64 @param strip Strip number (0-19, or 0-39)
65 @return Psuedo rapidity */
9da38871 66 Float_t Eta(UShort_t detector, Char_t ring,
67 UShort_t sector, UShort_t strip) const;
c05d076f 68 /** Set the pseudo-multiplicity of
69 @f$ \text{FMD}\langle detector\rangle\lange ring\rangle_{\langle
70 sector\rangle\langle strip\rangle}@f$
71 @param detector Detector number (1-3)
72 @param ring Ring identifier ('I' or 'O')
73 @param sector Sector number (0-511, or 0-255)
74 @param strip Strip number (0-19, or 0-39)
75 @param mult Psuedo multiplicity */
9da38871 76 void SetMultiplicity(UShort_t detector, Char_t ring,
77 UShort_t sector, UShort_t strip,
78 Float_t mult);
c05d076f 79 /** Set the pseudo-rapidity of
80 @f$ \text{FMD}\langle detector\rangle\lange ring\rangle_{\langle
81 sector\rangle\langle strip\rangle}@f$
82 @param detector Detector number (1-3)
83 @param ring Ring identifier ('I' or 'O')
84 @param sector Sector number (0-511, or 0-255)
85 @param strip Strip number (0-19, or 0-39)
86 @param eta Psuedo rapidity */
9da38871 87 void SetEta(UShort_t detector, Char_t ring,
88 UShort_t sector, UShort_t strip,
c05d076f 89 Float_t eta);
90 /** @param f the factor for noise suppression */
91 void SetNoiseFactor(Float_t f) { fNoiseFactor = f; }
92 /** @param done Whether we've done angle correction or not */
93 void SetAngleCorrected(Bool_t done) { fAngleCorrected = done; }
94 /** @return Whether we've done angle correction or not */
e03121ec 95 Bool_t IsAngleCorrected() const { return fAngleCorrected; }
c05d076f 96 /** @return the factor for noise suppression */
97 Float_t GetNoiseFactor() const { return fNoiseFactor; }
98 /** @return maximum number of detectors */
9eeb02aa 99 UShort_t MaxDetectors() const { return fMultiplicity.MaxDetectors(); }
c05d076f 100 /** @return maximum number of rings */
9eeb02aa 101 UShort_t MaxRings() const { return fMultiplicity.MaxRings(); }
c05d076f 102 /** @return maximum number of sectors */
9eeb02aa 103 UShort_t MaxSectors() const { return fMultiplicity.MaxSectors(); }
c05d076f 104 /** @return Maximum number of strips */
9eeb02aa 105 UShort_t MaxStrips() const { return fMultiplicity.MaxStrips(); }
c05d076f 106 /** Print this object to standard out.
107 @param option Options */
9da38871 108 void Print(Option_t* option="") const;
c05d076f 109 /** Check if we need the @c UShort_t fix
110 @param file File this object was read from */
111 void CheckNeedUShort(TFile* file);
9da38871 112 enum {
c05d076f 113 /** Value used for undefined multiplicity */
ae7aeb9f 114 kInvalidMult = 1024
9da38871 115 };
116 enum {
c05d076f 117 /** Value used for undefined pseudo rapidity */
ae7aeb9f 118 kInvalidEta = 1024
9da38871 119 };
c05d076f 120 /** @return constant reference to multiplicity map */
121 const AliFMDFloatMap& MultiplicityMap() const { return fMultiplicity; }
122 /** @return constant reference to pseudo-rapidity map */
123 const AliFMDFloatMap& EtaMap() const { return fMultiplicity; }
9da38871 124protected:
c05d076f 125 AliFMDFloatMap fMultiplicity; // Psuedo multplicity per strip
126 AliFMDFloatMap fEta; // Psuedo-rapidity per strip
127 Float_t fNoiseFactor; // Factor used for noise suppresion
128 Bool_t fAngleCorrected; // Whether we've done angle correction
129 ClassDef(AliESDFMD,3) // ESD info from FMD
9da38871 130};
131#endif
132//____________________________________________________________________
133//
134// Local Variables:
135// mode: C++
136// End:
137//
138// EOF
139//