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