1 #ifndef ALIITSRESPONSE_H
2 #define ALIITSRESPONSE_H
7 #include "AliITSsegmentation.h"
11 //----------------------------------------------
13 // ITS response virtual base class
15 class AliITSresponse :
19 // Configuration methods
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.;}
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;}
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.;}
39 virtual void SetTemperature(Float_t) {}
41 virtual Float_t Temperature() {return 0.;}
42 // Type of data - real or simulated
43 virtual void SetDataType(char *data) =0;
45 virtual char *DataType() =0;
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) {}
53 // Number of parameters to be set
54 virtual void SetNDetParam(Int_t) {}
55 virtual void SetDetParam(Float_t *) {}
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&) {}
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 "";}
68 virtual void SetThresholds(Float_t, Float_t) {}
69 virtual void Thresholds(Float_t &, Float_t &) {}
71 virtual void SetMinVal(Int_t) {};
72 virtual Int_t MinVal() {return 0;};
75 virtual void SetFilenames(char *,char *,char *) {}
77 virtual void Filenames(const char *, const char *,const char *) {}
80 virtual Float_t DriftSpeed() {return 0.;}
81 virtual Bool_t OutputOption() {return kFALSE;}
82 virtual void GiveCompressParam(Int_t *x) {}
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) {}
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.;}
101 ClassDef(AliITSresponse,1) // Detector type response virtual base class