CMS 3D CMS Logo

CSCDMBHeader.h
Go to the documentation of this file.
1 #ifndef EventFilter_CSCRawToDigi_CSCDMBHeader_h
2 #define EventFilter_CSCRawToDigi_CSCDMBHeader_h
3 
4 #include <cassert>
5 #include <iosfwd>
6 #include <cstring> // bzero
7 #include <memory>
11 
12 struct CSCDMBHeader2005;
13 struct CSCDMBHeader2013;
14 
15 class CSCDMBHeader {
16 public:
17  CSCDMBHeader(uint16_t firmware_version = 2005);
18 
19  CSCDMBHeader(const uint16_t* buf, uint16_t firmware_version = 2005);
20 
21  bool cfebAvailable(unsigned icfeb) { return (theHeaderFormat->cfebAvailable() >> icfeb) & 1; }
22 
23  void addCFEB(int icfeb) { theHeaderFormat->addCFEB(icfeb); }
24  void addNCLCT() { theHeaderFormat->addNCLCT(); };
25 
26  void addNALCT() { theHeaderFormat->addNALCT(); };
27  void setBXN(int bxn) { theHeaderFormat->setBXN(bxn); };
28  void setL1A(int l1a) { theHeaderFormat->setL1A(l1a); };
29  void setL1A24(int l1a) { theHeaderFormat->setL1A24(l1a); };
30  void setCrateAddress(int crate, int dmbId) { theHeaderFormat->setCrateAddress(crate, dmbId); };
31  void setdmbID(int newDMBID) { theHeaderFormat->setdmbID(newDMBID); };
32  void setdmbVersion(unsigned int version) { theHeaderFormat->setdmbVersion(version); };
33 
34  unsigned cfebActive() const { return theHeaderFormat->cfebActive(); };
35  unsigned crateID() const { return theHeaderFormat->crateID(); };
36  unsigned dmbID() const { return theHeaderFormat->dmbID(); };
37  unsigned bxn() const { return theHeaderFormat->bxn(); };
38  unsigned bxn12() const { return theHeaderFormat->bxn12(); };
39  unsigned l1a() const { return theHeaderFormat->l1a(); };
40  unsigned l1a24() const { return theHeaderFormat->l1a24(); };
41  unsigned cfebAvailable() const { return theHeaderFormat->cfebAvailable(); };
42  unsigned nalct() const { return theHeaderFormat->nalct(); };
43  unsigned nclct() const { return theHeaderFormat->nclct(); };
44  unsigned cfebMovlp() const { return theHeaderFormat->cfebMovlp(); };
45  unsigned dmbCfebSync() const { return theHeaderFormat->dmbCfebSync(); };
46  unsigned activeDavMismatch() const { return theHeaderFormat->activeDavMismatch(); };
47 
48  unsigned sizeInWords() const { return theHeaderFormat->sizeInWords(); };
49  unsigned format_version() const { return theHeaderFormat->format_version(); };
50 
51  bool check() const { return theHeaderFormat->check(); };
52 
53  unsigned short* data() { return theHeaderFormat->data(); };
54  unsigned short* data() const { return theHeaderFormat->data(); };
55 
56  //ostream & operator<<(ostream &, const CSCDMBHeader &);
57 
61 
62 private:
63  std::shared_ptr<CSCVDMBHeaderFormat> theHeaderFormat;
65 };
66 
67 #endif
CSCDMBHeader::setdmbVersion
void setdmbVersion(unsigned int version)
Definition: CSCDMBHeader.h:32
CSCDMBHeader::setL1A
void setL1A(int l1a)
Definition: CSCDMBHeader.h:28
CSCDMBHeader::l1a
unsigned l1a() const
Definition: CSCDMBHeader.h:39
CSCDMBHeader::addCFEB
void addCFEB(int icfeb)
Definition: CSCDMBHeader.h:23
CSCDMBStatusDigi.h
CSCDMBHeader::addNALCT
void addNALCT()
Definition: CSCDMBHeader.h:26
CSCDMBHeader::cfebActive
unsigned cfebActive() const
Definition: CSCDMBHeader.h:34
CSCDMBHeader::data
unsigned short * data()
Definition: CSCDMBHeader.h:53
CSCDMBHeader::cfebAvailable
bool cfebAvailable(unsigned icfeb)
Definition: CSCDMBHeader.h:21
CSCDMBHeader::dmbCfebSync
unsigned dmbCfebSync() const
Definition: CSCDMBHeader.h:45
CSCDMBHeader::l1a24
unsigned l1a24() const
Definition: CSCDMBHeader.h:40
CSCDMBHeader::sizeInWords
unsigned sizeInWords() const
Definition: CSCDMBHeader.h:48
CSCDMBHeader::data
unsigned short * data() const
Definition: CSCDMBHeader.h:54
CSCDMBHeader::setL1A24
void setL1A24(int l1a)
Definition: CSCDMBHeader.h:29
CSCDMBHeader::check
bool check() const
Definition: CSCDMBHeader.h:51
CSCDMBHeader::setCrateAddress
void setCrateAddress(int crate, int dmbId)
Definition: CSCDMBHeader.h:30
CSCVDMBHeaderFormat.h
CSCDMBHeader::bxn12
unsigned bxn12() const
Definition: CSCDMBHeader.h:38
CSCDMBHeader::setBXN
void setBXN(int bxn)
Definition: CSCDMBHeader.h:27
CSCDMBHeader::CSCDMBHeader
CSCDMBHeader(uint16_t firmware_version=2005)
Definition: CSCDMBHeader.cc:7
CSCDMBHeader::dmbHeader2005
CSCDMBHeader2005 dmbHeader2005() const
will throw if the cast fails
Definition: CSCDMBHeader.cc:24
CSCDMBHeader::setdmbID
void setdmbID(int newDMBID)
Definition: CSCDMBHeader.h:31
CSCDMBHeader::activeDavMismatch
unsigned activeDavMismatch() const
Definition: CSCDMBHeader.h:46
CSCDMBHeader::crateID
unsigned crateID() const
Definition: CSCDMBHeader.h:35
CSCDMBHeader::nalct
unsigned nalct() const
Definition: CSCDMBHeader.h:42
CSCDMBHeader::bxn
unsigned bxn() const
Definition: CSCDMBHeader.h:37
CSCDMBHeader2005
Definition: CSCDMBHeader2005.h:10
CSCDMBHeader::dmbHeader2013
CSCDMBHeader2013 dmbHeader2013() const
Definition: CSCDMBHeader.cc:32
CSCDMBHeader::cfebAvailable
unsigned cfebAvailable() const
Definition: CSCDMBHeader.h:41
visDQMUpload.buf
buf
Definition: visDQMUpload.py:154
CSCDMBHeader::addNCLCT
void addNCLCT()
Definition: CSCDMBHeader.h:24
CSCDMBHeader::theHeaderFormat
std::shared_ptr< CSCVDMBHeaderFormat > theHeaderFormat
Definition: CSCDMBHeader.h:63
CSCDMBHeader
Definition: CSCDMBHeader.h:15
CSCDMBHeader::format_version
unsigned format_version() const
Definition: CSCDMBHeader.h:49
CSCDMBHeader::cfebMovlp
unsigned cfebMovlp() const
Definition: CSCDMBHeader.h:44
CSCDMBHeader::theFirmwareVersion
int theFirmwareVersion
Definition: CSCDMBHeader.h:64
CSCDMBHeader2013
Definition: CSCDMBHeader2013.h:43
Exception.h
CSCDMBHeader::dmbID
unsigned dmbID() const
Definition: CSCDMBHeader.h:36
CSCDMBHeader::nclct
unsigned nclct() const
Definition: CSCDMBHeader.h:43
BeamSplash_cfg.version
version
Definition: BeamSplash_cfg.py:45