]>
Commit | Line | Data |
---|---|---|
b0f5e3fc | 1 | #ifndef ALIITSRESPONSE_H |
2 | #define ALIITSRESPONSE_H | |
3 | ||
4 | ||
5 | #include <TObject.h> | |
e8189707 | 6 | |
b0f5e3fc | 7 | #include "AliITSsegmentation.h" |
8 | ||
1ca7869b | 9 | class TF1; |
10 | class TString; | |
b0f5e3fc | 11 | class AliITSgeom; |
12 | ||
13 | //---------------------------------------------- | |
14 | // | |
15 | // ITS response virtual base class | |
16 | // | |
17 | class AliITSresponse : | |
18 | public TObject { | |
19 | public: | |
e8189707 | 20 | |
21 | ||
22 | virtual ~AliITSresponse() {} | |
b0f5e3fc | 23 | // |
24 | // Configuration methods | |
25 | // | |
26 | ||
7551c5b2 | 27 | // Set Electronics |
28 | virtual void SetElectronics(Int_t p1) {} | |
29 | // Get Electronics | |
30 | virtual Int_t Electronics() {return 0;} | |
31 | ||
b0f5e3fc | 32 | // Set maximum Adc-count value |
33 | virtual void SetMaxAdc(Float_t p1) {} | |
34 | // Get maximum Adc-count value | |
35 | virtual Float_t MaxAdc() {return 0.;} | |
36 | ||
e8189707 | 37 | // Set maximum Adc-top value |
7551c5b2 | 38 | virtual void SetDynamicRange(Float_t p1) {} |
e8189707 | 39 | // Get maximum Adc-top value |
7551c5b2 | 40 | virtual Float_t DynamicRange() {return 0.0;} |
41 | ||
42 | // Set Charge Loss Linear Coefficient | |
43 | virtual void SetChargeLoss(Float_t p1) {} | |
44 | // Get Charge Loss Linear Coefficient | |
45 | virtual Float_t ChargeLoss() {return 0.0;} | |
b0f5e3fc | 46 | |
47 | // Diffusion coefficient | |
e8189707 | 48 | virtual void SetDiffCoeff(Float_t, Float_t) {} |
49 | // Get diffusion coefficients | |
50 | virtual void DiffCoeff(Float_t &,Float_t &) {} | |
b0f5e3fc | 51 | |
52 | // Temperature | |
53 | virtual void SetTemperature(Float_t) {} | |
54 | // Get temperature | |
55 | virtual Float_t Temperature() {return 0.;} | |
56 | // Type of data - real or simulated | |
e8189707 | 57 | virtual void SetDataType(const char *data) {} |
b0f5e3fc | 58 | // Get data type |
e8189707 | 59 | virtual const char *DataType() const {return "";} |
b0f5e3fc | 60 | |
61 | ||
62 | ||
e8189707 | 63 | // Set parameters options: "same" or read from "file" or "SetInvalid" or ... |
64 | virtual void SetParamOptions(const char* opt1,const char* opt2) {} | |
65 | // Set noise parameters | |
66 | virtual void SetNoiseParam(Float_t, Float_t) {} | |
b0f5e3fc | 67 | // Number of parameters to be set |
68 | virtual void SetNDetParam(Int_t) {} | |
e8189707 | 69 | // Set detector parameters: gain, coupling ... |
b0f5e3fc | 70 | virtual void SetDetParam(Float_t *) {} |
71 | ||
72 | // Parameters options | |
e8189707 | 73 | virtual void ParamOptions(char *,char*) {} |
b0f5e3fc | 74 | virtual Int_t NDetParam() {return 0;} |
75 | virtual void GetDetParam(Float_t *) {} | |
76 | virtual void GetNoiseParam(Float_t&, Float_t&) {} | |
77 | ||
e8189707 | 78 | // Zero-suppression option - could be 1D, 2D or non-ZeroSuppressed |
79 | virtual void SetZeroSupp(const char* opt) {} | |
b0f5e3fc | 80 | // Get zero-suppression option |
e8189707 | 81 | virtual const char *ZeroSuppOption() const {return "";} |
b0f5e3fc | 82 | // Set thresholds |
83 | virtual void SetThresholds(Float_t, Float_t) {} | |
84 | virtual void Thresholds(Float_t &, Float_t &) {} | |
85 | // Set min val | |
86 | virtual void SetMinVal(Int_t) {}; | |
87 | virtual Int_t MinVal() {return 0;}; | |
88 | ||
89 | // Set filenames | |
e8189707 | 90 | virtual void SetFilenames(const char *f1,const char *f2,const char *f3) {} |
b0f5e3fc | 91 | // Filenames |
e8189707 | 92 | virtual void Filenames(char*,char*,char*) {} |
b0f5e3fc | 93 | |
94 | ||
95 | virtual Float_t DriftSpeed() {return 0.;} | |
96 | virtual Bool_t OutputOption() {return kFALSE;} | |
74d0b35a | 97 | virtual Bool_t Do10to8() {return kTRUE;} |
b0f5e3fc | 98 | virtual void GiveCompressParam(Int_t *x) {} |
99 | ||
100 | // | |
101 | // Detector type response methods | |
102 | // Set number of sigmas over which cluster disintegration is performed | |
103 | virtual void SetNSigmaIntegration(Float_t p1) {} | |
104 | // Get number of sigmas over which cluster disintegration is performed | |
105 | virtual Float_t NSigmaIntegration() {return 0.;} | |
7551c5b2 | 106 | // Set number of bins for the gaussian lookup table |
107 | virtual void SetNLookUp(Int_t p1) {} | |
108 | // Get number of bins for the gaussian lookup table | |
109 | virtual Int_t GausNLookUp() {return 0;} | |
110 | // Get scaling factor for bin i-th from the gaussian lookup table | |
111 | virtual Float_t GausLookUp(Int_t) {return 0.;} | |
b0f5e3fc | 112 | // Set sigmas of the charge spread function |
113 | virtual void SetSigmaSpread(Float_t p1, Float_t p2) {} | |
114 | // Get sigmas for the charge spread | |
115 | virtual void SigmaSpread(Float_t &s1, Float_t &s2) {} | |
116 | ||
117 | ||
118 | // Pulse height from scored quantity (eloss) | |
119 | virtual Float_t IntPH(Float_t eloss) {return 0.;} | |
120 | // Charge disintegration | |
121 | virtual Float_t IntXZ(AliITSsegmentation *) {return 0.;} | |
122 | ||
123 | ClassDef(AliITSresponse,1) // Detector type response virtual base class | |
124 | }; | |
125 | #endif | |
126 | ||
127 | ||
128 | ||
129 | ||
130 | ||
131 | ||
132 |