]>
Commit | Line | Data |
---|---|---|
cfaccd71 | 1 | #ifndef ALIITSDCSANALYZERSDD_H |
2 | #define ALIITSDCSANALYZERSDD_H | |
3 | ||
4 | /* Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | /* $Id$ */ | |
8 | ||
9 | /////////////////////////////////////////////////////////////////// | |
cfaccd71 | 10 | // Class for SDD dcs data analysis // |
11 | // called by AliITSPreprocessorSDD // | |
12 | // Origin: F.Prino, Torino, prino@to.infn.it // | |
e22bf775 | 13 | // V.Pospisil, CTU Prague, gdermog@seznam.cz // |
cfaccd71 | 14 | /////////////////////////////////////////////////////////////////// |
15 | ||
cfaccd71 | 16 | #include <TMap.h> |
e22bf775 | 17 | #include <TObjArray.h> |
cfaccd71 | 18 | #include "AliITSDCSDataSDD.h" |
e22bf775 | 19 | #include "AliITSgeomTGeo.h" |
cfaccd71 | 20 | |
e22bf775 | 21 | class AliITSDCSAnalyzerSDD : public TObject |
22 | { | |
cfaccd71 | 23 | |
24 | public: | |
25 | AliITSDCSAnalyzerSDD(); | |
26 | ~AliITSDCSAnalyzerSDD(); | |
27 | ||
28 | ||
e22bf775 | 29 | void SetVoltageDelays( Int_t HVDelay, Int_t MVDelay ) { fHVDelay = HVDelay; fMVDelay = MVDelay; } |
30 | void SetTemperatureDelays( Int_t TLDelay, Int_t TRDelay ) { fTLDelay = TLDelay; fTRDelay = TRDelay; } | |
31 | void SetStatusDelays( Int_t StTLDelay, Int_t StTRDelay, Int_t OKDelay ) | |
32 | { fStTLDelay = StTLDelay; fStTRDelay = StTRDelay; fOKDelay = OKDelay; } | |
33 | // There is some delay between variable readout and setting up the time stamp. Delays differs | |
34 | // in voltage and temperature readouts. So it is necessary to substract some value from time stamps | |
35 | // during the data processing | |
36 | ||
37 | void AnalyzeData( TMap* dcsMap ); | |
38 | // Processes the data | |
39 | ||
40 | void PrintDCSDPNames( FILE *output = stdout ); | |
41 | // Prints module identifications in text mode | |
42 | ||
43 | AliITSDCSDataSDD* GetDCSData( Int_t iModule ) const { return fDCSData[iModule]; } | |
44 | // Returns data for module specified by its index in range 0..259 | |
45 | ||
46 | AliITSDCSDataSDD* GetDCSData( Int_t iLayer, Int_t iLadder, Int_t iModule ) const | |
47 | { return fDCSData[AliITSgeomTGeo::GetModuleIndex( iLayer, iLadder, iModule ) - 240]; } | |
48 | // Returns data for module specified by layer[3..4], ladder[1..22] and module number[1..8] | |
cfaccd71 | 49 | |
50 | protected: | |
cfaccd71 | 51 | AliITSDCSAnalyzerSDD(const AliITSDCSAnalyzerSDD& /* dcsa */); |
52 | AliITSDCSAnalyzerSDD& operator=(const AliITSDCSAnalyzerSDD& /* dcsa */); | |
e22bf775 | 53 | // Copy constructor and assignment operator not allowed. |
54 | // They are protected to avoid misuse | |
cfaccd71 | 55 | |
e22bf775 | 56 | void Init(); // Creates module text identifications |
cfaccd71 | 57 | |
e22bf775 | 58 | private: |
cfaccd71 | 59 | |
e22bf775 | 60 | enum { kNmodules=260, |
61 | kNladders3=14, | |
62 | kNladders4=22, | |
63 | kNmodLad3=6, | |
64 | kNmodLad4=8 }; // Basic SDD geometry | |
cfaccd71 | 65 | |
66 | TString fHVDPNames[kNmodules]; // DCS DP names for High Voltage | |
67 | TString fMVDPNames[kNmodules]; // DCS DP names for Medium Voltage | |
e22bf775 | 68 | TString fOKDPNames[kNmodules]; // DCS DP names for Medium Voltage |
cfaccd71 | 69 | TString fTLDPNames[kNmodules]; // DCS DP names for Temperature Left |
70 | TString fTRDPNames[kNmodules]; // DCS DP names for Temperature Right | |
e22bf775 | 71 | TString fTLStDPNames[kNmodules]; // DCS DP names for status of Temperature Left |
72 | TString fTRStDPNames[kNmodules]; // DCS DP names for status of Temperature Right | |
73 | AliITSDCSDataSDD *fDCSData[kNmodules]; // values of DCS data points | |
74 | ||
75 | Int_t fHVDelay; // There is some delay between variable readout | |
76 | Int_t fMVDelay; // and setting up the time stamp. Delays differs | |
77 | Int_t fTLDelay; // in voltage and temperature readouts. So it is | |
78 | Int_t fTRDelay; // necessary to substract some value from time stamp | |
79 | Int_t fStTLDelay; // during the data processing. | |
80 | Int_t fStTRDelay; // Here are the values of delays stored | |
81 | Int_t fOKDelay; // for the 7 variables. | |
82 | ||
83 | ClassDef(AliITSDCSAnalyzerSDD, 2); | |
cfaccd71 | 84 | |
e22bf775 | 85 | }; /*class AliITSDCSAnalyzerSDD*/ |
cfaccd71 | 86 | |
87 | #endif |