]>
Commit | Line | Data |
---|---|---|
b0f5e3fc | 1 | #ifndef ALIITSRESPONSESSD_H |
2 | #define ALIITSRESPONSESSD_H | |
3 | ||
4 | #include "AliITSresponse.h" | |
5 | ||
6 | // response for SSD | |
7 | ||
8 | //----------------------------- | |
9 | class AliITSresponseSSD : | |
10 | public AliITSresponse { | |
11 | ||
12 | public: | |
13 | ||
14 | AliITSresponseSSD(); | |
15 | virtual ~AliITSresponseSSD(); | |
16 | AliITSresponseSSD(const AliITSresponseSSD &source); // copy constructor | |
17 | AliITSresponseSSD& operator=(const AliITSresponseSSD &source); // ass. op. | |
18 | ||
e8189707 | 19 | virtual void SetDiffCoeff(Float_t p1=0.,Float_t dummy=0.) { |
b0f5e3fc | 20 | // Diffusion coefficient |
21 | fDiffCoeff=p1; | |
22 | } | |
e8189707 | 23 | virtual void DiffCoeff(Float_t &diffc,Float_t &dummy) { |
b0f5e3fc | 24 | // Get diffusion coefficient |
e8189707 | 25 | diffc= fDiffCoeff; |
b0f5e3fc | 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 | ||
e8189707 | 37 | virtual void SetParamOptions(const char *opt1="", const char *opt2="") { |
b0f5e3fc | 38 | // parameters: "SetInvalid" to simulate the invalid strips |
39 | fOption1=opt1; fOption2=opt2; | |
40 | } | |
e8189707 | 41 | virtual void ParamOptions(char *opt1,char *opt2) { |
b0f5e3fc | 42 | // options |
e8189707 | 43 | strcpy(opt1,fOption1.Data()); strcpy(opt2,fOption2.Data()); |
b0f5e3fc | 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 | ||
e8189707 | 62 | virtual void SetDataType(const char *data="simulated") { |
b0f5e3fc | 63 | // Type of data - real or simulated |
64 | fDataType=data; | |
65 | } | |
e8189707 | 66 | virtual const char *DataType() const { |
b0f5e3fc | 67 | // Get data type |
e8189707 | 68 | return fDataType.Data(); |
b0f5e3fc | 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 | ||
81 | protected: | |
82 | Int_t fNPar; // Number of detector param | |
e8189707 | 83 | Float_t *fDetPar; //[fNPar] Array of parameters |
b0f5e3fc | 84 | |
85 | Float_t fNoiseP; // Noise on Pside | |
86 | Float_t fNoiseN; // Noise on Nside | |
87 | ||
88 | Float_t fSigmaP; // Sigma charge spread on Pside | |
89 | Float_t fSigmaN; // Sigma charge spread on Nside | |
90 | Float_t fDiffCoeff; // Diffusion Coefficient | |
91 | ||
e8189707 | 92 | TString fOption1; // Simulate invalid strips option |
93 | TString fOption2; // Not used for the moment | |
b0f5e3fc | 94 | |
e8189707 | 95 | TString fDataType; // Type of data - real or simulated |
b0f5e3fc | 96 | |
97 | ClassDef(AliITSresponseSSD,1) //Response class for SSD | |
98 | ||
99 | }; | |
100 | ||
101 | ||
102 | ||
103 | #endif | |
104 | ||
105 | ||
106 | ||
107 | ||
108 | ||
109 | ||
110 |