CMS 3D CMS Logo

L1GctInternHFData.cc

Go to the documentation of this file.
00001 
00002 #include "DataFormats/L1GlobalCaloTrigger/interface/L1GctInternHFData.h"
00003 
00004 L1GctInternHFData::L1GctInternHFData() :
00005   type_(null),
00006   capBlock_(0),
00007   capIndex_(0),
00008   bx_(0),
00009   data_(0)
00010 { } 
00011 
00013 L1GctInternHFData::~L1GctInternHFData() { }
00014 
00015 L1GctInternHFData L1GctInternHFData::fromConcRingSums(const uint16_t capBlock,
00016                                                       const uint16_t capIndex,
00017                                                       const int16_t bx,
00018                                                       const uint32_t data) {
00019   L1GctInternHFData d;
00020   d.setType(conc_hf_ring_et_sums);
00021   d.setCapIndex(capIndex);
00022   d.setCapBlock(capBlock);
00023   d.setBx(bx);
00024   d.setData(data);
00025   return d;
00026 }
00027 
00028 L1GctInternHFData L1GctInternHFData::fromConcBitCounts(const uint16_t capBlock,
00029                                                        const uint16_t capIndex,
00030                                                        const int16_t bx,
00031                                                        const uint32_t data) {
00032   L1GctInternHFData d;
00033   d.setType(conc_hf_bit_counts);
00034   d.setCapIndex(capIndex);
00035   d.setCapBlock(capBlock);
00036   d.setBx(bx);
00037   for (unsigned i=0; i<4; ++i) {
00038     d.setCount(i, (data>>(6*i))&0x3f);
00039   }
00040   return d;
00041 }
00042 
00043 
00044 // get value
00045 uint16_t L1GctInternHFData::value(unsigned const i) {
00046   return (data_>>(i*8)) & 0xff;
00047 }
00048 
00050 uint16_t L1GctInternHFData::et(unsigned const i) {
00051   return value(i);
00052 }
00053 
00055 uint16_t L1GctInternHFData::count(unsigned const i) {
00056   return value(i);
00057 } 
00058 
00059 
00061 bool L1GctInternHFData::operator==(const L1GctInternHFData& c) const {
00062   return ( this->raw() == c.raw() );
00063 }
00064 
00065 
00066 // set value
00067 void L1GctInternHFData::setValue(unsigned i, uint16_t val) {
00068   data_ &= ~(0xff<<(i*8));
00069   data_ |= (val&0xff)<<(i*8);
00070 }
00071 
00073 void L1GctInternHFData::setEt(unsigned i, uint16_t et) {
00074   setValue(i, et);
00075 }
00076 
00078 void L1GctInternHFData::setCount(unsigned i, uint16_t count) {
00079   setValue(i, count);
00080 }
00081 
00082 
00083 std::ostream& operator<<(std::ostream& s, const L1GctInternHFData& cand);
00084 

Generated on Tue Jun 9 17:31:10 2009 for CMSSW by  doxygen 1.5.4