]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONSt1ResponseParameter.h
Removing obsolete classes (Chrstian)
[u/mrichter/AliRoot.git] / MUON / AliMUONSt1ResponseParameter.h
CommitLineData
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
23class TString;
ba030c0e 24
25class 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