bug fix from A. Hansen - requesting proper mother particle ID
[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
bafc1087 54 Int_t GetAltroOffsetEmc(Int_t module, Int_t column, Int_t row) const;
55 void SetAltroOffsetEmc(Int_t module, Int_t column, Int_t row, Int_t value) ;
56
6f47f50d 57 Float_t GetSampleTimeStep() const ;
58 void SetSampleTimeStep(Float_t step) ;
59
e3310625 60 //----Now CPV parameters-----------
fc6706cb 61 Float_t GetADCchannelCpv(Int_t module, Int_t column, Int_t row) const;
e3310625 62 void SetADCchannelCpv(Int_t module, Int_t column, Int_t row, Float_t value);
63
fc6706cb 64 Float_t GetADCpedestalCpv(Int_t module, Int_t column, Int_t row) const;
e3310625 65 void SetADCpedestalCpv(Int_t module, Int_t column, Int_t row, Float_t value);
fc6706cb 66
e3310625 67 //----Bad channels map-------------
81701069 68 Int_t GetNumOfEmcBadChannels() const;
69 Bool_t IsBadChannelEmc(Int_t module, Int_t col, Int_t row) const;
d940eb29 70 void EmcBadChannelIds(Int_t *badIds=0);
81701069 71
fc6706cb 72 void SetEmcDataPath(const char* emcPath) {fEmcDataPath=emcPath;}
73 void SetCpvDataPath(const char* cpvPath) {fCpvDataPath=cpvPath;}
74
75 Bool_t WriteEmc(Int_t firstRun, Int_t lastRun, AliCDBMetaData *md);
76 Bool_t WriteCpv(Int_t firstRun, Int_t lastRun, AliCDBMetaData *md);
81701069 77 Bool_t WriteEmcBadChannelsMap(Int_t firstRun, Int_t lastRun, AliCDBMetaData *md);
fc6706cb 78
79 private:
80
81 AliPHOSEmcCalibData* fCalibDataEmc; // EMC calibration data
82 AliPHOSCpvCalibData* fCalibDataCpv; // CPV calibration data
81701069 83 AliPHOSEmcBadChannelsMap* fEmcBadChannelsMap; // EMC bad channels map
fc6706cb 84
fc6706cb 85 TString fEmcDataPath; // path to EMC calibration data
86 TString fCpvDataPath; // path to CPV calibration data
81701069 87 TString fEmcBadChannelsMapPath; // path to bad channels map
fc6706cb 88
e3310625 89 ClassDef(AliPHOSCalibData,5) // PHOS Calibration data
52783dbc 90};
91
92#endif