Added option for different binning of DCAxy axis in THnSparse. Same width for all...
[u/mrichter/AliRoot.git] / ITS / AliITSCalibration.h
CommitLineData
fcf95fc7 1#ifndef ALIITSCALIBRATION_H
2#define ALIITSCALIBRATION_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
eefec958 6/* $Id$ */
a4005be7 7
fcf95fc7 8//////////////////////////////////////////////
9// Base ITS calibration class //
10//////////////////////////////////////////////
11
12#include <TObject.h>
13#include <TString.h>
028a3709 14#include "AliLog.h"
54af1add 15#include "AliITSCorrMapSDD.h"
18da6e54 16#include "AliITSDriftSpeedArraySDD.h"
fcf95fc7 17
18class AliITSsegmentation;
19class TF1;
20class AliITSgeom;
21
22
23/////////////////////////////////////////////
24// //
25// ITS calibration virtual base class //
26/////////////////////////////////////////////
27class AliITSCalibration : public TObject {
28 public:
29 // Default Constructor
30 AliITSCalibration();
4bfbde86 31
fcf95fc7 32 // Destructor.
33 virtual ~AliITSCalibration() {;}
eefec958 34
35 // Check for dead modules anche chips
36 // Return 1 if the module/chip is dead, 0 if it is ok
37 virtual Bool_t IsBad() const {AliError("This method must be implemented in a derived class"); return kFALSE;}
38 virtual Bool_t IsChipBad(Int_t) const {AliError("This method must be implemented in a derived class"); return kFALSE;}
8a55554e 39 virtual Bool_t IsWingBad(Int_t) const {AliError("This method must be implemented in a derived class"); return kFALSE;}
fcf95fc7 40 //
41 // Configuration methods
42 //
fcf95fc7 43 // Temperature in [degree K]
44 virtual void SetTemperature(Double_t t=300.0) {fT = t;}
45 // Get temperature [degree K]
46 virtual Double_t Temperature() const {return fT;}
fcf95fc7 47
48 // Get data type
49 virtual const char *DataType() const {return fDataType.Data();}
50 // Type of data - real or simulated
51 virtual void SetDataType(const char *data="simulated") {fDataType=data;}
fcf95fc7 52 // Number of parameters to be set
53 virtual void SetNDetParam(Int_t) = 0;
54 // Set detector parameters: gain, coupling ...
55 virtual void SetDetParam(Double_t *) = 0;
56
fcf95fc7 57 virtual Int_t NDetParam() const = 0;
58 virtual void GetDetParam(Double_t *) const = 0;
54af1add 59 virtual void SetMapA(Int_t, AliITSCorrMapSDD*) {AliError("This method must be implemented in a derived class");}
60 virtual void SetMapT(Int_t, AliITSCorrMapSDD*) {AliError("This method must be implemented in a derived class");}
18da6e54 61 virtual void SetDriftSpeed(Int_t, AliITSDriftSpeedArraySDD*) {AliError("This method must be implemented in a derived class");}
fcf95fc7 62 // Set sigmas of the charge spread function
63 virtual void SetSigmaSpread(Double_t, Double_t) = 0;
64 // Get sigmas for the charge spread
65 virtual void SigmaSpread(Double_t &,Double_t &) const = 0;
2ae37d58 66
aac93143 67 // Needed for SSD bad modules retrieval in the tracker
68 virtual void SetModuleIndex(Int_t /*modId*/) {};
2ae37d58 69
fcf95fc7 70 // Prints out the content of this class in ASCII format.
71 virtual void Print(ostream *os) const;
72 // Reads in the content of this class in the format of Print
73 virtual void Read(istream *is);
74 virtual void Print(Option_t *option="") const {TObject::Print(option);}
75 virtual Int_t Read(const char *name) {return TObject::Read(name);}
76
fcf95fc7 77
78 protected:
4bfbde86 79 AliITSCalibration(const AliITSCalibration &ob); // copy constructor
154bfd38 80 AliITSCalibration& operator=(const AliITSCalibration& source); // ass.
fcf95fc7 81 void NotImplemented(const char *method) const {if(gDebug>0)
82 Warning(method,"This method is not implemented for this sub-class");}
83
84 TString fDataType; // data type - real or simulated
85
fcf95fc7 86 Float_t fT; // The temperature of the Si in Degree K.
fcf95fc7 87 // deleted here but in AliITSDetTypeSim and AliITSDetTypeRec
88
bb292d31 89 ClassDef(AliITSCalibration,3) // Detector type response virtual base class
fcf95fc7 90};
91// Input and output function for standard C++ input/output.
92ostream& operator<<(ostream &os,AliITSCalibration &source);
93istream& operator>>(istream &os,AliITSCalibration &source);
94#endif