#include <EventFilter/CSCTFRawToDigi/old/CSCTFTBEventData.h>
Public Types | |
enum | { SAMPLESIZE = 16 } |
Public Member Functions | |
CSCTFTBEventData (unsigned short *buf) | |
CSCTFTBEventData () | |
CSCTFTBEventHeader | eventHeader () const |
This SP's event header. | |
std::vector< CSCTFTBFrontBlock > | frontData () const |
Sector Receiver and Sector Processor data. | |
CSCTFTBFrontBlock | frontDatum (unsigned bx=trigBX_) const |
unsigned | getTriggerBX () const |
void | setEventInformation (unsigned, unsigned) |
unsigned | size () const |
std::vector< CSCTFTBSPBlock > | spData () const |
CSCTFTBSPBlock | spDatum (unsigned bx=trigBX_) const |
~CSCTFTBEventData () | |
Static Public Member Functions | |
static void | onlyTriggerBX (bool disp) |
static void | setCDF (bool hasCDF) |
static void | setTriggerBX (unsigned theBX) |
Public Attributes | |
int | errorstat2 |
unsigned short * | SP_tail |
Trailer info. | |
int | SPbytes |
Private Member Functions | |
int | unpackData (unsigned short *buf) |
Private Attributes | |
std::vector< CSCTFTBFrontBlock > | frontBlocks_ |
Front and SP Data is unpacked and stored in these vectors. | |
unsigned | size_ |
std::vector< CSCTFTBSPBlock > | spBlocks_ |
CSCTFTBEventHeader | spHead_ |
This SP's event header is stored here. | |
Static Private Attributes | |
static bool | hasCDF_ = false |
static bool | onlyTrigBX_ = false |
static unsigned | trigBX_ = 0 |
Friends | |
std::ostream & | operator<< (std::ostream &stream, const CSCTFTBEventData &) |
Definition at line 97 of file CSCTFTBEventData.h.
anonymous enum |
CSCTFTBEventData::CSCTFTBEventData | ( | ) |
CSCTFTBEventData::CSCTFTBEventData | ( | unsigned short * | buf | ) | [explicit] |
Definition at line 138 of file CSCTFTBEventData.cc.
References unpackData().
00139 { 00140 // Then unpack the rest of the data 00141 00142 unpackData(buf); 00143 }
CSCTFTBEventData::~CSCTFTBEventData | ( | ) |
Definition at line 145 of file CSCTFTBEventData.cc.
References frontBlocks_, and spBlocks_.
00146 { 00147 frontBlocks_.clear(); 00148 spBlocks_.clear(); 00149 }
CSCTFTBEventHeader CSCTFTBEventData::eventHeader | ( | ) | const [inline] |
This SP's event header.
Definition at line 132 of file CSCTFTBEventData.h.
References spHead_.
Referenced by operator<<().
00132 {return spHead_;}
std::vector<CSCTFTBFrontBlock> CSCTFTBEventData::frontData | ( | ) | const [inline] |
Sector Receiver and Sector Processor data.
Definition at line 123 of file CSCTFTBEventData.h.
References frontBlocks_.
Referenced by operator<<().
00123 {return frontBlocks_;}
CSCTFTBFrontBlock CSCTFTBEventData::frontDatum | ( | unsigned | bx = trigBX_ |
) | const [inline] |
Definition at line 124 of file CSCTFTBEventData.h.
References frontBlocks_.
00125 {return frontBlocks_[bx = (bx > 0 && bx<= frontBlocks_.size()) ? bx-1 : 0];}
unsigned CSCTFTBEventData::getTriggerBX | ( | ) | const [inline] |
Definition at line 137 of file CSCTFTBEventData.h.
References onlyTrigBX_.
00137 {onlyTrigBX_ = disp;}
void CSCTFTBEventData::setEventInformation | ( | unsigned | bxnum, | |
unsigned | lvl1num | |||
) |
Definition at line 185 of file CSCTFTBEventData.cc.
References CSCTFTBEventHeader::bunch_cntr_, CSCTFTBEventHeader::l1a_lsb_, CSCTFTBEventHeader::l1a_msb_, and spHead_.
00186 { 00187 spHead_.bunch_cntr_ = bxnum; 00188 spHead_.l1a_lsb_ = (lvl1num & 0xFFF); 00189 spHead_.l1a_msb_ = ((lvl1num>>12) & 0xFFF); 00190 }
static void CSCTFTBEventData::setTriggerBX | ( | unsigned | theBX | ) | [inline, static] |
unsigned CSCTFTBEventData::size | ( | void | ) | const [inline] |
std::vector<CSCTFTBSPBlock> CSCTFTBEventData::spData | ( | ) | const [inline] |
Definition at line 127 of file CSCTFTBEventData.h.
References spBlocks_.
Referenced by operator<<().
00127 {return spBlocks_;}
CSCTFTBSPBlock CSCTFTBEventData::spDatum | ( | unsigned | bx = trigBX_ |
) | const [inline] |
int CSCTFTBEventData::unpackData | ( | unsigned short * | buf | ) | [private] |
Definition at line 154 of file CSCTFTBEventData.cc.
References frontBlocks_, NULL, CSCTFTBEventHeader::numBX(), CSCTFTBFrontBlock::size(), CSCTFTBEventHeader::size(), CSCTFTBSPBlock::size(), size_, spBlocks_, spHead_, and t.
Referenced by CSCTFTBEventData().
00155 { 00156 // cout << " CSCTFTBEventData_unpackData-INFO: Unpacking event data" << endl; 00157 unsigned short *inputbuf = buf; 00158 00159 TimeMe t("CSCTFTBEventData::unpack"); 00160 00161 memcpy(&spHead_,buf,CSCTFTBEventHeader::size()*sizeof(unsigned short)); 00162 00163 buf += CSCTFTBEventHeader::size(); 00164 00165 frontBlocks_.clear(); 00166 spBlocks_.clear(); 00167 if (spHead_.numBX() > 0) { 00168 for (int bx = 1; bx<=spHead_.numBX(); bx++) 00169 { 00170 CSCTFTBFrontBlock aFrontBlock(buf, bx,spHead_); 00171 frontBlocks_.push_back(aFrontBlock); 00172 buf+= aFrontBlock.size(); 00173 CSCTFTBSPBlock aSPBlock(buf, bx,spHead_); 00174 spBlocks_.push_back(aSPBlock); 00175 buf+= aSPBlock.size(); 00176 } 00177 } 00178 00179 size_ = buf - inputbuf; 00180 inputbuf = NULL; 00181 return 0; 00182 00183 }
std::ostream& operator<< | ( | std::ostream & | stream, | |
const CSCTFTBEventData & | data | |||
) | [friend] |
Definition at line 211 of file CSCTFTBEventData.cc.
00211 { 00212 stream << data.eventHeader(); 00213 std::vector<CSCTFTBFrontBlock> srBxData = data.frontData(); 00214 std::vector<CSCTFTBSPBlock> spBxData = data.spData(); 00215 for(unsigned bx = 0; bx < srBxData.size(); ++bx) { 00216 if((bx+1)==data.trigBX_ || !data.onlyTrigBX_) 00217 { 00218 stream << "Event data for bx: " << bx+1 << std::endl; 00219 stream << srBxData[bx]; 00220 stream << spBxData[bx]; 00221 } 00222 } 00223 stream << std::endl; 00224 return stream; 00225 }
Definition at line 145 of file CSCTFTBEventData.h.
std::vector<CSCTFTBFrontBlock> CSCTFTBEventData::frontBlocks_ [private] |
Front and SP Data is unpacked and stored in these vectors.
Definition at line 157 of file CSCTFTBEventData.h.
Referenced by frontData(), frontDatum(), unpackData(), and ~CSCTFTBEventData().
bool CSCTFTBEventData::hasCDF_ = false [static, private] |
bool CSCTFTBEventData::onlyTrigBX_ = false [static, private] |
unsigned CSCTFTBEventData::size_ [private] |
unsigned short* CSCTFTBEventData::SP_tail |
std::vector<CSCTFTBSPBlock> CSCTFTBEventData::spBlocks_ [private] |
Definition at line 158 of file CSCTFTBEventData.h.
Referenced by spData(), spDatum(), unpackData(), and ~CSCTFTBEventData().
Definition at line 145 of file CSCTFTBEventData.h.
CSCTFTBEventHeader CSCTFTBEventData::spHead_ [private] |
This SP's event header is stored here.
Definition at line 160 of file CSCTFTBEventData.h.
Referenced by eventHeader(), setEventInformation(), and unpackData().
unsigned CSCTFTBEventData::trigBX_ = 0 [static, private] |
Definition at line 175 of file CSCTFTBEventData.h.
Referenced by getTriggerBX(), operator<<(), and setTriggerBX().