]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSresponse.h
New ITS code for new structure and simulations.
[u/mrichter/AliRoot.git] / ITS / AliITSresponse.h
CommitLineData
b0f5e3fc 1#ifndef ALIITSRESPONSE_H
2#define ALIITSRESPONSE_H
3
4
5#include <TObject.h>
6#include <TF1.h>
7#include "AliITSsegmentation.h"
8
9class AliITSgeom;
10
11//----------------------------------------------
12//
13// ITS response virtual base class
14//
15class AliITSresponse :
16public 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