#ifndef ALIEMCALCALIBMAPAPD_H #define ALIEMCALCALIBMAPAPD_H /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * * See cxx source for full Copyright notice */ /* $Id: $ */ #include #include #include "AliEMCALGeoParams.h" #include class TString; class TTree; /* Objects of this class contain info on APD calibration and map info, such as V30 and other parameters from the tests in Catania/Houston, as well as info on which APD is located where. */ // ******* internal class definition ************* // values per single APD class AliEMCALCalibMapAPDVal : public TObject { public: AliEMCALCalibMapAPDVal() : TObject(), // just init values fHardWareId(0), fAPDNum(0), fV30(0), fBreakDown(0), fDarkCurrent(0) { Init(); } void Init() { fHardWareId = 0; fAPDNum = 0; fV30 = 0; fBreakDown = 0; fDarkCurrent = 0; for (int i=0; i<3; i++) { fPar[i] = 0; fParErr[i] = 0; } return; } public: void SetHardWareId(Int_t i) { fHardWareId = i; }; // Int_t GetHardWareId() const { return fHardWareId; }; // void SetAPDNum(Int_t i) { fAPDNum = i; }; // Int_t GetAPDNum() const { return fAPDNum; }; // void SetV30(Float_t f) { fV30 = f; }; // Float_t GetV30() const { return fV30; }; // void SetPar(int ip, Float_t f) { fPar[ip] = f; }; // Float_t GetPar(int ip) const { return fPar[ip]; }; // void SetParErr(int ip, Float_t f) { fParErr[ip] = f; }; // Float_t GetParErr(int ip) const { return fParErr[ip]; }; // void SetBreakDown(Int_t i) { fBreakDown = i; }; // Int_t GetBreakDown() const { return fBreakDown; }; // void SetDarkCurrent(Float_t f) { fDarkCurrent = f; }; // Float_t GetDarkCurrent() const { return fDarkCurrent; }; // private: Int_t fHardWareId; // HardWareIndex // info from APD calibrations Int_t fAPDNum; // assigned APD-PA number; Catania 10000-, Houston: 20000- Float_t fV30; // Catania/Houston Voltage V30 (V) at T = 25 deg C Float_t fPar[3]; // fit parameters, p0,p1,p2 - for ADC vs bias measurement Float_t fParErr[3]; // error on fit parameters Int_t fBreakDown; // Hamamatsu Breakdown Voltage (V) Float_t fDarkCurrent; // Hamamatsu Dark Current (A) ClassDef(AliEMCALCalibMapAPDVal, 2) // help class }; // AliEMCALCalibAPDVal // 1 SuperModule's worth of info: info on where the different APDs are class AliEMCALSuperModuleCalibMapAPD : public TObject { public: AliEMCALSuperModuleCalibMapAPD(const int smNum=0) : TObject(), // just init values fSuperModuleNum(smNum) { for (int icol=0; icol