]>
Commit | Line | Data |
---|---|---|
1a1fdef7 | 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 |