Introducing a Kalman-Filter-like straight-line fitter to the set of alignment classes
[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;
fc6706cb 33
34 void CreateNew();
e2e977c3 35 void RandomEmc(Float_t ccMin=0.5 , Float_t ccMax=1.5);
36 void RandomCpv(Float_t ccMin=0.0009, Float_t ccMax=0.0015);
fc6706cb 37
072de3a8 38 Float_t GetADCchannelEmc(Int_t module, Int_t column, Int_t row) const;
39 Float_t GetADCpedestalEmc(Int_t module, Int_t column, Int_t row) const;
fc6706cb 40
072de3a8 41 void SetADCchannelEmc(Int_t module, Int_t column, Int_t row, Float_t value);
42 void SetADCpedestalEmc(Int_t module, Int_t column, Int_t row, Float_t value);
52783dbc 43
fc6706cb 44 Float_t GetADCchannelCpv(Int_t module, Int_t column, Int_t row) const;
45 Float_t GetADCpedestalCpv(Int_t module, Int_t column, Int_t row) const;
46
47 void SetADCchannelCpv(Int_t module, Int_t column, Int_t row, Float_t value);
48 void SetADCpedestalCpv(Int_t module, Int_t column, Int_t row, Float_t value);
49
81701069 50 Int_t GetNumOfEmcBadChannels() const;
51 Bool_t IsBadChannelEmc(Int_t module, Int_t col, Int_t row) const;
d940eb29 52 void EmcBadChannelIds(Int_t *badIds=0);
81701069 53
fc6706cb 54 void SetEmcDataPath(const char* emcPath) {fEmcDataPath=emcPath;}
55 void SetCpvDataPath(const char* cpvPath) {fCpvDataPath=cpvPath;}
56
57 Bool_t WriteEmc(Int_t firstRun, Int_t lastRun, AliCDBMetaData *md);
58 Bool_t WriteCpv(Int_t firstRun, Int_t lastRun, AliCDBMetaData *md);
81701069 59 Bool_t WriteEmcBadChannelsMap(Int_t firstRun, Int_t lastRun, AliCDBMetaData *md);
fc6706cb 60
61 private:
62
63 AliPHOSEmcCalibData* fCalibDataEmc; // EMC calibration data
64 AliPHOSCpvCalibData* fCalibDataCpv; // CPV calibration data
81701069 65 AliPHOSEmcBadChannelsMap* fEmcBadChannelsMap; // EMC bad channels map
fc6706cb 66
fc6706cb 67 TString fEmcDataPath; // path to EMC calibration data
68 TString fCpvDataPath; // path to CPV calibration data
81701069 69 TString fEmcBadChannelsMapPath; // path to bad channels map
fc6706cb 70
d940eb29 71 ClassDef(AliPHOSCalibData,4) // PHOS Calibration data
52783dbc 72};
73
74#endif