]> git.uio.no Git - u/mrichter/AliRoot.git/blob - FMD/AliFMDRecoParam.h
Important bug fix to make sure the angle correction flag and
[u/mrichter/AliRoot.git] / FMD / AliFMDRecoParam.h
1 #ifndef ALIFMDRECOPARAM_H
2 #define ALIFMDRECOPARAM_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5 //
6 //
7 // FMD reconstruction parameters
8 //
9 //
10
11 #include "AliDetectorRecoParam.h"
12
13 class AliFMDRecoParam : public AliDetectorRecoParam
14 {
15 public: 
16   AliFMDRecoParam(Float_t noiseFactor=3, 
17                   Bool_t angleCorrect=kTRUE,
18                   Bool_t sharingCorrect=kFALSE);
19   virtual ~AliFMDRecoParam() {}
20   /** 
21    * Whether to do angle of passage correction 
22    * 
23    * @return @c true if we're to do angle of passage correction
24    */
25   Bool_t  AngleCorrect()   const { return fAngleCorrect; }
26   /** 
27    * Get the noise suppression factor
28    * 
29    * @return The number of noise levels away from the pedestal 
30    *         that are suppressed. 
31    */
32   Float_t NoiseFactor()    const { return fNoiseFactor; }
33   /** 
34    * Whether to do the sharing correction.  A single particle may
35    * traverse more than one strip due to it's incident angle.  In that
36    * case, part of it's signal is put in one strip, and another in
37    * it's adjacent strip.  The sharing correction corrects for this
38    * and adds the signal of the two strips into a single strip. 
39    * 
40    * @return @c true if the reconstruction should also do the sharing
41    * correction. 
42    */
43   Bool_t  SharingCorrect() const { return fSharingCorrect; }
44
45   /** 
46    * Whether to do angle corrections 
47    * 
48    * @param doit Whether to do angle corrections 
49    */
50   void SetAngleCorrect(Bool_t doit) { fAngleCorrect = doit; }
51   /** 
52    * Whether to do sharing corrections 
53    * 
54    * @param doit Whether to do sharing corrections 
55    */
56   void SetSharingCorrect(Bool_t doit) { fSharingCorrect = doit; }
57   /** 
58    * Set the noise factor 
59    * 
60    * @param f Noise factor 
61    */
62   void SetNoiseFactor(Float_t f) { fNoiseFactor = f; }
63
64   /** 
65    * Get low flux parameter
66    *
67    * @return low flux parameters 
68    */  
69   static AliFMDRecoParam* GetLowFluxParam();
70   /** 
71    * Get high flux parameter
72    *
73    * @return high flux parameters 
74    */  
75   static AliFMDRecoParam* GetHighFluxParam();
76   /** 
77    * Get parameters for a specific species 
78    * 
79    * @param specie Species 
80    * 
81    * @return Reconstruction paramters 
82    */
83   static AliFMDRecoParam* GetParam(AliRecoParam::EventSpecie_t specie);
84 private:
85   Float_t fNoiseFactor;    // Noise suppression factor 
86   Bool_t  fAngleCorrect;   // Whether to do angle correction or not
87   Bool_t  fSharingCorrect; // Whether to do sharing correction or not
88   
89   ClassDef(AliFMDRecoParam, 1)
90 };
91
92
93 #endif
94 // Local Variables:
95 //  mode: C++ 
96 // End: