--- /dev/null
+/**************************************************************************
+ * 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. *
+ **************************************************************************/
+
+
+//_________________________________________________________________________
+// Calibration data and their quality
+//
+//*-- Author : D.Peressounko
+//////////////////////////////////////////////////////////////////////////////
+
+// --- ROOT system ---
+
+// --- Standard library ---
+
+// --- AliRoot header files ---
+#include "AliPHOSCalibrationData.h"
+
+
+ClassImp(AliPHOSCalibrationData)
+
+
+//____________________________________________________________________________
+ AliPHOSCalibrationData::AliPHOSCalibrationData():TObject() {
+ fBegin=0;
+ fEnd=0;
+ fData = 0 ;
+ fDataCheck = 0 ;
+ fCategory="";
+ fVersion="" ;
+}
+
+//____________________________________________________________________________
+ AliPHOSCalibrationData::AliPHOSCalibrationData(const char * category, const char * version, Int_t nchannels){
+ fData = new TArrayF(nchannels) ;
+ fDataCheck = new TArrayF(nchannels) ;
+ fCategory=category;
+ fVersion=version ;
+}
+//____________________________________________________________________________
+AliPHOSCalibrationData::AliPHOSCalibrationData(const AliPHOSCalibrationData & cd){
+ fData = new TArrayF(*cd.fData) ;
+ fDataCheck = new TArrayF(*cd.fDataCheck) ;
+ fCategory=cd.fCategory;
+ fVersion=cd.fVersion ;
+}
+//____________________________________________________________________________
+ AliPHOSCalibrationData::~AliPHOSCalibrationData()
+{
+ if(fData){
+ delete fData ;
+ fData=0 ;
+ }
+ if(fDataCheck){
+ delete fDataCheck ;
+ fDataCheck=0;
+ }
+}
+//____________________________________________________________________________
+Float_t AliPHOSCalibrationData::Data(Int_t channel)const {
+ return fData->At(channel) ;
+}
+//____________________________________________________________________________
+Float_t AliPHOSCalibrationData::DataCheck(Int_t channel)const {
+ return fDataCheck->At(channel) ;
+}
+//____________________________________________________________________________
+AliPHOSCalibrationData & AliPHOSCalibrationData::operator = (const AliPHOSCalibrationData & rvalue){
+ if(fData)
+ delete fData;
+ fData = new TArrayF(*rvalue.fData) ;
+ if(fDataCheck)
+ delete fDataCheck ;
+ fDataCheck = new TArrayF(*rvalue.fDataCheck) ;
+ fCategory=rvalue.fCategory;
+ fVersion=rvalue.fVersion ;
+ fBegin=rvalue.fBegin ;
+ fEnd = rvalue.fEnd ;
+ return *this ;
+}
--- /dev/null
+#ifndef ALIPHOSCALIBRATIONDATA_H
+#define ALIPHOSCALIBRATIONDATA_H
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice */
+
+/* $Id$ */
+
+//_________________________________________________________________________
+// Base Class for PHOS
+//
+//*-- Author:D.Peressounko
+
+
+// --- ROOT system ---
+#include "TArrayF.h"
+#include "TString.h"
+
+// --- Standard library ---
+
+// --- AliRoot header files ---
+#include "TObject.h"
+
+class AliPHOSCalibrationData : public TObject {
+
+public:
+ AliPHOSCalibrationData() ; // Default ctor (empty)
+ AliPHOSCalibrationData(const char* category, const char * version="v1" ,Int_t nchanels = 17920) ;
+ AliPHOSCalibrationData(const AliPHOSCalibrationData & cd) ;
+ virtual ~AliPHOSCalibrationData() ;
+
+ virtual const char* GetSubsystem(void)const{return "PHOS" ;}
+ virtual const char* GetVersion(void) const{return fVersion ;}
+ virtual const char* GetCategory(void) const {return fCategory ;}
+ virtual const void GetValidityRange(Int_t &begin,Int_t &end){begin=fBegin;end=fEnd ;}
+
+ Float_t Data(Int_t channel)const ;
+ Float_t DataCheck(Int_t channel) const ;
+ Int_t NChannels(void){if(fData) return fData->GetSize() ;
+ else return 0 ;}
+
+ void SetData(Int_t channel,Float_t data){fData->AddAt(data,channel); }
+ void SetData(TArrayF &array){if(fData) delete fData; fData=new TArrayF(array) ;} ;
+ void SetDataCheck(Int_t channel,Float_t check){fDataCheck->AddAt(check,channel) ;}
+ void SetDataCheck(TArrayF &array){if(fData) delete fDataCheck; fDataCheck=new TArrayF(array) ;} ;
+ void SetValidityRange(Int_t begin,Int_t end){fBegin=begin;fEnd=end;}
+
+ AliPHOSCalibrationData & operator = (const AliPHOSCalibrationData & rvalue) ;
+
+private:
+ TString fCategory; //e.g. Gains, Pedestals,...
+ TString fVersion ; //Version (title)
+ TArrayF * fData ; //Data themself
+ TArrayF * fDataCheck ; //Parameter to check Data validity (e.g. width of pedestal peak)
+ Int_t fBegin ; // validity period
+ Int_t fEnd ; // validity period
+
+ ClassDef(AliPHOSCalibrationData,1) // description
+
+};
+
+#endif // AliPHOSCALIBRATIONDATA_H