]> git.uio.no Git - u/mrichter/AliRoot.git/blob - FMD/AliFMDParameters.h
Updated flags
[u/mrichter/AliRoot.git] / FMD / AliFMDParameters.h
1 #ifndef ALIFMDPARAMETERS_H
2 #define ALIFMDPARAMETERS_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
4  * reserved. 
5  *
6  * Latest changes by Christian Holm Christensen <cholm@nbi.dk>
7  *
8  * See cxx source for full Copyright notice                               
9  */
10
11 //____________________________________________________________________
12 //
13 //  Singleton class to handle various parameters (not geometry) of the
14 //  FMD
15 //
16 #ifndef ROOT_TNamed
17 # include <TNamed.h>
18 #endif
19
20 class AliFMDParameters : public TNamed
21 {
22 public:
23   static AliFMDParameters* Instance();
24   
25   // Set various parameters 
26   void     SetVA1MipRange(UShort_t r=20)          { fVA1MipRange = r; }
27   void     SetAltroChannelSize(UShort_t s=1024)   { fAltroChannelSize = s;}
28   void     SetChannelsPerAltro(UShort_t size=128) { fChannelsPerAltro = size; }
29   void     SetZeroSuppression(UShort_t s=0)       { fZeroSuppression = s; }
30   void     SetSampleRate(UShort_t r=1)            { fSampleRate = (r>2?2:r);}
31   void     SetPedestal(Float_t p=10)              { fPedestal = p; }
32   void     SetPedestalWidth(Float_t w=1)          { fPedestalWidth = w; }
33   void     SetPedestalFactor(Float_t f=3)         { fPedestalFactor = f; }
34
35   // Get various parameters
36   UShort_t GetVA1MipRange()          const { return fVA1MipRange; }
37   UShort_t GetAltroChannelSize()     const { return fAltroChannelSize; }
38   UShort_t GetChannelsPerAltro()     const { return fChannelsPerAltro; }
39   UShort_t GetZeroSuppression()      const { return fZeroSuppression; }
40   UShort_t GetSampleRate()           const { return fSampleRate; }
41   Float_t  GetEdepMip()              const;
42   Float_t  GetPedestal()             const { return fPedestal; }
43   Float_t  GetPedestalWidth()        const { return fPedestalWidth; }
44   Float_t  GetPedestalFactor()       const { return fPedestalFactor; }
45
46   enum { 
47     kBaseDDL = 0x1000 // DDL offset for the FMD
48   };
49 protected:
50   AliFMDParameters();
51   virtual ~AliFMDParameters() {}
52   static AliFMDParameters* fgInstance;
53   
54   const Float_t fSiDeDxMip;        // MIP dE/dx in Silicon
55   UShort_t      fVA1MipRange;      // # MIPs the pre-amp can do    
56   UShort_t      fAltroChannelSize; // Largest # to store in 1 ADC ch.
57   UShort_t      fChannelsPerAltro; // Number of pre-amp. channels/adc chan.
58   UShort_t      fZeroSuppression;  // Threshold for zero-suppression
59   UShort_t      fSampleRate;       // Times the ALTRO samples pre-amp.
60   Float_t       fPedestal;         // Pedestal to subtract
61   Float_t       fPedestalWidth;    // Width of pedestal
62   Float_t       fPedestalFactor;   // Number of pedestal widths
63
64   
65   ClassDef(AliFMDParameters,1)
66 };
67
68 #endif
69 //____________________________________________________________________
70 //
71 // Local Variables:
72 //   mode: C++
73 // End:
74 //
75 // EOF
76 //
77