]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliGRPPreprocessor.h
Coverity 15064
[u/mrichter/AliRoot.git] / STEER / AliGRPPreprocessor.h
index 7c53840b1c88886e2df29675198210b1557d7cfd..f9a677b5660aafeaae4f9627b1fc29e59af02df8 100644 (file)
 
 class TList;
 class TString;
+class TObjArray;
 class AliDCSSensorArray;
 class AliGRPObject;
 class AliSplineFit;
+class AliLHCClockPhase;
 
 class AliGRPPreprocessor: public AliPreprocessor {
  public:
 
-       enum DP {kLHCState = 0, kL3Polarity, kDipolePolarity, kLHCLuminosity, kBeamIntensity, 
+       enum DP {kL3Polarity = 0, kDipolePolarity,  
                 kL3Current, kDipoleCurrent, 
-                kL3_BSF17_H1, kL3_BSF17_H2, kL3_BSF17_H3, kL3_BSF17_Temperature, 
-                kL3_BSF4_H1, kL3_BSF4_H2, kL3_BSF4_H3, kL3_BSF4_Temperature, 
-                kL3_BKF17_H1, kL3_BKF17_H2, kL3_BKF17_H3, kL3_BKF17_Temperature, 
-                kL3_BKF4_H1, kL3_BKF4_H2, kL3_BKF4_H3, kL3_BKF4_Temperature, 
-                kL3_BSF13_H1, kL3_BSF13_H2, kL3_BSF13_H3, kL3_BSF13_Temperature,
-                kL3_BSF8_H1, kL3_BSF8_H2, kL3_BSF8_H3, kL3_BSF8_Temperature,
-                kL3_BKF13_H1, kL3_BKF13_H2, kL3_BKF13_H3, kL3_BKF13_Temperature,
-                kL3_BKF8_H1, kL3_BKF8_H2, kL3_BKF8_H3, kL3_BKF8_Temperature,
-                kDipole_Inside_H1, kDipole_Inside_H2, kDipole_Inside_H3, kDipole_Inside_Temperature,
-                kDipole_Outside_H1, kDipole_Outside_H2, kDipole_Outside_H3, kDipole_Outside_Temperature,
-                 kCavernTemperature, kCavernAtmosPressure, kSurfaceAtmosPressure};
-
-       enum DP_HallProbes { 
-                k_HP_L3_BSF17_H1= 0 , k_HP_L3_BSF17_H2, k_HP_L3_BSF17_H3, k_HP_L3_BSF17_Temperature, 
-                k_HP_L3_BSF4_H1, k_HP_L3_BSF4_H2, k_HP_L3_BSF4_H3, k_HP_L3_BSF4_Temperature, 
-                k_HP_L3_BKF17_H1, k_HP_L3_BKF17_H2, k_HP_L3_BKF17_H3, k_HP_L3_BKF17_Temperature, 
-                k_HP_L3_BKF4_H1, k_HP_L3_BKF4_H2, k_HP_L3_BKF4_H3, k_HP_L3_BKF4_Temperature, 
-                k_HP_L3_BSF13_H1, k_HP_L3_BSF13_H2, k_HP_L3_BSF13_H3, k_HP_L3_BSF13_Temperature,
-                k_HP_L3_BSF8_H1, k_HP_L3_BSF8_H2, k_HP_L3_BSF8_H3, k_HP_L3_BSF8_Temperature,
-                k_HP_L3_BKF13_H1, k_HP_L3_BKF13_H2, k_HP_L3_BKF13_H3, k_HP_L3_BKF13_Temperature,
-                k_HP_L3_BKF8_H1, k_HP_L3_BKF8_H2, k_HP_L3_BKF8_H3, k_HP_L3_BKF8_Temperature,
-                k_HP_Dipole_Inside_H1, k_HP_Dipole_Inside_H2, k_HP_Dipole_Inside_H3, k_HP_Dipole_Inside_Temperature,
-                k_HP_Dipole_Outside_H1, k_HP_Dipole_Outside_H2, k_HP_Dipole_Outside_H3, k_HP_Dipole_Outside_Temperature};
+                kL3bsf17H1, kL3bsf17H2, kL3bsf17H3, kL3bsf17Temperature, 
+                kL3bsf4H1, kL3bsf4H2, kL3bsf4H3, kL3bsf4Temperature, 
+                kL3bkf17H1, kL3bkf17H2, kL3bkf17H3, kL3bkf17Temperature, 
+                kL3bkf4H1, kL3bkf4H2, kL3bkf4H3, kL3bkf4Temperature, 
+                kL3bsf13H1, kL3bsf13H2, kL3bsf13H3, kL3bsf13Temperature,
+                kL3bsf8H1, kL3bsf8H2, kL3bsf8H3, kL3bsf8Temperature,
+                kL3bkf13H1, kL3bkf13H2, kL3bkf13H3, kL3bkf13Temperature,
+                kL3bkf8H1, kL3bkf8H2, kL3bkf8H3, kL3bkf8Temperature,
+                kDipoleInsideH1, kDipoleInsideH2, kDipoleInsideH3, kDipoleInsideTemperature,
+                kDipoleOutsideH1, kDipoleOutsideH2, kDipoleOutsideH3, kDipoleOutsideTemperature,
+                 kCavernTemperature, kCavernAtmosPressure, kSurfaceAtmosPressure, 
+                kCavernAtmosPressure2};
+
+       enum DPHallProbes { 
+                khpL3bsf17H1=0, khpL3bsf17H2, khpL3bsf17H3, khpL3bsf17Temperature, 
+                khpL3bsf4H1, khpL3bsf4H2, khpL3bsf4H3, khpL3bsf4Temperature, 
+                khpL3bkf17H1, khpL3bkf17H2, khpL3bkf17H3, khpL3bkf17Temperature, 
+                khpL3bkf4H1, khpL3bkf4H2, khpL3bkf4H3, khpL3bkf4Temperature, 
+                khpL3bsf13H1, khpL3bsf13H2, khpL3bsf13H3, khpL3bsf13Temperature,
+                khpL3bsf8H1, khpL3bsf8H2, khpL3bsf8H3, khpL3bsf8Temperature,
+                khpL3bkf13H1, khpL3bkf13H2, khpL3bkf13H3, khpL3bkf13Temperature,
+                khpL3bkf8H1, khpL3bkf8H2, khpL3bkf8H3, khpL3bkf8Temperature,
+                khpDipoleInsideH1, khpDipoleInsideH2, khpDipoleInsideH3, khpDipoleInsideTemperature,
+                khpDipoleOutsideH1, khpDipoleOutsideH2, khpDipoleOutsideH3, khpDipoleOutsideTemperature};
 
                       AliGRPPreprocessor(AliShuttleInterface* shuttle);
   virtual            ~AliGRPPreprocessor();
@@ -68,7 +71,8 @@ class AliGRPPreprocessor: public AliPreprocessor {
                                   const char* dbName,
                                   const char* user,
                                   const char* password,
-                                  const char *cdbRoot
+                                  const char *cdbRoot,
+                                 TString &gdc
                                  );
 
  protected:
@@ -77,38 +81,62 @@ class AliGRPPreprocessor: public AliPreprocessor {
   
   virtual     UInt_t   Process(TMap* valueSet);
 
-                AliGRPObject*  ProcessDaqLB();
+               Int_t   ProcessDaqLB(AliGRPObject* grpobj);
               UInt_t   ProcessDaqFxs();
-              UInt_t   ProcessDcsFxs();
+              UInt_t   ProcessSPDMeanVertex();
+              UInt_t   ProcessLHCData(AliGRPObject* grpobj);
+              UInt_t   ProcessDcsFxs(TString partition="", TString detector="");
                Int_t   ProcessDcsDPs(TMap* valueSet, AliGRPObject* grpobj);
-               Int_t   ProcessLHCDPs(TMap* valueSet, AliGRPObject* grpobj);
-               Int_t   ProcessL3DPs(TMap* valueSet, AliGRPObject* grpobj);
-               Int_t   ProcessDipoleDPs(TMap* valueSet, AliGRPObject* grpobj);
+               Int_t   ProcessL3DPs(const TMap* valueSet, AliGRPObject* grpobj);
+               Int_t   ProcessDipoleDPs(const TMap* valueSet, AliGRPObject* grpobj);
                Int_t   ProcessEnvDPs(TMap* valueSet, AliGRPObject* grpobj);
-               Int_t   ProcessHPDPs(TMap* valueSet, AliGRPObject* grpobj);
+               Int_t   ProcessHPDPs(const TMap* valueSet, AliGRPObject* grpobj);
               //               Int_t   ProcessDcsDPs(TMap* valueSet, TMap* grpmap);
    AliDCSSensorArray*  GetPressureMap(TMap *dcsAliasMap);
-   AliSplineFit* GetSplineFit(TObjArray *array, const TString& stringID);
+   AliSplineFit* GetSplineFit(const TObjArray *array, const TString& stringID);
    //AliSplineFit* GetSplineFit(TMap* mapDCS, const TString& stringID);
-   TString ProcessChar(TObjArray *array);
-   Char_t ProcessBool(TObjArray *array);
-   Float_t ProcessInt(TObjArray *array);
-   Float_t ProcessUInt(TObjArray *array);
-   Float_t* ProcessFloatAll(TObjArray* array);
+   TString ProcessChar(const TObjArray *array);
+   Char_t ProcessBool(const TObjArray *array, Bool_t &change);
+   Float_t ProcessInt(const TObjArray *array);
+   Float_t ProcessUInt(const TObjArray *array);
+   Float_t* ProcessFloatAll(const TObjArray* array);
+   Float_t* ProcessFloatAllMagnet(const TObjArray* array, Int_t indexDP, Bool_t &isZero);
+   Bool_t GetDAQStartEndTimeOk() const {return fdaqStartEndTimeOk;}
+   void SetDAQStartEndTimeOk(Bool_t daqStartEndTimeOk) {fdaqStartEndTimeOk = daqStartEndTimeOk;}
+
+   Float_t ProcessEnergy(TObjArray* array, Double_t timeStart);
+   AliLHCClockPhase* ProcessLHCClockPhase(TObjArray *beam1phase,TObjArray *beam2phase,
+                                         Double_t timeEnd);
 
  private:
  
-  static const Int_t   fgknDAQLbPar;            //! number of DAQ lb parameters
+  static const Int_t   fgknDAQLbPar;            //! number of DAQ lb parameters for PHYSICS runs
   static const Int_t   fgknDCSDP;               //! number of dcs dps
   static const char*   fgkDCSDataPoints[];      //! names of dcs dps
-  static const char*   fgkLHCState[];           //! names of LHC States
-  static const char*   fgkDCSDataPoints_HallProbes[];      //! names of dcs dps for Hall Probes
-  static const Int_t   fgknDCSDP_HallProbes;           //! names of LHC States for Hall Probes
+  static const char*   fgkDCSDataPointsHallProbes[];      //! names of dcs dps for Hall Probes
+  static const Int_t   fgknDCSDPHallProbes;           //! number of Hall Probes
 
   AliDCSSensorArray*   fPressure; //pressure array
 
-                       AliGRPPreprocessor(const AliGRPPreprocessor&); // Not implemented
-                       AliGRPPreprocessor& operator=(const AliGRPPreprocessor&); // Not implemented
+  AliGRPPreprocessor(const AliGRPPreprocessor&); // Not implemented
+  AliGRPPreprocessor& operator=(const AliGRPPreprocessor&); // Not implemented
+
+  Float_t fmaxFloat; // maximum float accepted
+  Float_t fminFloat; // minimum float accepted
+  Double_t fmaxDouble; // maximum double accepted
+  Double_t fminDouble; // minimum double accepted
+  Int_t fmaxInt; // maximum int accepted
+  Int_t fminInt; // minimum int accepted
+  UInt_t fmaxUInt; // maximum uint accepted
+  UInt_t fminUInt; // minimum uint accepted
+  Bool_t fdaqStartEndTimeOk; // flag to set whether the DAQ_time_start/end fields are set
+
+  TObjArray* ffailedDPs; //TObjArray of failed DPs names
+
+  static const Int_t   fgknLHCDP;               //! number of lhc dps
+  static const char*   fgkLHCDataPoints[];      //! names of lhc dps
+  static const Int_t   fgkDCSDPHallTopShift;    //! shift from the top to the Hall Probes from the list of DCS DPs names
+  static const Int_t   fgkDCSDPNonWorking;    //! Number of non working DCS DPs 
 
   ClassDef(AliGRPPreprocessor, 0);
 };