]>
Commit | Line | Data |
---|---|---|
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 | |
18 | class AliITSsegmentation; | |
19 | class TF1; | |
20 | class AliITSgeom; | |
21 | ||
fe7d86eb | 22 | using std::istream; |
fcf95fc7 | 23 | |
24 | ///////////////////////////////////////////// | |
25 | // // | |
26 | // ITS calibration virtual base class // | |
27 | ///////////////////////////////////////////// | |
28 | class AliITSCalibration : public TObject { | |
29 | public: | |
30 | // Default Constructor | |
31 | AliITSCalibration(); | |
4bfbde86 | 32 | |
fcf95fc7 | 33 | // Destructor. |
34 | virtual ~AliITSCalibration() {;} | |
eefec958 | 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;} | |
8a55554e | 40 | virtual Bool_t IsWingBad(Int_t) const {AliError("This method must be implemented in a derived class"); return kFALSE;} |
fcf95fc7 | 41 | // |
42 | // Configuration methods | |
43 | // | |
fcf95fc7 | 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;} | |
fcf95fc7 | 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;} | |
fcf95fc7 | 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 | ||
fcf95fc7 | 58 | virtual Int_t NDetParam() const = 0; |
59 | virtual void GetDetParam(Double_t *) const = 0; | |
54af1add | 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");} | |
18da6e54 | 62 | virtual void SetDriftSpeed(Int_t, AliITSDriftSpeedArraySDD*) {AliError("This method must be implemented in a derived class");} |
fcf95fc7 | 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; | |
2ae37d58 | 67 | |
aac93143 | 68 | // Needed for SSD bad modules retrieval in the tracker |
69 | virtual void SetModuleIndex(Int_t /*modId*/) {}; | |
2ae37d58 | 70 | |
fcf95fc7 | 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 | ||
fcf95fc7 | 78 | |
79 | protected: | |
4bfbde86 | 80 | AliITSCalibration(const AliITSCalibration &ob); // copy constructor |
154bfd38 | 81 | AliITSCalibration& operator=(const AliITSCalibration& source); // ass. |
fcf95fc7 | 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 | ||
fcf95fc7 | 87 | Float_t fT; // The temperature of the Si in Degree K. |
fcf95fc7 | 88 | // deleted here but in AliITSDetTypeSim and AliITSDetTypeRec |
89 | ||
bb292d31 | 90 | ClassDef(AliITSCalibration,3) // Detector type response virtual base class |
fcf95fc7 | 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 |