]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSresponseSPD.h
Added the function GetModuleTypeName, and inlined some functions for speed.
[u/mrichter/AliRoot.git] / ITS / AliITSresponseSPD.h
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                               */
5
6 /*
7 $Id$
8 */
9
10 #include "AliITSresponse.h"
11
12 //----------------------------------------------
13 //
14 // ITS response class for SPD
15 //
16 class AliITSresponseSPD :  public AliITSresponse {
17  public:
18     AliITSresponseSPD(); // default constructor
19     virtual ~AliITSresponseSPD() {} // destructror
20
21     // Implementation of virtual member functions declared in AliITSresponse 
22     // sets the diffusion coeffecient.
23     virtual  void   SetDiffCoeff(Float_t p1, Float_t /*dummy */) {fDiffCoeff=p1;}
24     // returns the diffusion coeffeciant
25     virtual  void   DiffCoeff(Float_t &p1, Float_t & /*p2 */) const 
26                              {p1 = fDiffCoeff;}
27     // Set Threshold and noise + threshold fluctuations parameter values
28     virtual  void   SetThresholds(Float_t thresh, Float_t sigma)
29         {fThresh=thresh; fSigma=sigma;}
30     // Get Threshold and noise + threshold fluctuations parameter values
31     virtual  void   Thresholds(Float_t &thresh, Float_t &sigma) const
32         {thresh=fThresh; sigma=fSigma;}
33     // set coupling parameters
34     virtual  void   SetNoiseParam(Float_t col, Float_t row)
35         {fCouplCol=col; fCouplRow=row;}   
36     // get coupling parameters
37     virtual  void   GetNoiseParam(Float_t &col, Float_t &row) const 
38         {col=fCouplCol; row=fCouplRow;}
39
40 //Declaration of member functions peculiar to this class
41     // Sets the fraction of Dead SPD Pixels
42     void SetFractionDead(Float_t d=0.01){ fDeadPixels = d;}
43     // Retruns the fraction of Dead SPD Pixels
44     Float_t GetFractionDead() const {return fDeadPixels;}
45
46     //abstract methods in AliITSresponse not implemented in this class
47     virtual void    SetDriftSpeed(Float_t /* p1 */)
48       {NotImplemented("SetDriftSpeed");}
49     virtual Float_t DriftSpeed() const 
50       {NotImplemented("DrifSpeed"); return 0.;}
51     virtual void    GiveCompressParam(Int_t *) const
52       {NotImplemented("GiveCompressParam");}
53     virtual void   SetElectronics(Int_t /* i */) 
54                     {NotImplemented("SetElectronics");}
55     virtual Int_t Electronics() const {NotImplemented("Electronics"); return 0;}
56     virtual void SetMaxAdc(Float_t /* adc */) {NotImplemented("SetMaxAdc");}
57     virtual Float_t MaxAdc() const {NotImplemented("MaxAdc"); return 0.;}
58     virtual void    SetDynamicRange(Float_t /*dr */) 
59       {NotImplemented("SetDynamicRange");}
60     virtual Float_t DynamicRange() const 
61       {NotImplemented("DynamicRange"); return 0.;}
62     virtual void    SetChargeLoss(Float_t /* cl */)
63       {NotImplemented("SetChargeLoss"); }
64     virtual Float_t ChargeLoss() const 
65       {NotImplemented("ChargeLoss"); return 0.;}
66     virtual  void   SetDetParam(Float_t *)
67       {NotImplemented("SetDetParam");}
68     virtual void   GetDetParam(Float_t *) const 
69       {NotImplemented("GetDetParam");}
70     virtual  void   SetNDetParam(Int_t /* n */)
71       {NotImplemented("SetNDetParam");}
72     virtual Int_t  NDetParam() const
73       {NotImplemented("NDetParam"); return 0;}
74     virtual void   SetParamOptions(const char* /* a */,const char* /* b */)
75       {NotImplemented("SetParamOptions");}
76     virtual void   ParamOptions(char *,char*) const
77       {NotImplemented("ParamOptions");} 
78     virtual void   SetZeroSupp(const char*)
79       {NotImplemented("SetZeroSupp");}
80     virtual const char *ZeroSuppOption() const 
81       {NotImplemented("ZeroSuppression"); return "";}
82     virtual void    SetNSigmaIntegration(Float_t)
83       {NotImplemented("SetNSigmaIntegration");}
84     virtual Float_t NSigmaIntegration() const
85       {NotImplemented("NSigmaIntegration"); return 0.;}
86     virtual void    SetNLookUp(Int_t) 
87       {NotImplemented("SetNLookUp");}
88     virtual void    SetSigmaSpread(Float_t, Float_t) 
89       {NotImplemented("SetSigmaSpread");}
90     virtual void    SigmaSpread(Float_t & /* p1 */,Float_t & /* p2 */) const 
91       {NotImplemented("SigmaSpread");}
92
93  protected:
94     static const Float_t fgkDiffCoeffDefault; //default for fDiffCoeff
95     static const Float_t fgkThreshDefault; //default for fThresh
96     static const Float_t fgkSigmaDefault; //default for fSigma
97     Float_t fDiffCoeff;       // Sigma diffusion coefficient (not used) 
98     Float_t fThresh;          // Threshold value
99     Float_t fSigma;           // Noise + threshold fluctuations value
100     Float_t fCouplCol;        // Coupling probability along a column
101     Float_t fCouplRow;        // Coupling probability along a row
102     Float_t fDeadPixels;      // the fraction of dead pixels
103
104
105     ClassDef(AliITSresponseSPD,2) // SPD response
106 };
107
108 #endif