00001 #ifndef HcalMappingEntry_h
00002 #define HcalMappingEntry_h
00003
00004 #include "DataFormats/DetId/interface/DetId.h"
00005 #include "DataFormats/HcalDetId/interface/HcalCalibDetId.h"
00006 #include "DataFormats/HcalDetId/interface/HcalDetId.h"
00007 #include "DataFormats/HcalDetId/interface/HcalElectronicsId.h"
00008 #include "DataFormats/HcalDetId/interface/HcalTrigTowerDetId.h"
00009 #include "DataFormats/HcalDetId/interface/HcalZDCDetId.h"
00010 #include "DataFormats/HcalDetId/interface/HcalFrontEndId.h"
00011
00012
00013
00014
00015 class HBHEHFLogicalMapEntry {
00016
00017
00018
00019
00020
00021 public:
00022
00023
00024 HBHEHFLogicalMapEntry( ) {}
00025 HBHEHFLogicalMapEntry(
00026 int in_fi_ch, int in_htr_fi, int in_spig, int in_fed, int in_cr, int in_htr, std::string in_s_fpga,
00027 std::string in_s_det, int in_sid, int in_et, int in_ph, int in_dep,
00028 int in_dph, int in_wed, int in_rm, int in_rm_fi, int in_pix, int in_qie, int in_adc,
00029 int in_slb, int in_rctcra, int in_rctcar, int in_rctcon,
00030 std::string in_s_rbx, std::string in_s_slb, std::string in_s_slb2, std::string in_s_slnam, std::string in_s_rctnam
00031 );
00032
00033 ~HBHEHFLogicalMapEntry() {}
00034
00035 char* printLMapLine();
00036 uint32_t getLinearIndex() const {return HcalElectronicsId(hcalEID_).linearIndex();}
00037 const HcalElectronicsId getHcalElectronicsId() const {return HcalElectronicsId(hcalEID_);}
00038 const DetId getDetId() const {return DetId(hcalDetID_);}
00039 const HcalFrontEndId getHcalFrontEndId() const {return HcalFrontEndId(hcalFrontEndID_);}
00040
00041 private:
00042
00043 uint32_t hcalEID_;
00044 uint32_t hcalDetID_;
00045 uint32_t hcalFrontEndID_;
00046
00047
00048 int mydphi_, mywedge_, myslb_, myrctcra_, myrctcar_, myrctcon_;
00049
00050 std::string myslbin_, myslbin2_, myslnam_, myrctnam_;
00051
00052 };
00053
00054 class HOHXLogicalMapEntry {
00055
00056
00057
00058
00059
00060 public:
00061
00062 HOHXLogicalMapEntry( ) {}
00063 HOHXLogicalMapEntry(
00064 int in_fi_ch, int in_htr_fi, int in_spig, int in_fed, int in_cr, int in_htr, std::string in_s_fpga,
00065 std::string in_s_det, int in_sid, int in_et, int in_ph, int in_dep,
00066 int in_dph, int in_sec, int in_rm, int in_rm_fi, int in_pix, int in_qie, int in_adc,
00067 std::string in_s_rbx, std::string in_s_let
00068 );
00069
00070 ~HOHXLogicalMapEntry() {}
00071
00072 char* printLMapLine();
00073 const uint32_t getLinearIndex() const {return HcalElectronicsId(hcalEID_).linearIndex();}
00074 const HcalElectronicsId getHcalElectronicsId() const {return HcalElectronicsId(hcalEID_);}
00075 const DetId getDetId() const {return DetId(hcalDetID_);}
00076 const HcalFrontEndId getHcalFrontEndId() const {return HcalFrontEndId(hcalFrontEndID_);}
00077
00078 private:
00079
00080 uint32_t hcalEID_;
00081 uint32_t hcalDetID_;
00082 uint32_t hcalFrontEndID_;
00083
00084
00085 int mydphi_, mysector_;
00086 std::string myletter_;
00087
00088 };
00089
00090
00091 class CALIBLogicalMapEntry {
00092
00093
00094
00095
00096
00097
00098 public:
00099
00100 CALIBLogicalMapEntry( ) {}
00101 CALIBLogicalMapEntry(
00102 int in_fi_ch, int in_htr_fi, int in_spig, int in_fed, int in_cr, int in_htr, std::string in_s_fpga,
00103 std::string in_s_det, int in_et, int in_ph, int in_ch_ty,
00104 int in_sid, int in_dph, std::string in_s_rbx, int in_wed, int in_rm_fi,
00105 std::string in_s_subdet
00106 );
00107
00108 ~CALIBLogicalMapEntry() {}
00109
00110 char* printLMapLine();
00111 const uint32_t getLinearIndex() const {return HcalElectronicsId(hcalEID_).linearIndex();}
00112 const HcalElectronicsId getHcalElectronicsId() const {return HcalElectronicsId(hcalEID_);}
00113 const DetId getDetId() const {return DetId(hcalCalibDetID_);}
00114 const HcalFrontEndId getHcalFrontEndId() const {return HcalFrontEndId(hcalFrontEndID_);}
00115
00116 private:
00117
00118 uint32_t hcalEID_;
00119 uint32_t hcalCalibDetID_;
00120 uint32_t hcalFrontEndID_;
00121
00122
00123 int myside_, mydphi_, mywedge_;
00124 std::string mycalibsubdet_;
00125
00126 };
00127
00128
00129 class ZDCLogicalMapEntry {
00130
00131
00132
00133
00134
00135 public:
00136
00137 ZDCLogicalMapEntry( ) {}
00138 ZDCLogicalMapEntry(
00139 int in_fi_ch, int in_htr_fi, int in_spigot, int in_fed, int in_cr, int in_htr, std::string in_s_fpga,
00140 std::string in_s_det, int in_sid, int in_dep,
00141 int in_x, int in_y, int in_dx, int in_det_ch, int in_cab, int in_rm, int in_qie,
00142 int in_adc, int in_rm_fi
00143 );
00144
00145 ~ZDCLogicalMapEntry() { }
00146
00147 char* printLMapLine();
00148 const uint32_t getLinearIndex() const {return HcalElectronicsId(hcalEID_).linearIndex();}
00149 const HcalElectronicsId getHcalElectronicsId() const {return HcalElectronicsId(hcalEID_);}
00150 const DetId getDetId() const {return DetId(hcalZDCDetID_);}
00151
00152 private:
00153
00154 uint32_t hcalEID_;
00155 uint32_t hcalZDCDetID_;
00156
00157
00158 int myx_, myy_, mydx_, mydet_ch_, mycable_, myrm_, myqie_, myadc_, myrm_fi_;
00159
00160 };
00161
00162
00163 class HTLogicalMapEntry {
00164
00165
00166
00167
00168
00169 public:
00170
00171 HTLogicalMapEntry( ) {}
00172 HTLogicalMapEntry(
00173 int in_et, int in_ph,
00174 int in_sid, int in_dph, int in_dep, std::string in_s_chDet, int in_wed, int in_cr, int in_htr, int in_tb,
00175 int in_spig, int in_slb, std::string in_s_slb, std::string in_s_slb2, int in_ndat,
00176 std::string in_s_slnam, int in_rctcra, int in_rctcar, int in_rctcon, std::string in_s_rctnam, int in_fed
00177 );
00178
00179 ~HTLogicalMapEntry() {}
00180
00181 char* printLMapLine();
00182 const uint32_t getLinearIndex() const {return HcalElectronicsId(hcalTrigEID_).linearIndex();}
00183 const HcalElectronicsId getHcalTrigElectronicsId() const {return HcalElectronicsId(hcalTrigEID_);}
00184 const DetId getDetId() const {return DetId(hcalTrigDetID_);}
00185
00186 private:
00187
00188
00189 uint32_t hcalTrigEID_;
00190 uint32_t hcalTrigDetID_;
00191
00192
00193 int myside_, mydphi_, mydepth_, mywedge_;
00194
00195 int myrctcra_, myrctcar_, myrctcon_;
00196
00197 std::string mydet_, myslbin_, myslbin2_, myslnam_, myrctnam_;
00198
00199 };
00200
00201
00202
00203 #endif