]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PHOS/AliPHOSCalibData.h
Updating limits to cope both with p-A and A-p ZDC timing
[u/mrichter/AliRoot.git] / PHOS / AliPHOSCalibData.h
CommitLineData
52783dbc 1#ifndef ALIPHOSCALIBDATA_H
2#define ALIPHOSCALIBDATA_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7/* $Id$ */
8
9////////////////////////////////////////////////
fc6706cb 10// class for PHOS calibration //
52783dbc 11////////////////////////////////////////////////
12
13#include "TNamed.h"
fc6706cb 14#include "TString.h"
1fdb1c5e 15
16class AliPHOSEmcCalibData;
17class AliPHOSCpvCalibData;
81701069 18class AliPHOSEmcBadChannelsMap;
1fdb1c5e 19class AliCDBMetaData;
52783dbc 20
21class AliPHOSCalibData: public TNamed {
22
23 public:
24 AliPHOSCalibData();
fc6706cb 25 AliPHOSCalibData(Int_t runNumber);
1fdb1c5e 26 AliPHOSCalibData(AliPHOSCalibData & phosCDB);
52783dbc 27 virtual ~AliPHOSCalibData();
3f7dbdb7 28
29 AliPHOSCalibData & operator = (const AliPHOSCalibData & rhs);
30
52783dbc 31 void Reset();
32 virtual void Print(Option_t *option = "") const;
f36dfa9a 33
34 AliPHOSEmcCalibData *GetCalibDataEmc() const {return fCalibDataEmc;}
35 AliPHOSCpvCalibData *GetCalibDataCpv() const {return fCalibDataCpv;}
fc6706cb 36
37 void CreateNew();
e2e977c3 38 void RandomEmc(Float_t ccMin=0.5 , Float_t ccMax=1.5);
39 void RandomCpv(Float_t ccMin=0.0009, Float_t ccMax=0.0015);
fc6706cb 40
e3310625 41 //----First EMC parameters---------
072de3a8 42 Float_t GetADCchannelEmc(Int_t module, Int_t column, Int_t row) const;
e3310625 43 void SetADCchannelEmc(Int_t module, Int_t column, Int_t row, Float_t value);
44
072de3a8 45 Float_t GetADCpedestalEmc(Int_t module, Int_t column, Int_t row) const;
e3310625 46 void SetADCpedestalEmc(Int_t module, Int_t column, Int_t row, Float_t value);
47
48 Float_t GetHighLowRatioEmc(Int_t module, Int_t column, Int_t row) const ;
49 void SetHighLowRatioEmc(Int_t module, Int_t column, Int_t row, Float_t value) ;
fc6706cb 50
e3310625 51 Float_t GetTimeShiftEmc(Int_t module, Int_t column, Int_t row) const;
52 void SetTimeShiftEmc(Int_t module, Int_t column, Int_t row, Float_t value) ;
52783dbc 53
f1731579 54 Float_t GetLGTimeShiftEmc(Int_t module, Int_t column, Int_t row) const;
55 void SetLGTimeShiftEmc(Int_t module, Int_t column, Int_t row, Float_t value) ;
56
bafc1087 57 Int_t GetAltroOffsetEmc(Int_t module, Int_t column, Int_t row) const;
58 void SetAltroOffsetEmc(Int_t module, Int_t column, Int_t row, Int_t value) ;
59
6f47f50d 60 Float_t GetSampleTimeStep() const ;
61 void SetSampleTimeStep(Float_t step) ;
62
e3310625 63 //----Now CPV parameters-----------
fc6706cb 64 Float_t GetADCchannelCpv(Int_t module, Int_t column, Int_t row) const;
e3310625 65 void SetADCchannelCpv(Int_t module, Int_t column, Int_t row, Float_t value);
66
fc6706cb 67 Float_t GetADCpedestalCpv(Int_t module, Int_t column, Int_t row) const;
e3310625 68 void SetADCpedestalCpv(Int_t module, Int_t column, Int_t row, Float_t value);
fc6706cb 69
e3310625 70 //----Bad channels map-------------
81701069 71 Int_t GetNumOfEmcBadChannels() const;
72 Bool_t IsBadChannelEmc(Int_t module, Int_t col, Int_t row) const;
d940eb29 73 void EmcBadChannelIds(Int_t *badIds=0);
81701069 74
fc6706cb 75 void SetEmcDataPath(const char* emcPath) {fEmcDataPath=emcPath;}
76 void SetCpvDataPath(const char* cpvPath) {fCpvDataPath=cpvPath;}
77
78 Bool_t WriteEmc(Int_t firstRun, Int_t lastRun, AliCDBMetaData *md);
79 Bool_t WriteCpv(Int_t firstRun, Int_t lastRun, AliCDBMetaData *md);
81701069 80 Bool_t WriteEmcBadChannelsMap(Int_t firstRun, Int_t lastRun, AliCDBMetaData *md);
fc6706cb 81
d5b302a6 82 //----Decalibration factors for simulation-------------
83 Float_t GetADCchannelEmcDecalib(Int_t module, Int_t column, Int_t row) const;
84 void SetADCchannelEmcDecalib(Int_t module, Int_t column, Int_t row, Float_t value);
85
fc6706cb 86 private:
87
88 AliPHOSEmcCalibData* fCalibDataEmc; // EMC calibration data
89 AliPHOSCpvCalibData* fCalibDataCpv; // CPV calibration data
81701069 90 AliPHOSEmcBadChannelsMap* fEmcBadChannelsMap; // EMC bad channels map
fc6706cb 91
fc6706cb 92 TString fEmcDataPath; // path to EMC calibration data
93 TString fCpvDataPath; // path to CPV calibration data
81701069 94 TString fEmcBadChannelsMapPath; // path to bad channels map
fc6706cb 95
d5b302a6 96 ClassDef(AliPHOSCalibData,6) // PHOS Calibration data
52783dbc 97};
98
99#endif