]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Container for calibration data
authorschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 12 Dec 2002 17:55:35 +0000 (17:55 +0000)
committerschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 12 Dec 2002 17:55:35 +0000 (17:55 +0000)
PHOS/AliPHOSCalibrationData.cxx [new file with mode: 0644]
PHOS/AliPHOSCalibrationData.h [new file with mode: 0644]

diff --git a/PHOS/AliPHOSCalibrationData.cxx b/PHOS/AliPHOSCalibrationData.cxx
new file mode 100644 (file)
index 0000000..15e2cbe
--- /dev/null
@@ -0,0 +1,91 @@
+/**************************************************************************
+ * 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 ;
+}
diff --git a/PHOS/AliPHOSCalibrationData.h b/PHOS/AliPHOSCalibrationData.h
new file mode 100644 (file)
index 0000000..3db81a0
--- /dev/null
@@ -0,0 +1,61 @@
+#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