1 #ifndef ALIITSRESPONSE_H
2 #define ALIITSRESPONSE_H
7 #include "AliITSsegmentation.h"
13 //----------------------------------------------
15 // ITS response virtual base class
17 class AliITSresponse :
22 virtual ~AliITSresponse() {}
24 // Configuration methods
27 // Set maximum Adc-count value
28 virtual void SetMaxAdc(Float_t p1) {}
29 // Get maximum Adc-count value
30 virtual Float_t MaxAdc() {return 0.;}
32 // Set maximum Adc-top value
33 virtual void SetMagicValue(Float_t p1) {}
34 // Get maximum Adc-top value
35 virtual Float_t MagicValue() {return 0.0;}
37 // Diffusion coefficient
38 virtual void SetDiffCoeff(Float_t, Float_t) {}
39 // Get diffusion coefficients
40 virtual void DiffCoeff(Float_t &,Float_t &) {}
43 virtual void SetTemperature(Float_t) {}
45 virtual Float_t Temperature() {return 0.;}
46 // Type of data - real or simulated
47 virtual void SetDataType(const char *data) {}
49 virtual const char *DataType() const {return "";}
53 // Set parameters options: "same" or read from "file" or "SetInvalid" or ...
54 virtual void SetParamOptions(const char* opt1,const char* opt2) {}
55 // Set noise parameters
56 virtual void SetNoiseParam(Float_t, Float_t) {}
57 // Number of parameters to be set
58 virtual void SetNDetParam(Int_t) {}
59 // Set detector parameters: gain, coupling ...
60 virtual void SetDetParam(Float_t *) {}
63 virtual void ParamOptions(char *,char*) {}
64 virtual Int_t NDetParam() {return 0;}
65 virtual void GetDetParam(Float_t *) {}
66 virtual void GetNoiseParam(Float_t&, Float_t&) {}
68 // Zero-suppression option - could be 1D, 2D or non-ZeroSuppressed
69 virtual void SetZeroSupp(const char* opt) {}
70 // Get zero-suppression option
71 virtual const char *ZeroSuppOption() const {return "";}
73 virtual void SetThresholds(Float_t, Float_t) {}
74 virtual void Thresholds(Float_t &, Float_t &) {}
76 virtual void SetMinVal(Int_t) {};
77 virtual Int_t MinVal() {return 0;};
80 virtual void SetFilenames(const char *f1,const char *f2,const char *f3) {}
82 virtual void Filenames(char*,char*,char*) {}
85 virtual Float_t DriftSpeed() {return 0.;}
86 virtual Bool_t OutputOption() {return kFALSE;}
87 virtual Bool_t Do10to8() {return kTRUE;}
88 virtual void GiveCompressParam(Int_t *x) {}
91 // Detector type response methods
92 // Set number of sigmas over which cluster disintegration is performed
93 virtual void SetNSigmaIntegration(Float_t p1) {}
94 // Get number of sigmas over which cluster disintegration is performed
95 virtual Float_t NSigmaIntegration() {return 0.;}
96 // Set sigmas of the charge spread function
97 virtual void SetSigmaSpread(Float_t p1, Float_t p2) {}
98 // Get sigmas for the charge spread
99 virtual void SigmaSpread(Float_t &s1, Float_t &s2) {}
102 // Pulse height from scored quantity (eloss)
103 virtual Float_t IntPH(Float_t eloss) {return 0.;}
104 // Charge disintegration
105 virtual Float_t IntXZ(AliITSsegmentation *) {return 0.;}
107 ClassDef(AliITSresponse,1) // Detector type response virtual base class