]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSresponseSSD.h
Changes made to support PreDigits (SDigits) plus other helpful changes.
[u/mrichter/AliRoot.git] / ITS / AliITSresponseSSD.h
1 #ifndef ALIITSRESPONSESSD_H
2 #define ALIITSRESPONSESSD_H
3  
4 #include "AliITSresponse.h"
5
6 class TString;
7
8 // response for SSD
9
10 //-----------------------------
11 class AliITSresponseSSD : public AliITSresponse {
12
13  public:
14     AliITSresponseSSD();
15     virtual ~AliITSresponseSSD();
16     AliITSresponseSSD(const AliITSresponseSSD &source); // copy constructor
17     AliITSresponseSSD& operator=(const AliITSresponseSSD &source); // ass. op.
18
19     virtual void    SetDiffCoeff(Float_t p1=0.,Float_t dummy=0.) {
20         // Diffusion coefficient
21         fDiffCoeff=p1;
22     }
23     virtual void    DiffCoeff(Float_t &diffc,Float_t &dummy) {
24         // Get diffusion coefficient
25         diffc= fDiffCoeff;
26     }
27
28     virtual  void   SetNoiseParam(Float_t np=420., Float_t nn=625.) {
29         // set noise par
30         fNoiseP=np; fNoiseN=nn;
31     }
32     virtual void    GetNoiseParam(Float_t &np, Float_t &nn) {
33         // get noise par
34         np=fNoiseP; nn=fNoiseN;
35     }
36
37     virtual void    SetParamOptions(const char *opt1="", const char *opt2="") {
38         // parameters: "SetInvalid" to simulate the invalid strips
39         fOption1=opt1; fOption2=opt2;
40     }
41     virtual void    ParamOptions(char *opt1,char *opt2) {
42         // options
43         strcpy(opt1,fOption1.Data());  strcpy(opt2,fOption2.Data());
44     }
45
46     // Number of parameters to be set
47     // 4 couplings, mean number of invalid strips, RMS of invalid strips
48     virtual  void   SetNDetParam(Int_t npar=6) {
49         // set number of param
50         fNPar=npar;
51     }
52
53     virtual  void   SetDetParam(Float_t *par);
54
55     // Parameters options
56     virtual Int_t   NDetParam() {
57         // number of param
58         return fNPar;
59     }
60     virtual void    GetDetParam(Float_t *dpar); 
61
62     virtual void    SetDataType(const char *data="simulated") {
63         // Type of data - real or simulated
64         fDataType=data;
65     }
66     virtual const char  *DataType() const {
67         // Get data type
68         return fDataType.Data();
69     }
70
71     virtual void    SetSigmaSpread(Float_t p1=3., Float_t p2=2.) {
72         // Set sigmas of the charge spread function: Pside-Nside
73         // square of (microns)
74         fSigmaP=p1; fSigmaN=p2;
75     }
76     virtual void    SigmaSpread(Float_t &sP, Float_t &sN) {
77         // Get sigmas for the charge spread 
78         sP=fSigmaP; sN=fSigmaN;
79     }
80     virtual void SetADCpereV(Float_t a=50./30000.0){ // Sets electron-hole
81         // pairs to ADC value conversion factor are rather arbitrary
82         // (need tuning) minimum ionizing particle--> ~30000 pairs--> ADC
83         // channel 50
84         fADCpereV = a;
85     }
86     virtual Double_t DEvToADC(Double_t eV){ // Converts electron-hole pairs to
87         // ADC value conversion factor are rather arbitrary (need tuning)
88         // minimum ionizing particle--> ~30000 pairs--> ADC channel 50
89         return eV*fADCpereV;
90     }
91     virtual Int_t IEvToADC(Double_t eV){ // Converts electron-hole pairs to
92         // ADC value
93         return ((Int_t) DEvToADC(eV));
94     }
95   
96  protected:
97     Int_t   fNPar;            // Number of detector param 
98     Float_t *fDetPar;         //[fNPar] Array of parameters
99
100     Float_t fNoiseP;          // Noise on Pside
101     Float_t fNoiseN;          // Noise on Nside
102
103     Float_t fSigmaP;          // Sigma charge spread on Pside
104     Float_t fSigmaN;          // Sigma charge spread on Nside
105     Float_t fDiffCoeff;       // Diffusion Coefficient
106
107     Float_t fADCpereV;        // Constant to convert eV to ADC.
108
109     TString fOption1;         // Simulate invalid strips option
110     TString fOption2;         // Not used for the moment
111     TString fDataType;       // Type of data - real or simulated
112
113     ClassDef(AliITSresponseSSD,1) //Response class for SSD
114 };
115 #endif
116
117
118
119
120
121
122