]>
Commit | Line | Data |
---|---|---|
ba030c0e | 1 | #ifndef ALI_MUON_ST1_RESPONSE_PARAMETER_H |
2 | #define ALI_MUON_ST1_RESPONSE_PARAMETER_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | /* $Id$ */ | |
30178c30 | 8 | // Revision of includes 07/05/2004 |
ba030c0e | 9 | |
692de412 | 10 | /// \ingroup sim |
11 | /// \class AliMUONSt1ResponseParameter | |
12 | /// \brief Describes a set of filters to be applied to a digital value | |
13 | /// | |
14 | /// Describes a set of filters to be applied to a digital value | |
15 | /// in order to simulate electronics characteristics | |
16 | /// (pedestal, noise, sticky bits, etc....) | |
17 | /// Threshold levels for the MANU zero supression algorithm are included. | |
18 | /// | |
19 | /// Authors: David Guez, Ivana Hrivnacova, Marion MacCormick; IPN Orsay | |
ba030c0e | 20 | |
21 | #include <TNamed.h> | |
3c25381f | 22 | |
23 | class TString; | |
ba030c0e | 24 | |
25 | class AliMUONSt1ResponseParameter : public TNamed | |
26 | { | |
5f91c9e8 | 27 | public: |
28 | typedef enum {kNone,kValue,kGauss,kFile} TMode; | |
29 | typedef struct {Double_t mean; Double_t sigma;} TGaussParam; | |
30 | ||
ba030c0e | 31 | public: |
32 | AliMUONSt1ResponseParameter(); | |
33 | AliMUONSt1ResponseParameter(const TString& name,const TString& title); | |
34 | virtual ~AliMUONSt1ResponseParameter(); | |
35 | ||
36 | void SetState(Bool_t state) ; | |
37 | void SetPedestal(Double_t val); | |
38 | void SetPedestal(Double_t mean,Double_t sigma); | |
39 | void SetPedestal(const TString& fileName); | |
40 | void UnSetPedestal(); | |
41 | void SetNoise(Double_t val); | |
42 | void SetNoise(Double_t mean,Double_t sigma); | |
43 | void SetNoise(const TString& fileName); | |
44 | void SetNofSigma(Int_t nofSigma); | |
45 | void SetStickyBitOn (Int_t bit,Int_t val=1); | |
46 | void SetStickyBitOff(Int_t bit,Int_t val=1); | |
47 | Int_t ApplyPedestal(Int_t base,Int_t GC) const; | |
48 | Int_t ApplyStickyBits(Int_t base) const; | |
49 | Bool_t HasPedestal() const {return fPedestalMode != kNone;} | |
50 | Bool_t GetState() const {return fState;} | |
5f91c9e8 | 51 | |
ba030c0e | 52 | private: |
3c25381f | 53 | static const Int_t fgkNofChannels=64; // number of channels |
ba030c0e | 54 | typedef union { |
5f91c9e8 | 55 | //Double_t values[fgkNofChannels]; |
56 | Double_t values[64]; | |
ba030c0e | 57 | Double_t value; |
58 | TGaussParam gauss; | |
59 | } TParam; | |
60 | ||
61 | Double_t Choose(TMode mode,TParam param,Int_t GC) const; | |
62 | TMode fPedestalMode; // mode for pedestal values | |
63 | TParam fPedestalParam; // pedestal access parameters | |
64 | TMode fNoiseMode; // mode for noise values | |
65 | TParam fNoiseParam; // noise access parameters | |
66 | Int_t fNofSigma; // No of sigma for threshold (zero supression) | |
67 | Bool_t fState; // is the element on/off | |
68 | Int_t fStickyOn; // which bits are always on (mask) . | |
69 | Int_t fStickyOff; // which bits are always off (mask). | |
70 | ||
71 | ClassDef(AliMUONSt1ResponseParameter,1) // electronics parmeters for Response | |
72 | }; | |
73 | #endif //ALI_MUON_ST1_RESPONSE_PARAMETER_H |