CMS 3D CMS Logo

CSCTFTBEventData Class Reference

#include <EventFilter/CSCTFRawToDigi/old/CSCTFTBEventData.h>

List of all members.

Public Types

enum  { SAMPLESIZE = 16 }

Public Member Functions

 CSCTFTBEventData (unsigned short *buf)
 CSCTFTBEventData ()
CSCTFTBEventHeader eventHeader () const
 This SP's event header.
std::vector< CSCTFTBFrontBlockfrontData () 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< CSCTFTBSPBlockspData () 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< CSCTFTBFrontBlockfrontBlocks_
 Front and SP Data is unpacked and stored in these vectors.
unsigned size_
std::vector< CSCTFTBSPBlockspBlocks_
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 &)


Detailed Description

Definition at line 97 of file CSCTFTBEventData.h.


Member Enumeration Documentation

anonymous enum

Enumerator:
SAMPLESIZE 

Definition at line 135 of file CSCTFTBEventData.h.

00135 {SAMPLESIZE = 16};


Constructor & Destructor Documentation

CSCTFTBEventData::CSCTFTBEventData (  ) 

Definition at line 133 of file CSCTFTBEventData.cc.

00134 {
00135 }

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 }


Member Function Documentation

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 119 of file CSCTFTBEventData.h.

References trigBX_.

00119 {return trigBX_;}

static void CSCTFTBEventData::onlyTriggerBX ( bool  disp  )  [inline, static]

Definition at line 137 of file CSCTFTBEventData.h.

References onlyTrigBX_.

00137 {onlyTrigBX_ = disp;}

static void CSCTFTBEventData::setCDF ( bool  hasCDF  )  [inline, static]

Definition at line 138 of file CSCTFTBEventData.h.

References hasCDF_.

00138 {hasCDF_ = hasCDF;}

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]

Definition at line 136 of file CSCTFTBEventData.h.

References trigBX_.

00136 {trigBX_ = theBX;}

unsigned CSCTFTBEventData::size ( void   )  const [inline]

Definition at line 120 of file CSCTFTBEventData.h.

References size_.

00120 {return size_;}

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]

Definition at line 128 of file CSCTFTBEventData.h.

References spBlocks_.

00129           {return spBlocks_[bx = (bx > 0 && bx<= spBlocks_.size()) ? bx-1 : 0];}

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 }


Friends And Related Function Documentation

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 }


Member Data Documentation

int CSCTFTBEventData::errorstat2

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]

Definition at line 173 of file CSCTFTBEventData.h.

Referenced by setCDF().

bool CSCTFTBEventData::onlyTrigBX_ = false [static, private]

Definition at line 174 of file CSCTFTBEventData.h.

Referenced by onlyTriggerBX(), and operator<<().

unsigned CSCTFTBEventData::size_ [private]

Definition at line 171 of file CSCTFTBEventData.h.

Referenced by size(), and unpackData().

unsigned short* CSCTFTBEventData::SP_tail

Trailer info.

Definition at line 144 of file CSCTFTBEventData.h.

std::vector<CSCTFTBSPBlock> CSCTFTBEventData::spBlocks_ [private]

Definition at line 158 of file CSCTFTBEventData.h.

Referenced by spData(), spDatum(), unpackData(), and ~CSCTFTBEventData().

int CSCTFTBEventData::SPbytes

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().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:17:30 2009 for CMSSW by  doxygen 1.5.4