23 : header2006(chamberType),
24 header2007(chamberType)
40 <<
"Cannot construct ALCT header: ALCT firmware version is bad/not defined!" <<
firmwareVersion;
50 constexpr unsigned short int collisionMaskWordcount[7] = { 8, 8,12,16,16,24,28};
51 constexpr unsigned short int hotChannelMaskWordcount[7] = {18,18,24,36,36,48,60};
57 else if ( (buf[0]&0xF800)==0x6000 ) {
61 edm::LogError(
"CSCALCTHeader|CSCRawToDigi") <<
"failed to determine ALCT firmware version!!";
119 <<
"couldn't construct: ALCT firmware version is bad/not defined!";
152 <<
"setEventInformation: ALCT firmware version is bad/not defined!" <<
firmwareVersion;
174 std::vector<CSCALCTDigi>
result;
192 result.push_back(digi);
198 <<
"Empty Digis: ALCT firmware version is bad/not defined!" <<
firmwareVersion;
201 for(
unsigned i = 0;
i < result.size(); ++
i) {result[
i].setFullBX(
BXNCount());}
217 for(std::vector<CSCALCTDigi>::const_iterator digi = digis.begin();
218 digi != digis.end(); ++digi)
220 int bx = digi->getBX();
233 else if(digi->getQuality() >
q1)
239 else if(!
theALCTs[i+1].valid || (digi->getQuality() >
q2))
251 boost::dynamic_bitset<>
result;
254 boost::dynamic_bitset<>
header 257 boost::dynamic_bitset<> alcts
272 boost::dynamic_bitset<> alct
297 std::vector<CSCALCTDigi> oldAlcts;
298 oldAlcts.push_back(alct0);
299 oldAlcts.push_back(alct1);
302 alctHeader.
add(oldAlcts);
304 std::vector<CSCALCTDigi> alcts = alctHeader.ALCTDigis();
306 std::vector<CSCALCTDigi> validALCTs;
307 for(std::vector<CSCALCTDigi>::const_iterator alctItr = alcts.begin();
308 alctItr != alcts.end(); ++ alctItr)
310 if(alctItr->isValid())
312 validALCTs.push_back(*alctItr);
315 assert(validALCTs[0] == alct0);
316 assert(validALCTs[1] == alct1);
323 os <<
"ALCT HEADER CSCID " << header.
CSCID()
324 <<
" L1ACC " << header.
L1Acc() << std::endl;
325 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
short unsigned int sizeInWords() const
static short unsigned int sizeInWords()
unsigned short iChamberType()
void bitsetToChar(const boost::dynamic_bitset<> &bs, unsigned char *result)
this method takes bitset obj and returns char * array
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...