1 #ifndef ALIITSRESPONSESPD_H
2 #define ALIITSRESPONSESPD_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
10 #include "AliITSresponse.h"
11 //----------------------------------------------
13 // ITS response class for SPD
15 class AliITSresponseSPD : public AliITSresponse {
17 AliITSresponseSPD(); // default constructor
18 virtual ~AliITSresponseSPD() {} // destructror
20 // Set Threshold and noise + threshold fluctuations parameter values
21 virtual void SetThresholds(Double_t thresh, Double_t sigma)
22 {fThresh=thresh; fSigma=sigma;}
23 // Get Threshold and noise + threshold fluctuations parameter values
24 virtual void Thresholds(Double_t &thresh, Double_t &sigma) const
25 {thresh=fThresh; sigma=fSigma;}
27 // set coupling parameters
28 virtual void SetCouplingParam(Double_t col, Double_t row)
29 {fCouplCol=col; fCouplRow=row;}
30 // get coupling parameters
31 virtual void GetCouplingParam(Double_t &col, Double_t &row) const
32 {col=fCouplCol; row=fCouplRow;}
34 //Returns just baseline value
35 Double_t GetBaseline() const {return fBaseline;}
36 // Set noise and baseline in one (abstract method of AliITSresponse)
37 virtual void SetNoiseParam(Double_t n,Double_t b)
38 {fNoise = n;fBaseline = b;}
39 // Get noise and baseline in one (abstract method of AliITSresponse)
40 virtual void GetNoiseParam(Double_t &n,Double_t &b) const
41 {n =fNoise;b = fBaseline;}
42 // Returns just noise value
43 Double_t GetNoise() const {return fNoise;}
44 //Declaration of member functions peculiar to this class
45 // Applies a random noise and addes the baseline
46 Double_t ApplyBaselineAndNoise() const {return fBaseline+
47 fNoise*gRandom->Gaus();}
49 //Declaration of member functions peculiar to this class
50 // Sets the fraction of Dead SPD Pixels
51 void SetFractionDead(Double_t d=0.01){ fDeadPixels = d;}
52 // Retruns the fraction of Dead SPD Pixels
53 Double_t GetFractionDead() const {return fDeadPixels;}
54 // Returns a logical if a pixels is dead or not
55 Bool_t IsPixelDead(Int_t mod,Int_t ix,Int_t iz) const ;
57 //abstract methods in AliITSresponse not implemented in this class
58 virtual void SetDiffCoeff(Double_t,Double_t)
59 {NotImplemented("GiveCompressParam");}
60 virtual void DiffCoeff(Double_t &,Double_t &)const
61 {NotImplemented("GiveCompressParam");}
62 virtual void GiveCompressParam(Int_t *) const
63 {NotImplemented("GiveCompressParam");}
64 virtual void SetDetParam(Double_t *)
65 {NotImplemented("SetDetParam");}
66 virtual void GetDetParam(Double_t *) const
67 {NotImplemented("GetDetParam");}
68 virtual void SetNDetParam(Int_t /* n */)
69 {NotImplemented("SetNDetParam");}
70 virtual Int_t NDetParam() const
71 {NotImplemented("NDetParam"); return 0;}
72 virtual void SetParamOptions(const char* /* a */,const char* /* b */)
73 {NotImplemented("SetParamOptions");}
74 virtual void ParamOptions(char *,char*) const
75 {NotImplemented("ParamOptions");}
76 virtual void SetZeroSupp(const char*)
77 {NotImplemented("SetZeroSupp");}
78 virtual const char *ZeroSuppOption() const
79 {NotImplemented("ZeroSuppression"); return "";}
80 virtual void SetNSigmaIntegration(Double_t)
81 {NotImplemented("SetNSigmaIntegration");}
82 virtual Double_t NSigmaIntegration() const
83 {NotImplemented("NSigmaIntegration"); return 0.;}
84 virtual void SetNLookUp(Int_t)
85 {NotImplemented("SetNLookUp");}
86 virtual void SetSigmaSpread(Double_t, Double_t)
87 {NotImplemented("SetSigmaSpread");}
88 virtual void SigmaSpread(Double_t & /* p1 */,Double_t & /* p2 */) const
89 {NotImplemented("SigmaSpread");}
92 static const Double_t fgkDiffCoeffDefault; //default for fDiffCoeff
93 static const Double_t fgkThreshDefault; //default for fThresh
94 static const Double_t fgkSigmaDefault; //default for fSigma
95 Double_t fBaseline; // Base-line value
96 Double_t fNoise; // Gaussian noise scale
97 Double_t fThresh; // Threshold value
98 Double_t fSigma; // Noise + threshold fluctuations value
99 Double_t fCouplCol; // Coupling probability along a column
100 Double_t fCouplRow; // Coupling probability along a row
101 Double_t fDeadPixels; // the fraction of dead pixels
104 ClassDef(AliITSresponseSPD,3) // SPD response