1 #ifndef ALIEMCALCALIBTIMEDEPCORRECTION_H
2 #define ALIEMCALCALIBTIMEDEPCORRECTION_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 #include "AliEMCALGeoParams.h"
15 Objects of this class read txt file with APD data
16 AliEMCALCalibTimeDepCorrection inherits TObject only to use AliLog "functions".
19 class AliEMCALCalibTimeDepCorrection : public TObject {
21 AliEMCALCalibTimeDepCorrection();
23 // interface methods; getting the whole struct should be more efficient though
24 void InitCorrection(Int_t nSM, Int_t nBins, Float_t val); // assign a certain value to all
25 // use the methods below with caution: take care that your argument ranges are valid
26 void SetCorrection(Int_t smIndex, Int_t iCol, Int_t iRow, Int_t iBin, Float_t val=1.0); // assign a certain value to a given bin
27 Float_t GetCorrection(Int_t smIndex, Int_t iCol, Int_t iRow, Int_t iBin) const; // assign a certain value to a given bin
30 // Read and Write txt I/O methods are normally not used, but are useful for
31 // filling the object before it is saved in OCDB
32 void ReadCalibTimeDepCorrectionInfo(Int_t nSM, const TString &txtFileName, Bool_t swapSides=kFALSE); // info file is for nSm=1 to 12 SuperModules
34 void WriteCalibTimeDepCorrectionInfo(const TString &txtFileName, Bool_t swapSides=kFALSE); // info file is for nSm=1 to 12 SuperModules
36 virtual ~AliEMCALCalibTimeDepCorrection();
38 struct AliEMCALSuperModuleCalibTimeDepCorrection {
39 Int_t fSuperModuleNum;
40 TArrayF fCorrection[AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows];
43 // pointer to stored info.
44 Int_t GetNSuperModule() const { return fNSuperModule; };
45 AliEMCALSuperModuleCalibTimeDepCorrection * GetSuperModuleData() const { return fSuperModuleData; };
47 // - via the index in the stored array:
48 virtual AliEMCALSuperModuleCalibTimeDepCorrection GetSuperModuleCalibTimeDepCorrectionId(Int_t smIndex) const;
49 // - or via the actual SM number
50 virtual AliEMCALSuperModuleCalibTimeDepCorrection GetSuperModuleCalibTimeDepCorrectionNum(Int_t smNum) const;
54 Int_t fNSuperModule; // Number of supermodules.
55 AliEMCALSuperModuleCalibTimeDepCorrection *fSuperModuleData; // SuperModule data
59 AliEMCALCalibTimeDepCorrection(const AliEMCALCalibTimeDepCorrection &);
60 AliEMCALCalibTimeDepCorrection &operator = (const AliEMCALCalibTimeDepCorrection &);
62 ClassDef(AliEMCALCalibTimeDepCorrection, 1) //