Release version of ITS code
[u/mrichter/AliRoot.git] / ITS / AliITSresponseSSD.h
CommitLineData
b0f5e3fc 1#ifndef ALIITSRESPONSESSD_H
2#define ALIITSRESPONSESSD_H
3
4#include "AliITSresponse.h"
5
6// response for SSD
7
8//-----------------------------
9class AliITSresponseSSD :
10public AliITSresponse {
11
12public:
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
81protected:
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