Bug corrected.
[u/mrichter/AliRoot.git] / STEER / AliDCSSensor.h
CommitLineData
7264822f 1#ifndef AliDCSSensor_H
2#define AliDCSSensor_H
3/* Copyright(c) 2006-07, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6
7
8////////////////////////////////////////////////////////////////////////////
9// Container class for DCS sensors
10////////////////////////////////////////////////////////////////////////////
11
12
13#include "TObject.h"
14#include "TMath.h"
15#include "TTimeStamp.h"
16#include "AliSplineFit.h"
17
18class TObjArray;
19class TClonesArray;
20class TTree;
21class TFile;
22class TString;
23class TGraph;
24class TVector3;
25
26
27////////////////////////////////////////////////////////////////////////
28// Class AliDCSSensor
29////////////////////////////////////////////////////////////////////////
30
31class AliDCSSensor : public TNamed {
32
33public:
34 AliDCSSensor();
35 AliDCSSensor(const AliDCSSensor& source);
36 virtual ~AliDCSSensor(){}
37 AliDCSSensor& operator=(const AliDCSSensor& source);
38
39 Int_t GetId() const {return fId; }
40 Int_t GetIdDCS() const {return fIdDCS; }
24cd438b 41 const TString& GetStringID() const {return fStringID; }
7264822f 42
43 Double_t GetX() const {return fX; }
44 Double_t GetY() const {return fY; }
45 Double_t GetZ() const {return fZ; }
46 Double_t GetR() const {return TMath::Sqrt(fX*fX+fY*fY);}
47 Double_t GetPhi() const {return TMath::ATan2(fY,fX); }
48
8cb8848e 49 UInt_t GetStartTime() const {return fStartTime;}
50 UInt_t GetEndTime() const { return fEndTime; }
7264822f 51 TGraph* GetGraph() const {return fGraph; }
52 AliSplineFit* GetFit() const {return fFit; }
53
54 void SetId (Int_t id) {fId = id; }
55 void SetIdDCS (Int_t iddcs) {fIdDCS = iddcs; }
24cd438b 56 void SetStringID (const TString& stringID) {fStringID = stringID; }
7264822f 57
58 void SetX (Double_t x) {fX = x; }
59 void SetY (Double_t y) {fY = y; }
60 void SetZ (Double_t z) {fZ = z; }
61
62 void SetGraph (TGraph *gr) {fGraph = gr; }
63 void SetFit (AliSplineFit *f) {fFit = f; }
64 void SetStartTime (UInt_t stime) {fStartTime = stime; }
65 void SetStartTime (TTimeStamp time) {fStartTime = time.GetSec(); }
8cb8848e 66 void SetEndTime (UInt_t stime) {fEndTime = stime; }
67 void SetEndTime (TTimeStamp time) {fEndTime = time.GetSec(); }
6ec4e3e3 68 Double_t GetValue(UInt_t timeSec); // timeSec offset for individual sensor map
69 Double_t GetValue(TTimeStamp time); // use this for absolute time stamp
1bc2e138 70 Double_t Eval(const TTimeStamp& time, Bool_t& inside) const;
71 Double_t EvalGraph(const TTimeStamp& time, Bool_t& inside) const;
e7097603 72 Double_t EvalGraph(const Double_t& timeHour) const;
6ec4e3e3 73 TGraph *MakeGraph (Int_t nPoints=100, Bool_t debug=kFALSE) const;
24cd438b 74 static TClonesArray * ReadTree(TTree *tree);
8cb8848e 75
7264822f 76
77protected:
24cd438b 78 Int_t fId; // Internal number of sensor id (array index)
79 Int_t fIdDCS; // ID number in DCS
80 TString fStringID; // Amanda String ID
8cb8848e 81 UInt_t fStartTime; // start time for DCS map/fit
82 UInt_t fEndTime; // end time for DCS map/fit
7264822f 83 TGraph * fGraph; // graph with values
84 AliSplineFit *fFit; // fit to graph values
85 Double_t fX; //X-position of the sensor
86 Double_t fY; //Y-position of the sensor
87 Double_t fZ; //Z-position of the sensor
88
24cd438b 89 ClassDef(AliDCSSensor,3);
7264822f 90};
91#endif
24cd438b 92