]>
Commit | Line | Data |
---|---|---|
b0f5e3fc | 1 | #ifndef ALIITSRESPONSE_H |
2 | #define ALIITSRESPONSE_H | |
3 | ||
4 | ||
5 | #include <TObject.h> | |
6 | #include <TF1.h> | |
7 | #include "AliITSsegmentation.h" | |
8 | ||
9 | class AliITSgeom; | |
10 | ||
11 | //---------------------------------------------- | |
12 | // | |
13 | // ITS response virtual base class | |
14 | // | |
15 | class AliITSresponse : | |
16 | public TObject { | |
17 | public: | |
18 | // | |
19 | // Configuration methods | |
20 | // | |
21 | ||
22 | // Set maximum Adc-count value | |
23 | virtual void SetMaxAdc(Float_t p1) {} | |
24 | // Get maximum Adc-count value | |
25 | virtual Float_t MaxAdc() {return 0.;} | |
26 | ||
27 | // Set maximum Adc-magic value | |
28 | virtual void SetMagicValue(Float_t p1) {} | |
29 | // Get maximum Adc-magic value | |
30 | virtual Float_t MagicValue() {return 0.0;} | |
31 | ||
32 | // Diffusion coefficient | |
33 | virtual void SetDiffCoeff(Float_t) =0; | |
34 | // Get diffusion coefficient | |
35 | virtual Float_t DiffCoeff() =0; | |
36 | virtual Float_t Qref() {return 0.;} | |
37 | ||
38 | // Temperature | |
39 | virtual void SetTemperature(Float_t) {} | |
40 | // Get temperature | |
41 | virtual Float_t Temperature() {return 0.;} | |
42 | // Type of data - real or simulated | |
43 | virtual void SetDataType(char *data) =0; | |
44 | // Get data type | |
45 | virtual const char *DataType() =0; | |
46 | ||
47 | ||
48 | ||
49 | // parameters: "same" or read from "file" or "SetInvalid" or ... | |
50 | virtual void SetParamOptions(Option_t *opt1, Option_t *opt2) {} | |
51 | virtual void SetNoiseParam(Float_t, Float_t) {} | |
52 | // gain, coupling ... | |
53 | // Number of parameters to be set | |
54 | virtual void SetNDetParam(Int_t) {} | |
55 | virtual void SetDetParam(Float_t *) {} | |
56 | ||
57 | // Parameters options | |
58 | virtual void ParamOptions(Option_t *&, Option_t *&) {} | |
59 | virtual Int_t NDetParam() {return 0;} | |
60 | virtual void GetDetParam(Float_t *) {} | |
61 | virtual void GetNoiseParam(Float_t&, Float_t&) {} | |
62 | ||
63 | // Zero-suppression option - could be 1D, 2D or non-ZS | |
64 | virtual void SetZeroSupp(Option_t *opt) {} | |
65 | // Get zero-suppression option | |
66 | virtual Option_t *ZeroSuppOption() {return "";} | |
67 | // Set thresholds | |
68 | virtual void SetThresholds(Float_t, Float_t) {} | |
69 | virtual void Thresholds(Float_t &, Float_t &) {} | |
70 | // Set min val | |
71 | virtual void SetMinVal(Int_t) {}; | |
72 | virtual Int_t MinVal() {return 0;}; | |
73 | ||
74 | // Set filenames | |
75 | virtual void SetFilenames(char *,char *,char *) {} | |
76 | // Filenames | |
77 | virtual void Filenames(const char*&,const char*&,const char*&) {} | |
78 | ||
79 | ||
80 | virtual Float_t DriftSpeed() {return 0.;} | |
81 | virtual Bool_t OutputOption() {return kFALSE;} | |
82 | virtual void GiveCompressParam(Int_t *x) {} | |
83 | ||
84 | // | |
85 | // Detector type response methods | |
86 | // Set number of sigmas over which cluster disintegration is performed | |
87 | virtual void SetNSigmaIntegration(Float_t p1) {} | |
88 | // Get number of sigmas over which cluster disintegration is performed | |
89 | virtual Float_t NSigmaIntegration() {return 0.;} | |
90 | // Set sigmas of the charge spread function | |
91 | virtual void SetSigmaSpread(Float_t p1, Float_t p2) {} | |
92 | // Get sigmas for the charge spread | |
93 | virtual void SigmaSpread(Float_t &s1, Float_t &s2) {} | |
94 | ||
95 | ||
96 | // Pulse height from scored quantity (eloss) | |
97 | virtual Float_t IntPH(Float_t eloss) {return 0.;} | |
98 | // Charge disintegration | |
99 | virtual Float_t IntXZ(AliITSsegmentation *) {return 0.;} | |
100 | ||
101 | ClassDef(AliITSresponse,1) // Detector type response virtual base class | |
102 | }; | |
103 | #endif | |
104 | ||
105 | ||
106 | ||
107 | ||
108 | ||
109 | ||
110 |