CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/CondFormats/HcalObjects/interface/HcalMappingEntry.h

Go to the documentation of this file.
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 /*****************************Classes****************************/
00014 
00015 class HBHEHFLogicalMapEntry {
00016 
00017   /****
00018    *  Class to hold the L-Map entries corresponding to HB, HE and HF
00019    ****/
00020 
00021  public:
00022          
00023   // constructor from map information
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   // stored input data members
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    *  Class to hold the L-Map entries corresponding to HO and HX
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   // stored input data members
00085   int mydphi_, mysector_;
00086   std::string myletter_;
00087 
00088 };
00089 
00090 
00091 class CALIBLogicalMapEntry {
00092 
00093   /****
00094    *  Class to hold the L-Map entries corresponding to the calibration channels
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   // input data members
00123   int myside_, mydphi_, mywedge_;
00124   std::string mycalibsubdet_;
00125   
00126 };
00127 
00128 
00129 class ZDCLogicalMapEntry {
00130   
00131   /****
00132    *  Class to hold the L-Map entries corresponding to ZDC
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   // input data members
00158   int myx_, myy_, mydx_, mydet_ch_, mycable_, myrm_, myqie_, myadc_, myrm_fi_;
00159 
00160 };
00161 
00162 
00163 class HTLogicalMapEntry {
00164 
00165   /****
00166    *  Class to hold the L-Map entries corresponding to the Trigger channels
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   // no meaningful electronics id for the trigger towers, but it is possible to create one that stores various data members
00189   uint32_t hcalTrigEID_;
00190   uint32_t hcalTrigDetID_;
00191 
00192   // input data members
00193   int myside_, mydphi_, mydepth_, mywedge_;
00194   //int myspigot_, myslb_, myndat_,  mycrate_, myhtr_, mytb_, myfedid_;
00195   int myrctcra_, myrctcar_, myrctcon_;
00196   // string data members
00197   std::string mydet_, myslbin_, myslbin2_, myslnam_, myrctnam_;
00198 
00199 };
00200 
00201 /***************/
00202 
00203 #endif