Calibration framework improved (E. Crescio)
[u/mrichter/AliRoot.git] / ITS / AliITSCalibrationSSD.h
CommitLineData
fcf95fc7 1#ifndef ALIITSCALIBRATIONSSD_H
2#define ALIITSCALIBRATIONSSD_H
3
4#include "AliITSCalibration.h"
5#include "AliITSresponseSSD.h"
6
7//////////////////////////////////////////////
8// Response class for SSD //
9// //
10//////////////////////////////////////////////
11class AliITSCalibrationSSD : public AliITSCalibration {
12
13 public:
14 AliITSCalibrationSSD();
15 AliITSCalibrationSSD(const char *dataType);
16 virtual ~AliITSCalibrationSSD();
17 virtual void SetNoiseParam(Double_t np, Double_t nn) {
18 // set noise par
19 fNoiseP=np; fNoiseN=nn;
20 }
21 virtual void GetNoiseParam(Double_t &np, Double_t &nn) const {
22 // get noise par
23 np=fNoiseP; nn=fNoiseN;
24 }
25
26 virtual void SetNDetParam(Int_t npar) {
27 // set number of param
28 fNPar=npar;
29 }
30 virtual void SetDetParam(Double_t *par);
31
32 // Parameters options
33 virtual Int_t NDetParam() const {
34 // number of param
35 return fNPar;
36 }
37 virtual void GetDetParam(Double_t *dpar) const;
38
39 virtual void SetSigmaSpread(Double_t p1, Double_t p2) {
40 // Set sigmas of the charge spread function: Pside-Nside
41 // square of (microns)
42 fSigmaP=p1; fSigmaN=p2;
43 }
44 virtual void SigmaSpread(Double_t &sP, Double_t &sN) const {
45 // Get sigmas for the charge spread
46 sP=fSigmaP; sN=fSigmaN;
47 }
48
49 virtual void SetThresholds(Double_t /* a */, Double_t /* b */)
50 {NotImplemented("SetThresholds");}
51 virtual void Thresholds(Double_t & /* a */, Double_t & /* b */) const
52 {NotImplemented("Thresholds");}
53
54 virtual void SetParamOptions(const char *opt1, const char *opt2) {((AliITSresponseSSD*)fResponse)->SetParamOptions(opt1,opt2);}
55 virtual void GetParamOptions(char *opt1,char *opt2) const {((AliITSresponseSSD*)fResponse)->ParamOptions(opt1,opt2);}
56 virtual void SetADCpereV(Double_t a=50./30000.0) {((AliITSresponseSSD*)fResponse)->SetADCpereV(a);}
57 virtual Double_t GetDEvToADC(Double_t eV) const {return ((AliITSresponseSSD*)fResponse)->DEvToADC(eV);}
58 virtual Int_t IEvToADC(Double_t eV) const {return ((AliITSresponseSSD*)fResponse)->IEvToADC(eV);}
59
60 protected:
61 static const Double_t fgkNoiseNDefault; // default for fNoiseN
62 static const Double_t fgkNoisePDefault; // default for fNoiseP
63 static const Int_t fgkNParDefault; // default for fNPar
64 static const Double_t fgkSigmaPDefault; //default for fSigmaP
65 static const Double_t fgkSigmaNDefault; //default for fSigmaP
66 Int_t fNPar; // Number of detector param
67 Double_t *fDetPar; //[fNPar] Array of parameters
68
69 Double_t fNoiseP; // Noise on Pside
70 Double_t fNoiseN; // Noise on Nside
71
72 Double_t fSigmaP; // Sigma charge spread on Pside
73 Double_t fSigmaN; // Sigma charge spread on Nside
74
75 private:
76 AliITSCalibrationSSD(const AliITSCalibrationSSD &source); // copy constructor
77 AliITSCalibrationSSD& operator=(const AliITSCalibrationSSD &source); // ass. op.
78
79 ClassDef(AliITSCalibrationSSD,1) //Response class for SSD
80};
81#endif