/************************************************************************** * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * * * * Author: The ALICE Off-line Project. * * Contributors are mentioned in the code where appropriate. * * * * Permission to use, copy, modify and distribute this software and its * * documentation strictly for non-commercial purposes is hereby granted * * without fee, provided that the above copyright notice appears in all * * copies and that both the copyright notice and this permission notice * * appear in the supporting documentation. The authors make no claims * * about the suitability of this software for any purpose. It is * * provided "as is" without express or implied warranty. * **************************************************************************/ /////////////////////////////////////////////////////////////////////////////// // // // TPC calibration class for parameters which saved per pad // // Authors: Marian Ivanov and Haavard Helstrup // // // /////////////////////////////////////////////////////////////////////////////// #include "AliTPCSensorTempArray.h" ClassImp(AliTPCSensorTempArray) const char kFname[] = "TempSensor.txt"; const Int_t kMinGraph = 10; // minimum #points of graph to be fitted const Int_t kMinPoints = 10; // minimum number of points per knot in fit const Int_t kIter = 10; // number of iterations for spline fit const Double_t kMaxDelta = 0.00; // precision parameter for spline fit const Int_t kFitReq = 2; // fit requirement, 2 = continuous 2nd derivative //_____________________________________________________________________________ AliTPCSensorTempArray::AliTPCSensorTempArray():AliDCSSensorArray() { // // AliTPCSensorTempArray default constructor // fSensors = 0; fFirstSensor = 0; fLastSensor = 0; TTimeStamp defTime(2000,1,1,0,0,0); fStartTime = defTime; fEndTime = defTime; } //_____________________________________________________________________________ AliTPCSensorTempArray::AliTPCSensorTempArray(Int_t prevRun) : AliDCSSensorArray(prevRun,"TPC/Calib/Temperature") { } //_____________________________________________________________________________ AliTPCSensorTempArray::AliTPCSensorTempArray(UInt_t startTime, UInt_t endTime) :AliDCSSensorArray() { // // AliTPCSensorTempArray default constructor // fSensors = AliTPCSensorTemp::ReadListInd(kFname,fFirstSensor,fLastSensor); fStartTime = TTimeStamp(startTime); fEndTime = TTimeStamp(endTime); } //_____________________________________________________________________________ AliTPCSensorTempArray::AliTPCSensorTempArray(const char *fname) : AliDCSSensorArray() { // // AliTPCSensorTempArray constructor // fSensors = AliTPCSensorTemp::ReadListInd(fname,fFirstSensor,fLastSensor); fSensors->BypassStreamer(kFALSE); TTimeStamp defTime(2000,1,1,0,0,0); fStartTime = defTime; fEndTime = defTime; } //_____________________________________________________________________________ AliTPCSensorTempArray::AliTPCSensorTempArray(const AliTPCSensorTempArray &c): AliDCSSensorArray(c) { // // AliTPCSensorTempArray copy constructor // } ///_____________________________________________________________________________ AliTPCSensorTempArray::~AliTPCSensorTempArray() { // // AliTPCSensorTempArray destructor // fSensors->Delete(); delete fSensors; } //_____________________________________________________________________________ AliTPCSensorTempArray &AliTPCSensorTempArray::operator=(const AliTPCSensorTempArray &c) { // // Assignment operator // if (this != &c) ((AliTPCSensorTempArray &) c).Copy(*this); return *this; } //_____________________________________________________________________________ void AliTPCSensorTempArray::Copy(TObject &c) const { // // Copy function // TObject::Copy(c); } //_____________________________________________________________________________ void AliTPCSensorTempArray::ReadSensors(const char *fname) { // // Read list of temperature sensors from text file // fSensors = AliTPCSensorTemp::ReadListInd(fname,fFirstSensor,fLastSensor); } //_____________________________________________________________________________ void AliTPCSensorTempArray::SetGraph(TMap *map) { // // Read graphs from DCS maps // AliDCSSensorArray::SetGraph(map,"tpc_temp:PT_%d.Temperature"); } //_____________________________________________________________________________ void AliTPCSensorTempArray::MakeSplineFit(TMap *map) { // // Make spline fits from DCS maps // AliDCSSensorArray::MakeSplineFit(map,"tpc_temp:PT_%d.Temperature"); } //_____________________________________________________________________________ TMap* AliTPCSensorTempArray::ExtractDCS(TMap *dcsMap) { // // Extract temperature graphs from DCS maps // TMap *values = AliDCSSensorArray::ExtractDCS(dcsMap,"tpc_temp:PT_%d.Temperature"); return values; }