]>
Commit | Line | Data |
---|---|---|
409f8c84 | 1 | #ifndef ALIITSRESPONSESPDDUBNA_H |
2 | #define ALIITSRESPONSESPDDUBNA_H | |
12e7c97c | 3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
409f8c84 | 7 | |
12e7c97c | 8 | #include <TRandom.h> |
703a4e51 | 9 | class TString; |
10 | ||
12e7c97c | 11 | |
12 | #include "AliITSresponse.h" | |
409f8c84 | 13 | |
14 | //---------------------------------------------- | |
409f8c84 | 15 | // ITS response class for SPD |
12e7c97c | 16 | class AliITSresponseSPDdubna : public AliITSresponse { |
f74211b0 | 17 | public: |
12e7c97c | 18 | AliITSresponseSPDdubna(); |
19 | virtual ~AliITSresponseSPDdubna(){}// destructror | |
703a4e51 | 20 | |
21 | //abstract methods in AliITSresponse not implemented in this class | |
22 | virtual void GiveCompressParam(Int_t *) const | |
23 | {NotImplemented("GiveCompressParam");} | |
24 | virtual void SetDriftSpeed(Float_t /* p1 */) | |
25 | {NotImplemented("SetDriftSpeed");} | |
26 | virtual Float_t DriftSpeed() const | |
27 | {NotImplemented("DrifSpeed"); return 0.;} | |
28 | virtual void SetElectronics(Int_t /* i */) | |
29 | {NotImplemented("SetElectronics");} | |
30 | virtual Int_t Electronics() const {NotImplemented("Electronics"); return 0;} | |
31 | virtual void SetMaxAdc(Float_t /* adc */) {NotImplemented("SetMaxAdc");} | |
32 | virtual Float_t MaxAdc() const {NotImplemented("MaxAdc"); return 0.;} | |
33 | virtual void SetDynamicRange(Float_t /*dr */) | |
34 | {NotImplemented("SetDynamicRange");} | |
35 | virtual Float_t DynamicRange() const | |
36 | {NotImplemented("DynamicRange"); return 0.;} | |
37 | virtual void SetChargeLoss(Float_t /* cl */) | |
38 | {NotImplemented("SetChargeLoss"); } | |
39 | virtual Float_t ChargeLoss() const | |
40 | {NotImplemented("ChargeLoss"); return 0.;} | |
41 | virtual void SetDiffCoeff(Float_t /* a */, Float_t /* b */) | |
42 | {NotImplemented("SetDiffCoeff");} | |
43 | virtual void DiffCoeff(Float_t & /* a */,Float_t & /* b */) const | |
44 | {NotImplemented("DiffCoeff");} | |
45 | virtual void SetDetParam(Float_t *) | |
46 | {NotImplemented("SetDetParam");} | |
47 | virtual void GetDetParam(Float_t *) const | |
48 | {NotImplemented("GetDetParam");} | |
49 | virtual void SetNDetParam(Int_t /* n */) | |
50 | {NotImplemented("SetNDetParam");} | |
51 | virtual Int_t NDetParam() const | |
52 | {NotImplemented("NDetParam"); return 0;} | |
53 | virtual void SetParamOptions(const char* /* a */,const char* /* b */) | |
54 | {NotImplemented("SetParamOptions");} | |
55 | virtual void ParamOptions(char *,char*) const | |
56 | {NotImplemented("ParamOptions");} | |
57 | virtual void SetZeroSupp(const char*) | |
58 | {NotImplemented("SetZeroSupp");} | |
59 | virtual const char *ZeroSuppOption() const | |
60 | {NotImplemented("ZeroSuppression"); return "";} | |
61 | virtual void SetNSigmaIntegration(Float_t) | |
62 | {NotImplemented("SetNSigmaIntegration");} | |
63 | virtual Float_t NSigmaIntegration() const | |
64 | {NotImplemented("NSigmaIntegration"); return 0.;} | |
65 | virtual void SetNLookUp(Int_t) | |
66 | {NotImplemented("SetNLookUp");} | |
67 | virtual void SetSigmaSpread(Float_t, Float_t) | |
68 | {NotImplemented("SetSigmaSpread");} | |
69 | virtual void SigmaSpread(Float_t & /* p1 */,Float_t & /* p2 */) const | |
70 | {NotImplemented("SigmaSpread");} | |
71 | ||
72 | // Implementation of virtual member functions declared in AliITSresponse | |
12e7c97c | 73 | // set noise and baseline |
703a4e51 | 74 | virtual void SetNoiseParam(Float_t n, Float_t b) { |
12e7c97c | 75 | fNoise=n; fBaseline=b;} |
703a4e51 | 76 | virtual void GetNoiseParam(Float_t &n, Float_t &b) const { |
12e7c97c | 77 | n=fNoise; b=fBaseline;} // get noise and baseline |
12e7c97c | 78 | // Zero-suppression option threshold |
703a4e51 | 79 | virtual void SetThresholds(Float_t th, Float_t /* dum */) {fThreshold=th;} |
80 | virtual void Thresholds(Float_t & thr, Float_t & /*dum */) const | |
81 | {thr = fThreshold;} | |
82 | ||
83 | // Prints out the content of this class in ASCII format. | |
84 | virtual void Print(ostream *os) const; | |
85 | ||
86 | // Reads in the content of this class in the format of Print | |
87 | virtual void Read(istream *is); | |
88 | ||
89 | //Declaration of member functions peculiar to this class | |
90 | // Applies a random noise and addes the baseline | |
91 | Float_t ApplyBaselineAndNoise() const {return fBaseline+ | |
92 | fNoise*gRandom->Gaus();} | |
93 | //Returns just baseline value | |
94 | Float_t GetBaseline() const {return fBaseline;} | |
95 | // Returns just noise value | |
96 | Float_t GetNoise() const {return fNoise;} | |
12e7c97c | 97 | // Get zero-suppression threshold |
703a4e51 | 98 | Float_t GetThreshold() const {return fThreshold;} |
12e7c97c | 99 | // Sets the coupling probabilities for columns and rows |
703a4e51 | 100 | void SetCouplings(Float_t ccol=0.,Float_t crow=0.){fCouplCol=ccol; |
12e7c97c | 101 | fCouplRow=crow;} |
102 | // Gets the coupling probabilities for columns and rows | |
703a4e51 | 103 | void GetCouplings(Float_t &ccol,Float_t &crow) const |
104 | {ccol=fCouplCol; crow=fCouplRow;} | |
105 | // Returns the fraction of dead pixels | |
106 | Float_t GetFractionDeadPixels() const {return fDeadPixels;} | |
12e7c97c | 107 | // Sets the fraction of dead pixels |
703a4e51 | 108 | void SetFractionDeadPixels(Float_t f=0.01){fDeadPixels = f;} |
12e7c97c | 109 | // Returns a logical if a pixels is dead or not |
703a4e51 | 110 | Bool_t IsPixelDead(Int_t mod,Int_t ix,Int_t iz) const ; |
f74211b0 | 111 | |
703a4e51 | 112 | ClassDef(AliITSresponseSPDdubna,3) // SPD response |
113 | ||
f74211b0 | 114 | protected: |
703a4e51 | 115 | static const Float_t fgkNoiseDefault; // default for fNoise |
116 | static const Float_t fgkThresholdDefault; //default for fThreshold | |
12e7c97c | 117 | Float_t fNoise; // Noise value |
118 | Float_t fBaseline; // Baseline value | |
119 | Float_t fCouplCol; // Coupling Probability along columns | |
120 | Float_t fCouplRow; // Coupling Probability along rows | |
121 | Float_t fThreshold; // Zero-Suppression threshold | |
122 | Float_t fDeadPixels; // Fraction of dead pixels. | |
f74211b0 | 123 | }; |
12e7c97c | 124 | // Input and output function for standard C++ input/output. |
125 | ostream& operator<<(ostream &os,AliITSresponseSPDdubna &source); | |
126 | istream& operator>>(istream &os,AliITSresponseSPDdubna &source); | |
127 | ||
409f8c84 | 128 | #endif |