00001 #ifndef L1TObjects_L1MuCSCPtLut_h 00002 #define L1TObjects_L1MuCSCPtLut_h 00003 00004 #include <string> 00005 #include <string.h> 00006 00007 class CSCTFConfigProducer; 00008 00009 class L1MuCSCPtLut { 00010 private: 00011 unsigned short pt_lut[1<<21]; 00012 friend class CSCTFConfigProducer; 00013 00014 public: 00015 00016 void readFromDBS(std::string& ptLUT); 00017 00018 unsigned short pt(unsigned long addr) const throw() { 00019 if( addr<(1<<21) ) return pt_lut[(unsigned int)addr]; 00020 else return 0; 00021 } 00022 00023 const unsigned short* lut(void) const throw() { return pt_lut; } 00024 00025 L1MuCSCPtLut& operator=(const L1MuCSCPtLut& lut){ memcpy(pt_lut,lut.pt_lut,sizeof(pt_lut)); return *this; } 00026 00027 L1MuCSCPtLut(void){ bzero(pt_lut,sizeof(pt_lut)); } 00028 L1MuCSCPtLut(const L1MuCSCPtLut& lut){ memcpy(pt_lut,lut.pt_lut,sizeof(pt_lut)); } 00029 ~L1MuCSCPtLut(void){} 00030 00031 }; 00032 00033 #endif