#include <CSCALCTTrailer.h>
Public Member Functions | |
unsigned | alctCRCCheck () const |
CSCALCTTrailer2006 | alctTrailer2006 () |
CSCALCTTrailer2007 | alctTrailer2007 () |
bool | check () const |
CSCALCTTrailer (const unsigned short *buf) | |
CSCALCTTrailer (int size, int firmVersion) | |
needed for packing | |
CSCALCTTrailer (const CSCALCTStatusDigi &digi) | |
unsigned short * | data () |
unsigned | FrameCount () const |
int | getCRC () |
int | wordCount () const |
Static Public Member Functions | |
static void | setDebug (bool debugValue) |
static int | sizeInWords () |
in 16-bit frames | |
Private Attributes | |
unsigned short int | theOriginalBuffer [4] |
CSCALCTTrailer2006 | trailer2006 |
CSCALCTTrailer2007 | trailer2007 |
Static Private Attributes | |
static bool | debug = false |
static unsigned short int | firmwareVersion = 2006 |
Definition at line 38 of file CSCALCTTrailer.h.
CSCALCTTrailer::CSCALCTTrailer | ( | int | size, |
int | firmVersion | ||
) |
needed for packing
needed for packing
Definition at line 33 of file CSCALCTTrailer.cc.
References firmwareVersion, CSCALCTTrailer2007::setSize(), CSCALCTTrailer2006::setSize(), trailer2006, and trailer2007.
Referenced by CSCALCTTrailer().
{ if(firmVersion == 2006) { trailer2006.setSize(size); firmwareVersion = 2006; } else if (firmVersion == 2007) { trailer2007.setSize(size); firmwareVersion = 2007; } else { edm::LogError("CSCALCTTrailer|CSCRawToDigi") <<"failed to construct: undetermined ALCT firmware version!!" << firmVersion; } }
CSCALCTTrailer::CSCALCTTrailer | ( | const unsigned short * | buf | ) |
determine the version first
Now fill data
Definition at line 51 of file CSCALCTTrailer.cc.
References firmwareVersion, CSCALCTTrailer2006::sizeInWords(), CSCALCTTrailer2007::sizeInWords(), trailer2006, and trailer2007.
{ if ((buf[0]==0xDE0D)&&((buf[1]&0xF000)==0xD000)) { firmwareVersion=2007; } else if ( (buf[2]&0xFFF)==0xE0D ) { firmwareVersion=2006; } else { edm::LogError("CSCALCTTrailer|CSCRawToDigi") <<"failed to construct: undetermined ALCT firmware version!!" << firmwareVersion; } switch (firmwareVersion) { case 2006: memcpy(&trailer2006, buf, trailer2006.sizeInWords()*2); break; case 2007: memcpy(&trailer2007, buf, trailer2007.sizeInWords()*2); break; default: edm::LogError("CSCALCTTrailer|CSCRawToDigi") <<"couldn't construct: ALCT firmware version is bad/not defined!"; break; } }
CSCALCTTrailer::CSCALCTTrailer | ( | const CSCALCTStatusDigi & | digi | ) | [inline] |
Definition at line 44 of file CSCALCTTrailer.h.
References CSCALCTTrailer(), and CSCALCTStatusDigi::trailer().
{ CSCALCTTrailer(digi.trailer()); }
unsigned CSCALCTTrailer::alctCRCCheck | ( | ) | const [inline] |
Definition at line 108 of file CSCALCTTrailer.h.
References firmwareVersion, CSCALCTTrailer2006::reserved_3, CSCALCTTrailer2007::reserved_3, trailer2006, and trailer2007.
{ switch (firmwareVersion) { case 2006: return trailer2006.reserved_3; case 2007: return trailer2007.reserved_3; default: edm::LogError("CSCALCTTrailer|CSCRawToDigi") <<"couldn't CRCcheck: ALCT firmware version is bad/not defined!"; return 0; } }
CSCALCTTrailer2006 CSCALCTTrailer::alctTrailer2006 | ( | ) | [inline] |
CSCALCTTrailer2007 CSCALCTTrailer::alctTrailer2007 | ( | ) | [inline] |
bool CSCALCTTrailer::check | ( | ) | const [inline] |
Definition at line 82 of file CSCALCTTrailer.h.
References CSCALCTTrailer2006::e0dLine, CSCALCTTrailer2007::e0dLine, firmwareVersion, trailer2006, and trailer2007.
{ switch (firmwareVersion) { case 2006: return (trailer2006.e0dLine & 0xfff) == 0xe0d; case 2007: return (trailer2007.e0dLine & 0xffff) == 0xde0d; default: edm::LogError("CSCALCTTrailer|CSCRawToDigi") <<"couldn't check: ALCT firmware version is bad/not defined!"; return 0; } }
unsigned short* CSCALCTTrailer::data | ( | ) | [inline] |
Definition at line 50 of file CSCALCTTrailer.h.
References firmwareVersion, CSCALCTTrailer2006::sizeInWords(), CSCALCTTrailer2007::sizeInWords(), theOriginalBuffer, trailer2006, and trailer2007.
Referenced by CSCEventData::pack().
{ switch (firmwareVersion) { case 2006: memcpy(theOriginalBuffer, &trailer2006, trailer2006.sizeInWords()*2); break; case 2007: memcpy(theOriginalBuffer, &trailer2007, trailer2007.sizeInWords()*2); break; default: edm::LogError("CSCALCTTrailer|CSCRawToDigi") <<"couldn't access data: ALCT firmware version is bad/not defined!"; break; } return theOriginalBuffer; }
unsigned CSCALCTTrailer::FrameCount | ( | ) | const [inline] |
int CSCALCTTrailer::getCRC | ( | ) | [inline] |
Definition at line 69 of file CSCALCTTrailer.h.
References CSCALCTTrailer2007::crc0, CSCALCTTrailer2006::crc0, CSCALCTTrailer2006::crc1, CSCALCTTrailer2007::crc1, firmwareVersion, trailer2006, and trailer2007.
{ switch (firmwareVersion) { case 2006: return ((trailer2006.crc1&0x7ff)<<11) | (trailer2006.crc0&0x7ff); case 2007: return ((trailer2007.crc1&0x7ff)<<11) | (trailer2007.crc0&0x7ff); default: edm::LogError("CSCALCTTrailer|CSCRawToDigi") <<"couldn't getCRC: ALCT firmware version is bad/not defined!"; return 0; } }
static void CSCALCTTrailer::setDebug | ( | bool | debugValue | ) | [inline, static] |
static int CSCALCTTrailer::sizeInWords | ( | ) | [inline, static] |
in 16-bit frames
Definition at line 67 of file CSCALCTTrailer.h.
Referenced by CSCEventData::checkALCTClasses(), and CSCEventData::pack().
{return 4;}
int CSCALCTTrailer::wordCount | ( | ) | const [inline] |
Definition at line 95 of file CSCALCTTrailer.h.
References firmwareVersion, CSCALCTTrailer2007::frameCount, CSCALCTTrailer2006::frameCount, trailer2006, and trailer2007.
Referenced by FrameCount(), and cscdqm::EventProcessor::processCSC().
{ switch (firmwareVersion) { case 2006: return trailer2006.frameCount; case 2007: return trailer2007.frameCount; default: edm::LogError("CSCALCTTrailer|CSCRawToDigi") <<"couldn't wordCount: ALCT firmware version is bad/not defined!"; return 0; } }
bool CSCALCTTrailer::debug = false [static, private] |
documented in flags http://www.phys.ufl.edu/~madorsky/alctv/alct2000_spec.PDF
Definition at line 127 of file CSCALCTTrailer.h.
Referenced by setDebug().
short unsigned int CSCALCTTrailer::firmwareVersion = 2006 [static, private] |
Definition at line 128 of file CSCALCTTrailer.h.
Referenced by alctCRCCheck(), check(), CSCALCTTrailer(), data(), getCRC(), and wordCount().
unsigned short int CSCALCTTrailer::theOriginalBuffer[4] [private] |
Definition at line 131 of file CSCALCTTrailer.h.
Referenced by data().
Definition at line 129 of file CSCALCTTrailer.h.
Referenced by alctCRCCheck(), alctTrailer2006(), check(), CSCALCTTrailer(), data(), getCRC(), and wordCount().
Definition at line 130 of file CSCALCTTrailer.h.
Referenced by alctCRCCheck(), alctTrailer2007(), check(), CSCALCTTrailer(), data(), getCRC(), and wordCount().