]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/CDB/AliDCSSensorArray.h
Correct cleaning of valid ids in QueryCDB
[u/mrichter/AliRoot.git] / STEER / CDB / AliDCSSensorArray.h
CommitLineData
7264822f 1#ifndef AliDCSSensorArray_H
2#define AliDCSSensorArray_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6
7///////////////////////////////////////////////////////////////////////////////
8// //
9// Calibration class for DCS sensors //
10// //
11///////////////////////////////////////////////////////////////////////////////
12
13#include "TNamed.h"
14#include "TMap.h"
15#include "TObjString.h"
16#include "AliCDBManager.h"
17#include "AliCDBEntry.h"
18#include "AliDCSValue.h"
19#include "AliDCSSensor.h"
20
21class TGraph;
22class TTimeStamp;
23
24
25class AliDCSSensorArray : public TNamed {
26 public:
27 AliDCSSensorArray();
24938b4c 28 AliDCSSensorArray(TClonesArray *arr);
29 AliDCSSensorArray(Int_t run, const char* dbEntry);
30 AliDCSSensorArray(UInt_t startTime, UInt_t endTime, TTree* confTree);
17984b61 31 AliDCSSensorArray(UInt_t startTime, UInt_t endTime, TClonesArray *sensors);
82dfb6c8 32 AliDCSSensorArray(const AliDCSSensorArray &c);
7264822f 33 virtual ~AliDCSSensorArray();
34 AliDCSSensorArray &operator=(const AliDCSSensorArray &c);
3dc6d65a 35 virtual void Print(const Option_t* option="") const;
36
7264822f 37 void SetStartTime (const TTimeStamp& start) { fStartTime = start; }
38 void SetEndTime (const TTimeStamp& end) { fEndTime = end; }
82dfb6c8 39 TTimeStamp GetStartTime () const { return fStartTime; }
40 TTimeStamp GetEndTime () const { return fEndTime; }
e5250086 41 void SetMinGraph(const Int_t minGraph) { fMinGraph=minGraph;}
42 Int_t GetMinGraph() const { return fMinGraph; }
43 void SetMinPoints(const Int_t minPoints) { fMinPoints=minPoints;}
44 Int_t GetMinPoints() const { return fMinPoints; }
82dfb6c8 45 void SetIter(const Int_t iter ) { fIter=iter; }
46 Int_t GetIter() const { return fIter; }
e5250086 47 void SetMaxDelta(const Double_t maxDelta) { fMaxDelta= maxDelta;}
82dfb6c8 48 Double_t GetMaxDelta() const { return fMaxDelta; }
e5250086 49 void SetFitReq(const Int_t fitReq) { fFitReq=fitReq; }
50 Int_t GetFitReq() const {return fFitReq;}
51 void SetValCut(const Int_t valCut) { fValCut=valCut;}
82dfb6c8 52 Int_t GetValCut() const {return fValCut;}
e5250086 53 void SetDiffCut(const Int_t diffCut) { fDiffCut=diffCut; }
54 Int_t GetDiffCut() const {return fDiffCut;}
55
24938b4c 56 void SetGraph (TMap *map);
57 void MakeSplineFit(TMap *map, Bool_t keepMap=kFALSE);
0baf4718 58 void MakeSplineFitAddPoints(TMap *map);
59 TMap* ExtractDCS (TMap *dcsMap, Bool_t keepStart=kFALSE);
60 TGraph* MakeGraph (TObjArray *valueSet, Bool_t keepStart=kFALSE);
24938b4c 61 void ClearGraph();
82dfb6c8 62 void ClearFit();
0baf4718 63 Double_t GetValue (UInt_t timeSec, Int_t sensor);
7264822f 64 AliDCSSensor* GetSensor (Int_t IdDCS);
65 AliDCSSensor* GetSensor (Double_t x, Double_t y, Double_t z);
24938b4c 66 AliDCSSensor* GetSensor (const TString& stringID);
8cb8848e 67 AliDCSSensor* GetSensorNum (Int_t ind);
9663477d 68 Int_t SetSensor (const TString& stringID, const AliDCSSensor& sensor);
69 void SetSensorNum (const Int_t ind, const AliDCSSensor& sensor);
82dfb6c8 70 void RemoveSensorNum(Int_t ind);
71 void RemoveSensor(Int_t IdDCS);
e7097603 72 void AddSensors(AliDCSSensorArray *sensors);
989362ab 73 void RemoveGraphDuplicates (Double_t tolerance=1e-6);
bf84b403 74 TArrayI OutsideThreshold(Double_t threshold, UInt_t timeSec=0, Bool_t below=kTRUE) const;
8cb8848e 75 Int_t NumSensors() const { return fSensors->GetEntries(); }
67a165ed 76 Int_t NumFits() const;
82dfb6c8 77
8cb8848e 78 Int_t GetFirstIdDCS() const;
82dfb6c8 79 Int_t GetLastIdDCS() const;
3dc6d65a 80 const TClonesArray * GetArray(){return fSensors;}
7264822f 81
3dc6d65a 82 protected:
e5250086 83 Int_t fMinGraph; // minimum #points of graph to be fitted
84 Int_t fMinPoints; // minimum number of points per knot in fit
85 Int_t fIter; // number of iterations for spline fit
86 Double_t fMaxDelta; // precision parameter for spline fit
87 Int_t fFitReq; // fit requirement, 2 = continuous 2nd derivative
88 Int_t fValCut; // cut on absolute value read from DCS map
89 Int_t fDiffCut; // cut on difference in value read from DCS map
90 TTimeStamp fStartTime; // start time for measurements in this entry
91 TTimeStamp fEndTime; // end time for measurements in this entry
92 TClonesArray *fSensors; // Array of sensors
7264822f 93
67a165ed 94
95
e5250086 96 ClassDef(AliDCSSensorArray,3) // TPC calibration class for parameters which are saved per pad
7264822f 97
98};
99
100#endif