]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSresponseSSD.h
Updated version of the Bari code to work with the HEAD. A new test macros has also...
[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 :
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   
21   virtual void    SetDiffCoeff(Float_t p1=0.,Float_t dummy=0.) {
22     // Diffusion coefficient
23     fDiffCoeff=p1;
24   }
25   virtual void    DiffCoeff(Float_t &diffc,Float_t &dummy) {
26     // Get diffusion coefficient
27     diffc= fDiffCoeff;
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   
39   virtual void    SetParamOptions(const char *opt1="", const char *opt2="") {
40     // parameters: "SetInvalid" to simulate the invalid strips
41     fOption1=opt1; fOption2=opt2;
42   }
43   virtual void    ParamOptions(char *opt1,char *opt2) {
44     // options
45      strcpy(opt1,fOption1.Data());  strcpy(opt2,fOption2.Data());
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
64   virtual void    SetDataType(const char *data="simulated") {
65   // Type of data - real or simulated
66     fDataType=data;
67   }
68   virtual const char  *DataType() const {
69     // Get data type
70     return fDataType.Data();
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 
85   Float_t *fDetPar;         //[fNPar] Array of parameters 
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   
94   TString fOption1;         // Simulate invalid strips option
95   TString fOption2;         // Not used for the moment
96   
97   TString  fDataType;       // Type of data - real or simulated
98   
99   ClassDef(AliITSresponseSSD,1) //Response class for SSD 
100
101     };
102
103
104
105 #endif
106
107
108
109
110
111
112