]>
Commit | Line | Data |
---|---|---|
b0f5e3fc | 1 | #ifndef ALIITSRESPONSESPD_H |
2 | #define ALIITSRESPONSESPD_H | |
2aea926d | 3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* | |
7 | $Id$ | |
8 | */ | |
aacedc3e | 9 | #include "TRandom.h" |
b0f5e3fc | 10 | #include "AliITSresponse.h" |
11 | //---------------------------------------------- | |
12 | // | |
13 | // ITS response class for SPD | |
14 | // | |
2aea926d | 15 | class AliITSresponseSPD : public AliITSresponse { |
16 | public: | |
17 | AliITSresponseSPD(); // default constructor | |
18 | virtual ~AliITSresponseSPD() {} // destructror | |
703a4e51 | 19 | |
21b825a4 | 20 | // Set Threshold and noise + threshold fluctuations parameter values |
aacedc3e | 21 | virtual void SetThresholds(Double_t thresh, Double_t sigma) |
2aea926d | 22 | {fThresh=thresh; fSigma=sigma;} |
21b825a4 | 23 | // Get Threshold and noise + threshold fluctuations parameter values |
aacedc3e | 24 | virtual void Thresholds(Double_t &thresh, Double_t &sigma) const |
2aea926d | 25 | {thresh=fThresh; sigma=fSigma;} |
aacedc3e | 26 | |
21b825a4 | 27 | // set coupling parameters |
aacedc3e | 28 | virtual void SetCouplingParam(Double_t col, Double_t row) |
29 | {fCouplCol=col; fCouplRow=row;} | |
21b825a4 | 30 | // get coupling parameters |
aacedc3e | 31 | virtual void GetCouplingParam(Double_t &col, Double_t &row) const |
32 | {col=fCouplCol; row=fCouplRow;} | |
703a4e51 | 33 | |
aacedc3e | 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();} | |
48 | ||
49 | //Declaration of member functions peculiar to this class | |
2aea926d | 50 | // Sets the fraction of Dead SPD Pixels |
aacedc3e | 51 | void SetFractionDead(Double_t d=0.01){ fDeadPixels = d;} |
2aea926d | 52 | // Retruns the fraction of Dead SPD Pixels |
aacedc3e | 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 ; | |
703a4e51 | 56 | |
57 | //abstract methods in AliITSresponse not implemented in this class | |
aacedc3e | 58 | virtual void SetDiffCoeff(Double_t,Double_t) |
59 | {NotImplemented("GiveCompressParam");} | |
60 | virtual void DiffCoeff(Double_t &,Double_t &)const | |
61 | {NotImplemented("GiveCompressParam");} | |
703a4e51 | 62 | virtual void GiveCompressParam(Int_t *) const |
63 | {NotImplemented("GiveCompressParam");} | |
aacedc3e | 64 | virtual void SetDetParam(Double_t *) |
703a4e51 | 65 | {NotImplemented("SetDetParam");} |
aacedc3e | 66 | virtual void GetDetParam(Double_t *) const |
703a4e51 | 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 "";} | |
aacedc3e | 80 | virtual void SetNSigmaIntegration(Double_t) |
703a4e51 | 81 | {NotImplemented("SetNSigmaIntegration");} |
aacedc3e | 82 | virtual Double_t NSigmaIntegration() const |
703a4e51 | 83 | {NotImplemented("NSigmaIntegration"); return 0.;} |
84 | virtual void SetNLookUp(Int_t) | |
85 | {NotImplemented("SetNLookUp");} | |
aacedc3e | 86 | virtual void SetSigmaSpread(Double_t, Double_t) |
703a4e51 | 87 | {NotImplemented("SetSigmaSpread");} |
aacedc3e | 88 | virtual void SigmaSpread(Double_t & /* p1 */,Double_t & /* p2 */) const |
703a4e51 | 89 | {NotImplemented("SigmaSpread");} |
2aea926d | 90 | |
91 | protected: | |
aacedc3e | 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 | |
2aea926d | 102 | |
21b825a4 | 103 | |
703a4e51 | 104 | ClassDef(AliITSresponseSPD,2) // SPD response |
b0f5e3fc | 105 | }; |
106 | ||
107 | #endif |