]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliGRPPreprocessor.h
Bug fix in proof mode when using folders.
[u/mrichter/AliRoot.git] / STEER / AliGRPPreprocessor.h
CommitLineData
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 26class TList;
27class TString;
28class AliDCSSensorArray;
44e45fac 29class AliGRPObject;
30class AliSplineFit;
17984b61 31
3dedb44a 32class 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