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