1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
17 ///////////////////////////////////////////////////////////////////////////////
19 // TPC calibration class for parameters which saved per pad //
20 // Authors: Marian Ivanov and Haavard Helstrup //
22 ///////////////////////////////////////////////////////////////////////////////
24 #include "AliTPCSensorTempArray.h"
26 ClassImp(AliTPCSensorTempArray)
28 const char kFname[] = "TempSensor.txt";
29 const Int_t kMinGraph = 10; // minimum #points of graph to be fitted
30 const Int_t kMinPoints = 10; // minimum number of points per knot in fit
31 const Int_t kIter = 10; // number of iterations for spline fit
32 const Double_t kMaxDelta = 0.00; // precision parameter for spline fit
33 const Int_t kFitReq = 2; // fit requirement, 2 = continuous 2nd derivative
35 //_____________________________________________________________________________
36 AliTPCSensorTempArray::AliTPCSensorTempArray():AliDCSSensorArray()
39 // AliTPCSensorTempArray default constructor
44 TTimeStamp defTime(2000,1,1,0,0,0);
49 //_____________________________________________________________________________
50 AliTPCSensorTempArray::AliTPCSensorTempArray(Int_t prevRun) :
51 AliDCSSensorArray(prevRun,"TPC/Calib/Temperature")
54 //_____________________________________________________________________________
55 AliTPCSensorTempArray::AliTPCSensorTempArray(UInt_t startTime, UInt_t endTime)
59 // AliTPCSensorTempArray default constructor
61 fSensors = AliTPCSensorTemp::ReadListInd(kFname,fFirstSensor,fLastSensor);
62 fStartTime = TTimeStamp(startTime);
63 fEndTime = TTimeStamp(endTime);
67 //_____________________________________________________________________________
68 AliTPCSensorTempArray::AliTPCSensorTempArray(const char *fname) :
72 // AliTPCSensorTempArray constructor
74 fSensors = AliTPCSensorTemp::ReadListInd(fname,fFirstSensor,fLastSensor);
75 fSensors->BypassStreamer(kFALSE);
76 TTimeStamp defTime(2000,1,1,0,0,0);
83 //_____________________________________________________________________________
84 AliTPCSensorTempArray::AliTPCSensorTempArray(const AliTPCSensorTempArray &c):
88 // AliTPCSensorTempArray copy constructor
93 ///_____________________________________________________________________________
94 AliTPCSensorTempArray::~AliTPCSensorTempArray()
97 // AliTPCSensorTempArray destructor
104 //_____________________________________________________________________________
105 AliTPCSensorTempArray &AliTPCSensorTempArray::operator=(const AliTPCSensorTempArray &c)
108 // Assignment operator
111 if (this != &c) ((AliTPCSensorTempArray &) c).Copy(*this);
116 //_____________________________________________________________________________
117 void AliTPCSensorTempArray::Copy(TObject &c) const
125 //_____________________________________________________________________________
126 void AliTPCSensorTempArray::ReadSensors(const char *fname)
129 // Read list of temperature sensors from text file
131 fSensors = AliTPCSensorTemp::ReadListInd(fname,fFirstSensor,fLastSensor);
133 //_____________________________________________________________________________
134 void AliTPCSensorTempArray::SetGraph(TMap *map)
137 // Read graphs from DCS maps
139 AliDCSSensorArray::SetGraph(map,"tpc_temp:PT_%d.Temperature");
141 //_____________________________________________________________________________
142 void AliTPCSensorTempArray::MakeSplineFit(TMap *map)
145 // Make spline fits from DCS maps
147 AliDCSSensorArray::MakeSplineFit(map,"tpc_temp:PT_%d.Temperature");
151 //_____________________________________________________________________________
152 TMap* AliTPCSensorTempArray::ExtractDCS(TMap *dcsMap)
155 // Extract temperature graphs from DCS maps
158 TMap *values = AliDCSSensorArray::ExtractDCS(dcsMap,"tpc_temp:PT_%d.Temperature");