Container for calibration data
[u/mrichter/AliRoot.git] / PHOS / AliPHOSCalibrationData.cxx
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
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  **************************************************************************/
15
16
17 //_________________________________________________________________________
18 // Calibration data and their quality  
19 //
20 //*-- Author : D.Peressounko
21 //////////////////////////////////////////////////////////////////////////////
22
23 // --- ROOT system ---
24
25 // --- Standard library ---
26
27 // --- AliRoot header files ---
28 #include "AliPHOSCalibrationData.h"
29
30
31 ClassImp(AliPHOSCalibrationData)
32
33
34 //____________________________________________________________________________ 
35   AliPHOSCalibrationData::AliPHOSCalibrationData():TObject() {
36   fBegin=0;
37   fEnd=0;
38   fData = 0 ;
39   fDataCheck = 0 ;
40   fCategory=""; 
41   fVersion="" ; 
42 }
43
44 //____________________________________________________________________________ 
45   AliPHOSCalibrationData::AliPHOSCalibrationData(const char * category, const char * version, Int_t nchannels){
46   fData      = new TArrayF(nchannels) ;
47   fDataCheck = new TArrayF(nchannels) ;
48   fCategory=category; 
49   fVersion=version ; 
50 }
51 //____________________________________________________________________________ 
52 AliPHOSCalibrationData::AliPHOSCalibrationData(const AliPHOSCalibrationData & cd){
53   fData = new TArrayF(*cd.fData) ;
54   fDataCheck = new TArrayF(*cd.fDataCheck) ;
55   fCategory=cd.fCategory; 
56   fVersion=cd.fVersion ; 
57 }
58 //____________________________________________________________________________ 
59   AliPHOSCalibrationData::~AliPHOSCalibrationData()
60 {
61   if(fData){
62     delete fData ;
63     fData=0 ;
64   }
65   if(fDataCheck){
66     delete fDataCheck ;
67     fDataCheck=0;
68   }
69 }
70 //____________________________________________________________________________ 
71 Float_t AliPHOSCalibrationData::Data(Int_t channel)const {
72   return fData->At(channel) ;
73 }
74 //____________________________________________________________________________ 
75 Float_t AliPHOSCalibrationData::DataCheck(Int_t channel)const {
76   return fDataCheck->At(channel) ;
77 }
78 //____________________________________________________________________________ 
79 AliPHOSCalibrationData & AliPHOSCalibrationData::operator = (const AliPHOSCalibrationData & rvalue){
80   if(fData)
81     delete fData; 
82   fData      = new TArrayF(*rvalue.fData) ;
83   if(fDataCheck)
84     delete fDataCheck ;
85   fDataCheck = new TArrayF(*rvalue.fDataCheck) ;
86   fCategory=rvalue.fCategory; 
87   fVersion=rvalue.fVersion ; 
88   fBegin=rvalue.fBegin ;
89   fEnd = rvalue.fEnd ;
90   return *this ;
91 }