#ifndef ALIEMCALCALIBREFERENCE_H
#define ALIEMCALCALIBREFERENCE_H
#include <TObject.h>
#include <TObjArray.h>
#include "AliEMCALGeoParams.h"
class TString;
class TTree;
class AliEMCALCalibReferenceVal : public TObject {
public:
AliEMCALCalibReferenceVal() : TObject(),
fHighLow(0),
fLEDAmp(0),
fLEDAmpRMS(0)
{
}
void Init() {
fHighLow = 0;
fLEDAmp = 0;
fLEDAmpRMS = 0;
return;
}
public:
void SetHighLow(Int_t i) { fHighLow = i; };
Int_t GetHighLow() const { return fHighLow; };
void SetLEDAmp(Float_t f) { fLEDAmp = f; };
Float_t GetLEDAmp() const { return fLEDAmp; };
void SetLEDAmpRMS(Float_t f) { fLEDAmpRMS = f; };
Float_t GetLEDAmpRMS() const { return fLEDAmpRMS; };
private:
Int_t fHighLow;
Float_t fLEDAmp;
Float_t fLEDAmpRMS;
ClassDef(AliEMCALCalibReferenceVal, 1)
};
class AliEMCALSuperModuleCalibReference : public TObject {
public:
AliEMCALSuperModuleCalibReference(const int smNum=0) : TObject(),
fSuperModuleNum(smNum),
fReferenceTime(0)
{
for (int iref=0; iref<AliEMCALGeoParams::fgkEMCALLEDRefs; iref++) {
fLEDRefAmp[iref] = 0;
fLEDRefAmpRMS[iref] = 0;
fLEDRefHighLow[iref] = 0;
}
for (int itemp=0; itemp<AliEMCALGeoParams::fgkEMCALTempSensors; itemp++) {
fTemperature[itemp] = 0;
fTemperatureRMS[itemp] = 0;
}
for (int icol=0; icol<AliEMCALGeoParams::fgkEMCALCols; icol++) {
for (int irow=0; irow<AliEMCALGeoParams::fgkEMCALRows; irow++) {
fAPDVal[icol][irow].Init();
}
}
}
public:
void SetSuperModuleNum(Int_t i) { fSuperModuleNum = i;};
Int_t GetSuperModuleNum() const { return fSuperModuleNum;};
void SetReferenceTime(Int_t i) { fReferenceTime = i;};
Int_t GetReferenceTime() const { return fReferenceTime;};
void SetLEDRefAmp(int iLEDRef, Float_t f) { fLEDRefAmp[iLEDRef] = f;};
Float_t GetLEDRefAmp(int iLEDRef) const { return fLEDRefAmp[iLEDRef];};
void SetLEDRefAmpRMS(int iLEDRef, Float_t f) { fLEDRefAmpRMS[iLEDRef] = f;};
Float_t GetLEDRefAmpRMS(int iLEDRef) const { return fLEDRefAmpRMS[iLEDRef];};
void SetLEDRefHighLow(int iLEDRef, Int_t i) { fLEDRefHighLow[iLEDRef] = i;};
Int_t GetLEDRefHighLow(int iLEDRef) const { return fLEDRefHighLow[iLEDRef];};
void SetTemperature(int itemp, Float_t f) { fTemperature[itemp] = f;};
Float_t GetTemperature(int itemp) const { return fTemperature[itemp];};
void SetTemperatureRMS(int itemp, Float_t f) { fTemperatureRMS[itemp] = f;};
Float_t GetTemperatureRMS(int itemp) const { return fTemperatureRMS[itemp];};
AliEMCALCalibReferenceVal * GetAPDVal(int icol, int irow)
{ return &fAPDVal[icol][irow]; };
private:
Int_t fSuperModuleNum;
Int_t fReferenceTime;
Float_t fLEDRefAmp[AliEMCALGeoParams::fgkEMCALLEDRefs];
Float_t fLEDRefAmpRMS[AliEMCALGeoParams::fgkEMCALLEDRefs];
Int_t fLEDRefHighLow[AliEMCALGeoParams::fgkEMCALLEDRefs];
Float_t fTemperature[AliEMCALGeoParams::fgkEMCALTempSensors];
Float_t fTemperatureRMS[AliEMCALGeoParams::fgkEMCALTempSensors];
AliEMCALCalibReferenceVal fAPDVal[AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows];
ClassDef(AliEMCALSuperModuleCalibReference, 1)
};
class AliEMCALCalibReference : public TObject {
public:
enum kProblemType {kNoLED=-999};
AliEMCALCalibReference(const int nSM = AliEMCALGeoParams::fgkEMCALModules);
void ReadTextCalibReferenceInfo(Int_t nSM, const TString &txtFileName, Bool_t swapSides=kFALSE);
void WriteTextCalibReferenceInfo(const TString &txtFileName, Bool_t swapSides=kFALSE);
void ReadRootCalibReferenceInfo(const TString &rootFileName, Bool_t swapSides=kFALSE);
void ReadTreeCalibReferenceInfo(TTree *tree, Bool_t swapSides=kFALSE);
void WriteRootCalibReferenceInfo(const TString &rootFileName, Bool_t swapSides=kFALSE);
virtual ~AliEMCALCalibReference();
Int_t GetNSuperModule() const { return fNSuperModule; };
virtual AliEMCALSuperModuleCalibReference * GetSuperModuleCalibReferenceId(Int_t smIndex) const
{ return (AliEMCALSuperModuleCalibReference*) fSuperModuleData[smIndex]; };
virtual AliEMCALSuperModuleCalibReference * GetSuperModuleCalibReferenceNum(Int_t smNum) const;
protected:
Int_t fNSuperModule;
TObjArray fSuperModuleData;
private:
AliEMCALCalibReference(const AliEMCALCalibReference &);
AliEMCALCalibReference &operator = (const AliEMCALCalibReference &);
ClassDef(AliEMCALCalibReference, 1)
};
#endif
AliEMCALCalibReference.h:1 AliEMCALCalibReference.h:2 AliEMCALCalibReference.h:3 AliEMCALCalibReference.h:4 AliEMCALCalibReference.h:5 AliEMCALCalibReference.h:6 AliEMCALCalibReference.h:7 AliEMCALCalibReference.h:8 AliEMCALCalibReference.h:9 AliEMCALCalibReference.h:10 AliEMCALCalibReference.h:11 AliEMCALCalibReference.h:12 AliEMCALCalibReference.h:13 AliEMCALCalibReference.h:14 AliEMCALCalibReference.h:15 AliEMCALCalibReference.h:16 AliEMCALCalibReference.h:17 AliEMCALCalibReference.h:18 AliEMCALCalibReference.h:19 AliEMCALCalibReference.h:20 AliEMCALCalibReference.h:21 AliEMCALCalibReference.h:22 AliEMCALCalibReference.h:23 AliEMCALCalibReference.h:24 AliEMCALCalibReference.h:25 AliEMCALCalibReference.h:26 AliEMCALCalibReference.h:27 AliEMCALCalibReference.h:28 AliEMCALCalibReference.h:29 AliEMCALCalibReference.h:30 AliEMCALCalibReference.h:31 AliEMCALCalibReference.h:32 AliEMCALCalibReference.h:33 AliEMCALCalibReference.h:34 AliEMCALCalibReference.h:35 AliEMCALCalibReference.h:36 AliEMCALCalibReference.h:37 AliEMCALCalibReference.h:38 AliEMCALCalibReference.h:39 AliEMCALCalibReference.h:40 AliEMCALCalibReference.h:41 AliEMCALCalibReference.h:42 AliEMCALCalibReference.h:43 AliEMCALCalibReference.h:44 AliEMCALCalibReference.h:45 AliEMCALCalibReference.h:46 AliEMCALCalibReference.h:47 AliEMCALCalibReference.h:48 AliEMCALCalibReference.h:49 AliEMCALCalibReference.h:50 AliEMCALCalibReference.h:51 AliEMCALCalibReference.h:52 AliEMCALCalibReference.h:53 AliEMCALCalibReference.h:54 AliEMCALCalibReference.h:55 AliEMCALCalibReference.h:56 AliEMCALCalibReference.h:57 AliEMCALCalibReference.h:58 AliEMCALCalibReference.h:59 AliEMCALCalibReference.h:60 AliEMCALCalibReference.h:61 AliEMCALCalibReference.h:62 AliEMCALCalibReference.h:63 AliEMCALCalibReference.h:64 AliEMCALCalibReference.h:65 AliEMCALCalibReference.h:66 AliEMCALCalibReference.h:67 AliEMCALCalibReference.h:68 AliEMCALCalibReference.h:69 AliEMCALCalibReference.h:70 AliEMCALCalibReference.h:71 AliEMCALCalibReference.h:72 AliEMCALCalibReference.h:73 AliEMCALCalibReference.h:74 AliEMCALCalibReference.h:75 AliEMCALCalibReference.h:76 AliEMCALCalibReference.h:77 AliEMCALCalibReference.h:78 AliEMCALCalibReference.h:79 AliEMCALCalibReference.h:80 AliEMCALCalibReference.h:81 AliEMCALCalibReference.h:82 AliEMCALCalibReference.h:83 AliEMCALCalibReference.h:84 AliEMCALCalibReference.h:85 AliEMCALCalibReference.h:86 AliEMCALCalibReference.h:87 AliEMCALCalibReference.h:88 AliEMCALCalibReference.h:89 AliEMCALCalibReference.h:90 AliEMCALCalibReference.h:91 AliEMCALCalibReference.h:92 AliEMCALCalibReference.h:93 AliEMCALCalibReference.h:94 AliEMCALCalibReference.h:95 AliEMCALCalibReference.h:96 AliEMCALCalibReference.h:97 AliEMCALCalibReference.h:98 AliEMCALCalibReference.h:99 AliEMCALCalibReference.h:100 AliEMCALCalibReference.h:101 AliEMCALCalibReference.h:102 AliEMCALCalibReference.h:103 AliEMCALCalibReference.h:104 AliEMCALCalibReference.h:105 AliEMCALCalibReference.h:106 AliEMCALCalibReference.h:107 AliEMCALCalibReference.h:108 AliEMCALCalibReference.h:109 AliEMCALCalibReference.h:110 AliEMCALCalibReference.h:111 AliEMCALCalibReference.h:112 AliEMCALCalibReference.h:113 AliEMCALCalibReference.h:114 AliEMCALCalibReference.h:115 AliEMCALCalibReference.h:116 AliEMCALCalibReference.h:117 AliEMCALCalibReference.h:118 AliEMCALCalibReference.h:119 AliEMCALCalibReference.h:120 AliEMCALCalibReference.h:121 AliEMCALCalibReference.h:122 AliEMCALCalibReference.h:123 AliEMCALCalibReference.h:124 AliEMCALCalibReference.h:125 AliEMCALCalibReference.h:126 AliEMCALCalibReference.h:127 AliEMCALCalibReference.h:128 AliEMCALCalibReference.h:129 AliEMCALCalibReference.h:130 AliEMCALCalibReference.h:131 AliEMCALCalibReference.h:132 AliEMCALCalibReference.h:133 AliEMCALCalibReference.h:134 AliEMCALCalibReference.h:135 AliEMCALCalibReference.h:136 AliEMCALCalibReference.h:137 AliEMCALCalibReference.h:138 AliEMCALCalibReference.h:139 AliEMCALCalibReference.h:140 AliEMCALCalibReference.h:141 AliEMCALCalibReference.h:142 AliEMCALCalibReference.h:143 AliEMCALCalibReference.h:144 AliEMCALCalibReference.h:145 AliEMCALCalibReference.h:146 AliEMCALCalibReference.h:147 AliEMCALCalibReference.h:148 AliEMCALCalibReference.h:149 AliEMCALCalibReference.h:150 AliEMCALCalibReference.h:151 AliEMCALCalibReference.h:152 AliEMCALCalibReference.h:153 AliEMCALCalibReference.h:154 AliEMCALCalibReference.h:155 AliEMCALCalibReference.h:156 AliEMCALCalibReference.h:157 AliEMCALCalibReference.h:158 AliEMCALCalibReference.h:159 AliEMCALCalibReference.h:160 AliEMCALCalibReference.h:161 AliEMCALCalibReference.h:162 AliEMCALCalibReference.h:163 AliEMCALCalibReference.h:164 AliEMCALCalibReference.h:165 AliEMCALCalibReference.h:166 AliEMCALCalibReference.h:167 AliEMCALCalibReference.h:168 AliEMCALCalibReference.h:169 AliEMCALCalibReference.h:170 AliEMCALCalibReference.h:171