]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliDCSSensor.h
Additional protection for locked geometry. Don't MakeAlignablePN in Set/GetLocalMatrix
[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(); }
7264822f 68 Double_t GetValue(UInt_t timeSec);
69 Double_t GetValue(TTimeStamp time);
67a165ed 70 Double_t Eval(const TTimeStamp& time, Bool_t inside=true) const;
8cb8848e 71 TGraph *MakeGraph (Int_t nPoints=100) const;
24cd438b 72 static TClonesArray * ReadTree(TTree *tree);
8cb8848e 73
7264822f 74
75protected:
24cd438b 76 Int_t fId; // Internal number of sensor id (array index)
77 Int_t fIdDCS; // ID number in DCS
78 TString fStringID; // Amanda String ID
8cb8848e 79 UInt_t fStartTime; // start time for DCS map/fit
80 UInt_t fEndTime; // end time for DCS map/fit
7264822f 81 TGraph * fGraph; // graph with values
82 AliSplineFit *fFit; // fit to graph values
83 Double_t fX; //X-position of the sensor
84 Double_t fY; //Y-position of the sensor
85 Double_t fZ; //Z-position of the sensor
86
24cd438b 87 ClassDef(AliDCSSensor,3);
7264822f 88};
89#endif
24cd438b 90