]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONSt1ResponseParameter.h
Changes in ZDC geometry to avoid overlaps with other detectors
[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$ */
8
9// Authors: David Guez, Ivana Hrivnacova, Marion MacCormick; IPN Orsay
10//
11// Class AliMUONSt1ResponseParameter
12// ---------------------------------
13// Describes a set of filters to be applied to a digital value
14// in order to simulate electronics characteristics
15// (pedestal, noise, sticky bits, etc....)
16// Threshold levels for the MANU zero supression algorithm are included.
17
18#include <TNamed.h>
19#include <TString.h>
20
21class AliMUONSt1ResponseParameter : public TNamed
22{
23 public:
24 AliMUONSt1ResponseParameter();
25 AliMUONSt1ResponseParameter(const TString& name,const TString& title);
26 virtual ~AliMUONSt1ResponseParameter();
27
28 void SetState(Bool_t state) ;
29 void SetPedestal(Double_t val);
30 void SetPedestal(Double_t mean,Double_t sigma);
31 void SetPedestal(const TString& fileName);
32 void UnSetPedestal();
33 void SetNoise(Double_t val);
34 void SetNoise(Double_t mean,Double_t sigma);
35 void SetNoise(const TString& fileName);
36 void SetNofSigma(Int_t nofSigma);
37 void SetStickyBitOn (Int_t bit,Int_t val=1);
38 void SetStickyBitOff(Int_t bit,Int_t val=1);
39 Int_t ApplyPedestal(Int_t base,Int_t GC) const;
40 Int_t ApplyStickyBits(Int_t base) const;
41 Bool_t HasPedestal() const {return fPedestalMode != kNone;}
42 Bool_t GetState() const {return fState;}
43 private:
44 static const Int_t fgkNofChannels=64;
45 typedef enum {kNone,kValue,kGauss,kFile} TMode;
46 typedef struct {Double_t mean; Double_t sigma;} TGaussParam;
47 typedef union {
48 Double_t values[fgkNofChannels];
49 Double_t value;
50 TGaussParam gauss;
51 } TParam;
52
53 Double_t Choose(TMode mode,TParam param,Int_t GC) const;
54 TMode fPedestalMode; // mode for pedestal values
55 TParam fPedestalParam; // pedestal access parameters
56 TMode fNoiseMode; // mode for noise values
57 TParam fNoiseParam; // noise access parameters
58 Int_t fNofSigma; // No of sigma for threshold (zero supression)
59 Bool_t fState; // is the element on/off
60 Int_t fStickyOn; // which bits are always on (mask) .
61 Int_t fStickyOff; // which bits are always off (mask).
62
63 ClassDef(AliMUONSt1ResponseParameter,1) // electronics parmeters for Response
64};
65#endif //ALI_MUON_ST1_RESPONSE_PARAMETER_H