]>
Commit | Line | Data |
---|---|---|
3dedb44a | 1 | #ifndef ALIGRPPREPROCESSOR_H |
2 | #define ALIGRPPREPROCESSOR_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | //------------------------------------------------------------------------- | |
7 | // Class AliGRPPreprocessor | |
8 | // Global Run Parameters (GRP) preprocessor | |
9 | // | |
10 | // Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch | |
e7a6790f | 11 | // Modified: Ernesto.Lopez.Torres@cern.ch CEADEN-CERN |
3dedb44a | 12 | //------------------------------------------------------------------------- |
13 | ||
14 | ||
15 | ||
16 | ////////////////////////////////////////////////////////////////////////// | |
17 | // // | |
18 | // AliGRPPreprocessor // | |
19 | // // | |
20 | // Implementation of the GRP preprocessor // | |
21 | // // | |
22 | ////////////////////////////////////////////////////////////////////////// | |
23 | ||
24 | #include "AliPreprocessor.h" | |
25 | ||
17984b61 | 26 | class TList; |
27 | class TString; | |
28 | class AliDCSSensorArray; | |
44e45fac | 29 | class AliGRPObject; |
30 | class AliSplineFit; | |
17984b61 | 31 | |
3dedb44a | 32 | class AliGRPPreprocessor: public AliPreprocessor { |
33 | public: | |
44e45fac | 34 | |
35 | enum DP {kLHCState = 0, kL3Polarity, kDipolePolarity, kLHCLuminosity, kBeamIntensity, | |
36 | kL3Current, kDipoleCurrent, | |
39e3007b | 37 | kL3bsf17H1, kL3bsf17H2, kL3bsf17H3, kL3bsf17Temperature, |
38 | kL3bsf4H1, kL3bsf4H2, kL3bsf4H3, kL3bsf4Temperature, | |
39 | kL3bkf17H1, kL3bkf17H2, kL3bkf17H3, kL3bkf17Temperature, | |
40 | kL3bkf4H1, kL3bkf4H2, kL3bkf4H3, kL3bkf4Temperature, | |
41 | kL3bsf13H1, kL3bsf13H2, kL3bsf13H3, kL3bsf13Temperature, | |
42 | kL3bsf8H1, kL3bsf8H2, kL3bsf8H3, kL3bsf8Temperature, | |
43 | kL3bkf13H1, kL3bkf13H2, kL3bkf13H3, kL3bkf13Temperature, | |
44 | kL3bkf8H1, kL3bkf8H2, kL3bkf8H3, kL3bkf8Temperature, | |
45 | kDipoleInsideH1, kDipoleInsideH2, kDipoleInsideH3, kDipoleInsideTemperature, | |
46 | kDipoleOutsideH1, kDipoleOutsideH2, kDipoleOutsideH3, kDipoleOutsideTemperature, | |
ce996d13 | 47 | kCavernTemperature, kCavernAtmosPressure, kSurfaceAtmosPressure, |
48 | kCavernAtmosPressure2}; | |
44e45fac | 49 | |
39e3007b | 50 | enum DPHallProbes { |
51 | khpL3bsf17H1= 0 , khpL3bsf17H2, khpL3bsf17H3, khpL3bsf17Temperature, | |
52 | khpL3bsf4H1, khpL3bsf4H2, khpL3bsf4H3, khpL3bsf4Temperature, | |
53 | khpL3bkf17H1, khpL3bkf17H2, khpL3bkf17H3, khpL3bkf17Temperature, | |
54 | khpL3bkf4H1, khpL3bkf4H2, khpL3bkf4H3, khpL3bkf4Temperature, | |
55 | khpL3bsf13H1, khpL3bsf13H2, khpL3bsf13H3, khpL3bsf13Temperature, | |
56 | khpL3bsf8H1, khpL3bsf8H2, khpL3bsf8H3, khpL3bsf8Temperature, | |
57 | khpL3bkf13H1, khpL3bkf13H2, khpL3bkf13H3, khpL3bkf13Temperature, | |
58 | khpL3bkf8H1, khpL3bkf8H2, khpL3bkf8H3, khpL3bkf8Temperature, | |
59 | khpDipoleInsideH1, khpDipoleInsideH2, khpDipoleInsideH3, khpDipoleInsideTemperature, | |
60 | khpDipoleOutsideH1, khpDipoleOutsideH2, khpDipoleOutsideH3, khpDipoleOutsideTemperature}; | |
44e45fac | 61 | |
e7a6790f | 62 | AliGRPPreprocessor(AliShuttleInterface* shuttle); |
63 | virtual ~AliGRPPreprocessor(); | |
3dedb44a | 64 | |
e7a6790f | 65 | static Int_t ReceivePromptRecoParameters( |
66 | UInt_t run, | |
67 | const char* dbHost, | |
68 | Int_t dbPort, | |
69 | const char* dbName, | |
70 | const char* user, | |
71 | const char* password, | |
03e5ee4f | 72 | const char *cdbRoot, |
73 | TString &gdc | |
e7a6790f | 74 | ); |
1e27bb6b | 75 | |
3dedb44a | 76 | protected: |
77 | ||
e7a6790f | 78 | virtual void Initialize(Int_t run, UInt_t startTime, UInt_t endTime); |
3dedb44a | 79 | |
e7a6790f | 80 | virtual UInt_t Process(TMap* valueSet); |
17984b61 | 81 | |
e75e6e01 | 82 | Int_t ProcessDaqLB(AliGRPObject* grpobj); |
e7a6790f | 83 | UInt_t ProcessDaqFxs(); |
e75e6e01 | 84 | UInt_t ProcessDcsFxs(TString partition="", TString detector=""); |
44e45fac | 85 | Int_t ProcessDcsDPs(TMap* valueSet, AliGRPObject* grpobj); |
39e3007b | 86 | Int_t ProcessLHCDPs(const TMap* valueSet, AliGRPObject* grpobj); |
87 | Int_t ProcessL3DPs(const TMap* valueSet, AliGRPObject* grpobj); | |
88 | Int_t ProcessDipoleDPs(const TMap* valueSet, AliGRPObject* grpobj); | |
44e45fac | 89 | Int_t ProcessEnvDPs(TMap* valueSet, AliGRPObject* grpobj); |
39e3007b | 90 | Int_t ProcessHPDPs(const TMap* valueSet, AliGRPObject* grpobj); |
44e45fac | 91 | // Int_t ProcessDcsDPs(TMap* valueSet, TMap* grpmap); |
3ba92a38 | 92 | AliDCSSensorArray* GetPressureMap(TMap *dcsAliasMap); |
39e3007b | 93 | AliSplineFit* GetSplineFit(const TObjArray *array, const TString& stringID); |
44e45fac | 94 | //AliSplineFit* GetSplineFit(TMap* mapDCS, const TString& stringID); |
39e3007b | 95 | TString ProcessChar(const TObjArray *array); |
fe726709 | 96 | Char_t ProcessBool(const TObjArray *array, Bool_t &change); |
39e3007b | 97 | Float_t ProcessInt(const TObjArray *array); |
98 | Float_t ProcessUInt(const TObjArray *array); | |
99 | Float_t* ProcessFloatAll(const TObjArray* array); | |
fe726709 | 100 | Float_t* ProcessFloatAllMagnet(const TObjArray* array, Int_t indexDP, Bool_t &isZero); |
5fbf7677 | 101 | Bool_t GetDAQStartEndTimeOk() const {return fdaqStartEndTimeOk;} |
102 | void SetDAQStartEndTimeOk(Bool_t daqStartEndTimeOk) {fdaqStartEndTimeOk = daqStartEndTimeOk;} | |
44e45fac | 103 | |
17984b61 | 104 | private: |
e7a6790f | 105 | |
e75e6e01 | 106 | static const Int_t fgknDAQLbPar; //! number of DAQ lb parameters for PHYSICS runs |
107 | static const Int_t fgknDAQLbParReduced; //! number of DAQ lb parameters for non PHYSICS runs | |
e7a6790f | 108 | static const Int_t fgknDCSDP; //! number of dcs dps |
109 | static const char* fgkDCSDataPoints[]; //! names of dcs dps | |
110 | static const char* fgkLHCState[]; //! names of LHC States | |
39e3007b | 111 | static const char* fgkDCSDataPointsHallProbes[]; //! names of dcs dps for Hall Probes |
112 | static const Int_t fgknDCSDPHallProbes; //! names of LHC States for Hall Probes | |
982f17c2 | 113 | |
e7a6790f | 114 | AliDCSSensorArray* fPressure; //pressure array |
17984b61 | 115 | |
fe726709 | 116 | AliGRPPreprocessor(const AliGRPPreprocessor&); // Not implemented |
117 | AliGRPPreprocessor& operator=(const AliGRPPreprocessor&); // Not implemented | |
118 | ||
119 | Float_t fmaxFloat; // maximum float accepted | |
120 | Float_t fminFloat; // minimum float accepted | |
121 | Double_t fmaxDouble; // maximum double accepted | |
122 | Double_t fminDouble; // minimum double accepted | |
123 | Int_t fmaxInt; // maximum int accepted | |
124 | Int_t fminInt; // minimum int accepted | |
125 | UInt_t fmaxUInt; // maximum uint accepted | |
126 | UInt_t fminUInt; // minimum uint accepted | |
5fbf7677 | 127 | Bool_t fdaqStartEndTimeOk; // flag to set whether the DAQ_time_start/end fields are set |
2972d4eb | 128 | |
08a446c2 | 129 | ClassDef(AliGRPPreprocessor, 0); |
3dedb44a | 130 | }; |
131 | ||
132 | #endif |