Coding rule violations corrected.
[u/mrichter/AliRoot.git] / ITS / AliITSresponseSPD.h
CommitLineData
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 15class 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