12 : header2006(chamberType),
13 header2007(chamberType)
29 <<
"Cannot construct ALCT header: ALCT firmware version is bad/not defined!" <<
firmwareVersion;
39 constexpr unsigned short int collisionMaskWordcount[7] = { 8, 8,12,16,16,24,28};
40 constexpr unsigned short int hotChannelMaskWordcount[7] = {18,18,24,36,36,48,60};
46 else if ( (buf[0]&0xF800)==0x6000 ) {
50 edm::LogError(
"CSCALCTHeader|CSCRawToDigi") <<
"failed to determine ALCT firmware version!!";
104 <<
"couldn't construct: ALCT firmware version is bad/not defined!";
140 std::vector<CSCALCTDigi>
result;
154 result.push_back(digi);
160 <<
"Empty Digis: ALCT firmware version is bad/not defined!" <<
firmwareVersion;
163 for(
unsigned i = 0;
i < result.size(); ++
i) {result[
i].setFullBX(
BXNCount());}
179 for(std::vector<CSCALCTDigi>::const_iterator digi = digis.begin();
180 digi != digis.end(); ++digi)
182 int bx = digi->getBX();
195 else if(digi->getQuality() >
q1)
201 else if(!
theALCTs[i+1].valid || (digi->getQuality() >
q2))
213 boost::dynamic_bitset<>
result;
216 boost::dynamic_bitset<> header
219 boost::dynamic_bitset<> alcts
232 boost::dynamic_bitset<> alct
254 std::vector<CSCALCTDigi> oldAlcts;
255 oldAlcts.push_back(alct0);
256 oldAlcts.push_back(alct1);
259 alctHeader.
add(oldAlcts);
261 std::vector<CSCALCTDigi> alcts = alctHeader.ALCTDigis();
263 std::vector<CSCALCTDigi> validALCTs;
264 for(std::vector<CSCALCTDigi>::const_iterator alctItr = alcts.begin();
265 alctItr != alcts.end(); ++ alctItr)
267 if(alctItr->isValid())
269 validALCTs.push_back(*alctItr);
272 assert(validALCTs[0] == alct0);
273 assert(validALCTs[1] == alct1);
280 os <<
"ALCT HEADER CSCID " << header.
CSCID()
281 <<
" L1ACC " << header.
L1Acc() << std::endl;
282 os <<
" time samples " << header.
NTBins() << std::endl;
short unsigned int sizeInWords() const
boost::dynamic_bitset append(const boost::dynamic_bitset<> &bs1, const boost::dynamic_bitset<> &bs2)
this method takes two bitsets bs1 and bs2 and returns result of bs2 appended to the end of bs1 ...
short unsigned int sizeInWords() const
std::ostream & operator<<(std::ostream &out, const ALILine &li)
short unsigned int sizeInWords() const
static short unsigned int sizeInWords()
unsigned short iChamberType()
std::vector< CSCALCTDigi > ALCTDigis() const
void add(const std::vector< CSCALCTDigi > &digis)
should try to sort, but doesn't for now
const uint16_t * header() const
Data Accessors.
boost::dynamic_bitset ushortToBitset(const unsigned int numberOfBits, unsigned short *buf)
this method takes numberOfBits bits from unsigned short * array and returns them in the bitset obj...