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
std::ostream & operator<<(std::ostream &out, const ALILine &li)
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...