PbGlSuperModule.h

Go to the documentation of this file.
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