00001 #ifndef __PBGLSUPERMODULE_H__ 00002 #define __PBGLSUPERMODULE_H__ 00003 00004 #ifndef __EMCSTATICDATA_H__ 00005 #include "EmcStaticData.h" 00006 #endif 00007 #ifndef __PBGLCALIBRATIONDATA_H__ 00008 #include "PbGlCalibrationData.h" 00009 #endif 00010 #ifndef __EMCSUPERMODULE_H__ 00011 #include "EmcSuperModule.h" 00012 #endif 00013 00017 class PbGlSuperModule: public EmcSuperModule 00018 { 00019 public: 00020 int SMId; 00021 int SectorId; 00022 struct { 00023 struct { 00024 int ProductionNumber; 00025 int SMNumber; 00026 int ADCBoard; 00027 float DecayParam; 00028 struct { 00029 int LgcNumber; 00030 int HVSetting; 00031 int HVActual; 00032 float GainAY; 00033 float GainVY; 00034 float GainBL; 00035 float GainRS; 00036 float GainU0; 00037 float GainUT; 00038 float RatioHighLowGain; 00039 int ADCNumber; 00040 int Row; 00041 int Col; 00042 float PedHigh; 00043 float PedLow; 00044 int BadFlag; 00045 float AYPeak; 00046 float AYRef; 00047 float TestPeak; 00048 float TestRef; 00049 float GC; 00050 float C0; 00051 float G0; 00052 float CF; 00053 } Tower[24]; 00054 } Cern; 00055 struct { 00056 int AddressGroup; 00057 float DecayParam; 00058 struct { 00059 int TowerId; 00060 int Raw; 00061 int Column; 00062 char Modul[5]; 00063 int HVBase; 00064 char HVAddressBin[10]; 00065 int HVSetting; 00066 int HVActual; 00067 float GainAY; 00068 float GainVY; 00069 float GainBL; 00070 float GainRS; 00071 float GainU0; 00072 float GainUT; 00073 float RatioHighLowGain; 00074 float PeakAY; 00075 float RmsAY; 00076 float PeakVY; 00077 float RmsVY; 00078 float PeakBL; 00079 float RmsBL; 00080 float PinAY; 00081 float PinVY; 00082 float PinBL; 00083 float PedHigh; 00084 float PedLow; 00085 int BadFlag; 00086 } Tower[24]; 00087 } Bnl; 00088 } Data; 00089 00090 00091 PbGlSuperModule(int &, int &); 00092 ~PbGlSuperModule(); 00093 00096 int getProductionId(){return 0;} 00099 float getScrLightYield(int & ){return 0.;} 00102 float getMuPeak(int & ){return 0.;} 00105 float getLaserRaw(int & ){return 0.;} 00108 float getIntSPD(){return 0.;} 00111 float getIntSPDTP( ){return 0.;} 00113 void LoadTowerData(int, float *, char *, char *); 00115 float getU0(int & Twr) {return Data.Cern.Tower[Twr].GainU0;} 00117 float getUT(int & Twr) {return Data.Cern.Tower[Twr].GainUT;} 00118 int getLgcNumber(int & Twr) {return Data.Cern.Tower[Twr].LgcNumber;} 00119 float getAY(int & Twr) {return Data.Cern.Tower[Twr].GainAY;} 00120 float getVY(int & Twr) {return Data.Cern.Tower[Twr].GainVY;} 00121 float getBL(int & Twr) {return Data.Cern.Tower[Twr].GainBL;} 00122 float getRS(int & Twr) {return Data.Cern.Tower[Twr].GainRS;} 00123 float getAYPeak(int & Twr) {return Data.Cern.Tower[Twr].AYPeak;} 00124 float getAYRef(int & Twr) {return Data.Cern.Tower[Twr].AYRef;} 00125 float getTestPeak(int & Twr) {return Data.Cern.Tower[Twr].TestPeak;} 00126 float getTestRef(int & Twr) {return Data.Cern.Tower[Twr].TestRef;} 00127 float getGC(int & Twr) {return Data.Cern.Tower[Twr].GC;} 00128 float getC0(int & Twr) {return Data.Cern.Tower[Twr].C0;} 00129 float getG0(int & Twr) {return Data.Cern.Tower[Twr].G0;} 00130 float getCF(int & Twr) {return Data.Cern.Tower[Twr].CF;} 00131 00132 int HVActualCern(int iSM24T){return Data.Cern.Tower[iSM24T].HVActual;} 00133 int HVActualBnl (int iSM24T){return Data.Bnl.Tower[iSM24T].HVActual;} 00134 00135 }; 00136 00137 #endif 00138 00139 00140 00141 00142