Adding the array of the recosntruction parameters (Marian)
[u/mrichter/AliRoot.git] / PHOS / AliPHOSCalibrationData.h
1 #ifndef ALIPHOSCALIBRATIONDATA_H
2 #define ALIPHOSCALIBRATIONDATA_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 //_________________________________________________________________________
9 //  Base Class for PHOS     
10 //  for Calibration data                 
11 //*-- Author:D.Peressounko
12
13
14 // --- ROOT system ---
15 #include "TArrayF.h"
16 #include "TString.h"
17
18 // --- Standard library ---
19
20 // --- AliRoot header files ---
21 #include "TObject.h"
22
23 class AliPHOSCalibrationData : public TObject {
24
25 public:
26   AliPHOSCalibrationData() ;          // Default ctor (empty)
27   AliPHOSCalibrationData(const char* category, const char * version="v1" ,Int_t nchanels = 17920) ; 
28   AliPHOSCalibrationData(const AliPHOSCalibrationData & cd) ;
29   virtual ~AliPHOSCalibrationData() ;
30
31   virtual const char* GetSubsystem(void)const{return "PHOS" ;}
32   virtual const char* GetVersion(void)  const{return fVersion ;}
33   virtual const char* GetCategory(void) const {return fCategory ;} 
34   virtual void  GetValidityRange(Int_t &begin,Int_t &end) const {begin=fBegin;end=fEnd ;}
35   
36   Float_t Data(Int_t channel)const ;
37   Float_t DataCheck(Int_t channel) const ;
38   Int_t   NChannels(void){if(fData) return fData->GetSize() ;
39                           else return 0 ;}
40
41   void SetData(Int_t channel,Float_t data){fData->AddAt(data,channel); }
42   void SetData(TArrayF &array){if(fData) delete fData; fData=new TArrayF(array) ;} ;
43   void SetDataCheck(Int_t channel,Float_t check){fDataCheck->AddAt(check,channel) ;}
44   void SetDataCheck(TArrayF &array){if(fData) delete fDataCheck; fDataCheck=new TArrayF(array) ;} ;
45   void SetValidityRange(Int_t begin,Int_t end){fBegin=begin;fEnd=end;}
46
47   AliPHOSCalibrationData & operator = (const AliPHOSCalibrationData & rvalue) ;
48
49 private:
50   TString fCategory; //e.g. Gains, Pedestals,...
51   TString fVersion ; //Version (title)
52   TArrayF * fData ;      //Data themself
53   TArrayF * fDataCheck ; //Parameter to check Data validity (e.g. width of pedestal peak)
54   Int_t   fBegin ; // validity period
55   Int_t   fEnd ;   // validity period
56
57   ClassDef(AliPHOSCalibrationData,1)  // description 
58
59 };
60
61 #endif // AliPHOSCALIBRATIONDATA_H