00001 #ifndef L2EMCGEOM2012_H
00002 #define L2EMCGEOM2012_H
00003 #include <stdio.h>
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #include <string.h>
00014
00015 #include "L2EmcDb2012.h"
00016
00017
00018 class BtowGeom{
00019 public:
00020 enum { mxRdo=(L2EmcDb2012::BTOW_MAXFEE*L2EmcDb2012::BTOW_DATSIZE) ,mxEtaBin=40, mxPhiBin=120, mxSubs=10 };
00021
00022 float idealGain2Ene[mxEtaBin];
00023 float cosh[mxEtaBin];
00024 float gain2ET_rdo[mxRdo];
00025 float gain2Ene_rdo[mxRdo];
00026 unsigned short ped_shifted_rdo[mxRdo];
00027 unsigned short thr_rdo[mxRdo];
00028 unsigned short ped_rdo[mxRdo];
00029 void clear() {
00030 memset(gain2ET_rdo, 0 ,sizeof(gain2ET_rdo));
00031 memset(gain2Ene_rdo, 0 ,sizeof(gain2Ene_rdo));
00032 memset(ped_shifted_rdo, 0,sizeof(ped_shifted_rdo));
00033 memset(thr_rdo, 0xFFFF,sizeof(thr_rdo));
00034 memset(ped_rdo, 0,sizeof(ped_rdo));
00035 }
00036 };
00037
00038
00039 class EtowGeom{
00040 public:
00041 enum { mxRdo=(L2EmcDb2012::ETOW_MAXFEE*L2EmcDb2012::ETOW_DATUSED) ,mxEtaBin=12, mxPhiBin=60, mxSubs=5 };
00042
00043 float idealGain2Ene[mxEtaBin];
00044 float cosh[mxEtaBin];
00045 float gain2ET_rdo[mxRdo];
00046 float gain2Ene_rdo[mxRdo];
00047 unsigned short ped_shifted_rdo[mxRdo];
00048 unsigned short thr_rdo[mxRdo];
00049 unsigned short ped_rdo[mxRdo];
00050 void clear() {
00051 memset(gain2ET_rdo, 0 ,sizeof(gain2ET_rdo));
00052 memset(gain2Ene_rdo, 0 ,sizeof(gain2Ene_rdo));
00053 memset(ped_shifted_rdo, 0,sizeof(ped_shifted_rdo));
00054 memset(thr_rdo, 0xFFFF,sizeof(thr_rdo));
00055 memset(ped_rdo, 0,sizeof(ped_rdo));
00056 }
00057 };
00058
00059
00060 class L2EmcGeom2012 {
00061 int par_maxADC;
00062 float par_maxET;
00063
00064 public:
00065 BtowGeom btow;
00066 EtowGeom etow;
00067 float getMaxET(){ return par_maxET;}
00068 float getIdealAdc2ET(){ return par_maxADC/par_maxET;}
00069 L2EmcGeom2012();
00070 ~L2EmcGeom2012(){};
00071
00072
00073 };
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083 #endif
00084
00085
00086
00087
00088
00089
00090
00091