]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSDCSAnalyzerSDD.h
update of data handling classes for SSD calibration
[u/mrichter/AliRoot.git] / ITS / AliITSDCSAnalyzerSDD.h
CommitLineData
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 21class 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