CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
InitMsgView Class Reference

#include <InitMessage.h>

Public Member Functions

uint32 adler32_chksum () const
 
uint32 code () const
 
const uint8descData () const
 
uint32 descLength () const
 
uint32 eventHeaderSize () const
 
uint32 get_hlt_bit_cnt () const
 
uint32 get_l1_bit_cnt () const
 
uint32 headerSize () const
 
void hltTriggerNames (Strings &save_here) const
 
void hltTriggerSelections (Strings &save_here) const
 
std::string hostName () const
 
uint32 hostName_len () const
 
 InitMsgView (void *buf)
 
void l1TriggerNames (Strings &save_here) const
 
uint32 outputModuleId () const
 
std::string outputModuleLabel () const
 
std::string processName () const
 
uint32 protocolVersion () const
 
void pset (uint8 *put_here) const
 
std::string releaseTag () const
 
uint32 run () const
 
uint32 size () const
 
uint8startAddress () const
 

Private Attributes

uint32 adler32_chksum_
 
uint8buf_
 
uint32 desc_len_
 
uint8desc_start_
 
HeaderView head_
 
uint32 hlt_select_count_
 
uint32 hlt_select_len_
 
uint8hlt_select_start_
 
uint32 hlt_trig_count_
 
uint32 hlt_trig_len_
 
uint8hlt_trig_start_
 
uint32 host_name_len_
 
uint8host_name_start_
 
uint32 l1_trig_count_
 
uint32 l1_trig_len_
 
uint8l1_trig_start_
 
uint32 outputModuleId_
 
uint32 outputModuleLabel_len_
 
uint8outputModuleLabel_start_
 
uint32 processName_len_
 
uint8processName_start_
 
uint32 release_len_
 
uint8release_start_
 

Detailed Description

Definition at line 59 of file InitMessage.h.

Constructor & Destructor Documentation

InitMsgView::InitMsgView ( void *  buf)

Definition at line 7 of file InitMessage.cc.

References adler32_chksum_, buf_, convert32(), gather_cfg::cout, desc_len_, desc_start_, hlt_select_count_, hlt_select_len_, hlt_select_start_, hlt_trig_count_, hlt_trig_len_, hlt_trig_start_, host_name_len_, host_name_start_, l1_trig_count_, l1_trig_len_, l1_trig_start_, outputModuleId_, outputModuleLabel_len_, outputModuleLabel_start_, pos, processName_len_, processName_start_, protocolVersion(), release_len_, and release_start_.

7  :
8  buf_((uint8*)buf),head_(buf)
9 {
10  if (protocolVersion() == 2) {
11  std::cout << "Protocol Version 2 encountered" << std::endl;
12  release_start_ = buf_ + sizeof(InitHeader) - (sizeof(uint32)*2);
13  // Minus the size for Init and Event Header size fileds
14  // in the InitHeader
15  } else { //For version 3
16  release_start_ = buf_ + sizeof(InitHeader);
17  }
19  release_start_ += sizeof(uint8);
21 
22  //Lets get Process Name from right after Release Name
23  if (protocolVersion() > 3) {
24  //std::cout << "Protocol Version > 3 encountered" << std::endl;
26  processName_start_ = (uint8*)(pos + sizeof(uint8));
28 
29  // Output Module Label
30  if (protocolVersion() > 4) {
32  outputModuleLabel_start_ = (uint8*)(pos + sizeof(uint8));
34 
35  // Output Module Id
36  if (protocolVersion() > 5) {
38  pos += sizeof(char_uint32);
39  }
40  }
41  }
42 
43 
46  hlt_trig_start_ += sizeof(char_uint32);
48  hlt_trig_start_ += sizeof(char_uint32);
50 
51  if (protocolVersion() > 4) {
54  hlt_select_start_ += sizeof(char_uint32);
56  hlt_select_start_ += sizeof(char_uint32);
58  }
59 
62  l1_trig_start_ += sizeof(char_uint32);
64  l1_trig_start_ += sizeof(char_uint32);
66 
67  if (protocolVersion() > 7) {
69  host_name_start_ = pos + sizeof(uint32);
71  host_name_start_ += sizeof(uint8);
73  }
74 
75  desc_start_ = pos;
77  desc_start_ += sizeof(char_uint32);
78 }
uint32 hlt_select_count_
Definition: InitMessage.h:111
uint32 release_len_
Definition: InitMessage.h:98
uint8 * desc_start_
Definition: InitMessage.h:122
uint32 hlt_trig_len_
Definition: InitMessage.h:109
uint32 desc_len_
Definition: InitMessage.h:123
uint32 l1_trig_len_
Definition: InitMessage.h:115
HeaderView head_
Definition: InitMessage.h:95
uint8 * l1_trig_start_
Definition: InitMessage.h:113
uint32 outputModuleLabel_len_
Definition: InitMessage.h:104
uint8 * outputModuleLabel_start_
Definition: InitMessage.h:103
uint8 * release_start_
Definition: InitMessage.h:97
unsigned int uint32
Definition: MsgTools.h:13
uint32 host_name_len_
Definition: InitMessage.h:118
unsigned char char_uint32[sizeof(uint32)]
Definition: MsgTools.h:16
uint32 processName_len_
Definition: InitMessage.h:101
uint32 protocolVersion() const
Definition: InitMessage.cc:86
uint32 outputModuleId_
Definition: InitMessage.h:105
uint8 * hlt_trig_start_
Definition: InitMessage.h:107
uint8 * host_name_start_
Definition: InitMessage.h:117
uint8 * hlt_select_start_
Definition: InitMessage.h:110
uint32 convert32(char_uint32 v)
Definition: MsgTools.h:30
unsigned char uint8
Definition: MsgTools.h:11
uint8 * buf_
Definition: InitMessage.h:94
tuple cout
Definition: gather_cfg.py:41
uint32 adler32_chksum_
Definition: InitMessage.h:116
uint32 hlt_trig_count_
Definition: InitMessage.h:108
uint8 * processName_start_
Definition: InitMessage.h:100
uint32 l1_trig_count_
Definition: InitMessage.h:114
uint32 hlt_select_len_
Definition: InitMessage.h:112

Member Function Documentation

uint32 InitMsgView::adler32_chksum ( ) const
inline

Definition at line 89 of file InitMessage.h.

References adler32_chksum_.

Referenced by edm::StreamerInputSource::deserializeRegistry(), and dumpInitHeader().

89 {return adler32_chksum_;}
uint32 adler32_chksum_
Definition: InitMessage.h:116
uint32 InitMsgView::code ( ) const
inline
const uint8* InitMsgView::descData ( ) const
inline

Definition at line 86 of file InitMessage.h.

References desc_start_.

Referenced by edm::StreamerInputSource::deserializeRegistry(), dumpInitVerbose(), and StreamerOutputFile::write().

86 { return desc_start_; }
uint8 * desc_start_
Definition: InitMessage.h:122
uint32 InitMsgView::descLength ( ) const
inline

Definition at line 85 of file InitMessage.h.

References desc_len_.

Referenced by edm::StreamerInputSource::deserializeRegistry(), dumpInit(), dumpInitVerbose(), and dumpInitView().

85 { return desc_len_; }
uint32 desc_len_
Definition: InitMessage.h:123
uint32 InitMsgView::eventHeaderSize ( ) const

This is estimated size of event header for Protocol Version 2.

Definition at line 141 of file InitMessage.cc.

References buf_, convert32(), InitHeader::event_header_size_, get_hlt_bit_cnt(), get_l1_bit_cnt(), h, and protocolVersion().

142 {
143  if (protocolVersion() == 2) {
146  uint32 hlt_sz = get_hlt_bit_cnt();
147  if (hlt_sz != 0 ) hlt_sz = 1+ ((hlt_sz-1)/4);
148 
149  uint32 l1_sz = get_l1_bit_cnt();
150  if (l1_sz != 0) l1_sz = 1 + ((l1_sz-1)/8);
151 
152  return 1 + (4*8) + hlt_sz+l1_sz;
153  }
154 
155  InitHeader* h = reinterpret_cast<InitHeader*>(buf_);
156  return convert32(h->event_header_size_);
157 }
char_uint32 event_header_size_
Definition: InitMessage.h:56
unsigned int uint32
Definition: MsgTools.h:13
uint32 protocolVersion() const
Definition: InitMessage.cc:86
uint32 convert32(char_uint32 v)
Definition: MsgTools.h:30
uint8 * buf_
Definition: InitMessage.h:94
uint32 get_hlt_bit_cnt() const
Definition: InitMessage.h:81
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
uint32 get_l1_bit_cnt() const
Definition: InitMessage.h:82
uint32 InitMsgView::get_hlt_bit_cnt ( ) const
inline

Definition at line 81 of file InitMessage.h.

References hlt_trig_count_.

Referenced by edm::StreamerFileWriter::doOutputHeader(), and eventHeaderSize().

81 { return hlt_trig_count_; }
uint32 hlt_trig_count_
Definition: InitMessage.h:108
uint32 InitMsgView::get_l1_bit_cnt ( ) const
inline

Definition at line 82 of file InitMessage.h.

References l1_trig_count_.

Referenced by eventHeaderSize().

82 { return l1_trig_count_; }
uint32 l1_trig_count_
Definition: InitMessage.h:114
uint32 InitMsgView::headerSize ( ) const
inline
void InitMsgView::hltTriggerNames ( Strings save_here) const

Definition at line 122 of file InitMessage.cc.

References MsgTools::getNames(), hlt_trig_len_, and hlt_trig_start_.

Referenced by dumpInitHeader(), stor::InitMsgCollection::getSelectionHelpString(), stor::EventStreamSelector::initialize(), and stor::EventConsumerSelector::initialize().

123 {
125 }
uint32 hlt_trig_len_
Definition: InitMessage.h:109
uint8 * hlt_trig_start_
Definition: InitMessage.h:107
void getNames(uint8 *from, uint32 from_len, Strings &to)
Definition: MsgTools.h:91
void InitMsgView::hltTriggerSelections ( Strings save_here) const

Definition at line 127 of file InitMessage.cc.

References edm::hlt::Exception, MsgTools::getNames(), hlt_select_len_, hlt_select_start_, and protocolVersion().

Referenced by dumpInitHeader(), and stor::InitMsgCollection::getSelectionHelpString().

128 {
129  if (protocolVersion() < 5)
130  throw cms::Exception("Invalid Message Version", "InitMsgView")
131  << "HLT trigger selections are only supported in Protocol Version 5 and above" << ".\n";
132 
134 }
uint32 protocolVersion() const
Definition: InitMessage.cc:86
uint8 * hlt_select_start_
Definition: InitMessage.h:110
void getNames(uint8 *from, uint32 from_len, Strings &to)
Definition: MsgTools.h:91
uint32 hlt_select_len_
Definition: InitMessage.h:112
std::string InitMsgView::hostName ( ) const

Definition at line 166 of file InitMessage.cc.

References newFWLiteAna::found, host_name_len_, and host_name_start_.

Referenced by edm::StreamerInputSource::deserializeRegistry(), and dumpInitHeader().

167 {
168  //return std::string(reinterpret_cast<char *>(host_name_start_),host_name_len_);
169  std::string host_name(reinterpret_cast<char *>(host_name_start_),host_name_len_);
170  size_t found = host_name.find('\0');
171  if(found != std::string::npos) {
172  return std::string(host_name, 0, found);
173  } else {
174  return host_name;
175  }
176 }
uint32 host_name_len_
Definition: InitMessage.h:118
uint8 * host_name_start_
Definition: InitMessage.h:117
uint32 InitMsgView::hostName_len ( ) const
inline

Definition at line 91 of file InitMessage.h.

References host_name_len_.

91 {return host_name_len_;}
uint32 host_name_len_
Definition: InitMessage.h:118
void InitMsgView::l1TriggerNames ( Strings save_here) const

Definition at line 136 of file InitMessage.cc.

References MsgTools::getNames(), l1_trig_len_, and l1_trig_start_.

Referenced by dumpInitHeader().

137 {
139 }
uint32 l1_trig_len_
Definition: InitMessage.h:115
uint8 * l1_trig_start_
Definition: InitMessage.h:113
void getNames(uint8 *from, uint32 from_len, Strings &to)
Definition: MsgTools.h:91
uint32 InitMsgView::outputModuleId ( ) const
inline
std::string InitMsgView::outputModuleLabel ( ) const

Definition at line 112 of file InitMessage.cc.

References edm::hlt::Exception, outputModuleLabel_len_, outputModuleLabel_start_, and protocolVersion().

Referenced by stor::InitMsgCollection::add(), stor::InitMsgCollection::addIfUnique(), dumpInitHeader(), stor::InitMsgCollection::getElementForOutputModule(), stor::InitMsgCollection::getSelectionHelpString(), stor::EventStreamSelector::initialize(), stor::EventConsumerSelector::initialize(), and stor::InitMsgCollection::initMsgCount().

113 {
114  if (protocolVersion() < 5)
115  throw cms::Exception("Invalid Message Version", "InitMsgView")
116  << "Output Module Label is only supported in Protocol Version 5 and above" << ".\n";
117 
118  return std::string(reinterpret_cast<char *>(outputModuleLabel_start_),outputModuleLabel_len_);
119 }
uint32 outputModuleLabel_len_
Definition: InitMessage.h:104
uint8 * outputModuleLabel_start_
Definition: InitMessage.h:103
uint32 protocolVersion() const
Definition: InitMessage.cc:86
std::string InitMsgView::processName ( ) const

Definition at line 103 of file InitMessage.cc.

References edm::hlt::Exception, processName_len_, processName_start_, and protocolVersion().

Referenced by edm::StreamerInputSource::deserializeRegistry(), and dumpInitHeader().

104 {
105  if (protocolVersion() < 4)
106  throw cms::Exception("Invalid Message Version", "InitMsgView")
107  << "Process Name is only supported in Protocol Version 4 and above" << ".\n";
108 
109  return std::string(reinterpret_cast<char *>(processName_start_),processName_len_);
110 }
uint32 processName_len_
Definition: InitMessage.h:101
uint32 protocolVersion() const
Definition: InitMessage.cc:86
uint8 * processName_start_
Definition: InitMessage.h:100
uint32 InitMsgView::protocolVersion ( ) const

Definition at line 86 of file InitMessage.cc.

References buf_, h, Version::protocol_, and InitHeader::version_.

Referenced by edm::StreamerInputSource::deserializeRegistry(), dumpInitHeader(), eventHeaderSize(), hltTriggerSelections(), InitMsgView(), outputModuleLabel(), and processName().

87 {
88  InitHeader* h = reinterpret_cast<InitHeader*>(buf_);
89  return h->version_.protocol_;
90 }
uint8 protocol_
Definition: InitMessage.h:37
Version version_
Definition: InitMessage.h:53
uint8 * buf_
Definition: InitMessage.h:94
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
void InitMsgView::pset ( uint8 put_here) const

Definition at line 92 of file InitMessage.cc.

References buf_, h, Version::pset_id_, and InitHeader::version_.

Referenced by dumpInitHeader().

93 {
94  InitHeader* h = reinterpret_cast<InitHeader*>(buf_);
95  memcpy(put_here,h->version_.pset_id_,sizeof(h->version_.pset_id_));
96 }
unsigned char pset_id_[16]
Definition: InitMessage.h:38
Version version_
Definition: InitMessage.h:53
uint8 * buf_
Definition: InitMessage.h:94
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
std::string InitMsgView::releaseTag ( ) const

Definition at line 98 of file InitMessage.cc.

References release_len_, and release_start_.

Referenced by dumpInitHeader().

99 {
100  return std::string(reinterpret_cast<char *>(release_start_),release_len_);
101 }
uint32 release_len_
Definition: InitMessage.h:98
uint8 * release_start_
Definition: InitMessage.h:97
uint32 InitMsgView::run ( void  ) const

Definition at line 80 of file InitMessage.cc.

References buf_, convert32(), h, and InitHeader::run_.

Referenced by dumpInitHeader(), edmtestp::TestFileReader::TestFileReader(), and StreamerOutputFile::writeStart().

81 {
82  InitHeader* h = reinterpret_cast<InitHeader*>(buf_);
83  return convert32(h->run_);
84 }
char_uint32 run_
Definition: InitMessage.h:54
uint32 convert32(char_uint32 v)
Definition: MsgTools.h:30
uint8 * buf_
Definition: InitMessage.h:94
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
uint32 InitMsgView::size ( void  ) const
inline

Definition at line 66 of file InitMessage.h.

References head_, and HeaderView::size().

Referenced by stor::InitMsgCollection::add(), dumpInitHeader(), edmtestp::TestFileReader::TestFileReader(), and StreamerOutputFile::write().

66 { return head_.size(); }
HeaderView head_
Definition: InitMessage.h:95
uint32 size() const
Definition: MsgHeader.h:35
uint8* InitMsgView::startAddress ( ) const
inline

Definition at line 67 of file InitMessage.h.

References buf_.

Referenced by stor::InitMsgCollection::add(), edmtestp::TestFileReader::TestFileReader(), and StreamerOutputFile::writeStart().

67 { return buf_; }
uint8 * buf_
Definition: InitMessage.h:94

Member Data Documentation

uint32 InitMsgView::adler32_chksum_
private

Definition at line 116 of file InitMessage.h.

Referenced by adler32_chksum(), and InitMsgView().

uint8* InitMsgView::buf_
private
uint32 InitMsgView::desc_len_
private

Definition at line 123 of file InitMessage.h.

Referenced by descLength(), and InitMsgView().

uint8* InitMsgView::desc_start_
private

Definition at line 122 of file InitMessage.h.

Referenced by descData(), headerSize(), and InitMsgView().

HeaderView InitMsgView::head_
private

Definition at line 95 of file InitMessage.h.

Referenced by code(), and size().

uint32 InitMsgView::hlt_select_count_
private

Definition at line 111 of file InitMessage.h.

Referenced by InitMsgView().

uint32 InitMsgView::hlt_select_len_
private

Definition at line 112 of file InitMessage.h.

Referenced by hltTriggerSelections(), and InitMsgView().

uint8* InitMsgView::hlt_select_start_
private

Definition at line 110 of file InitMessage.h.

Referenced by hltTriggerSelections(), and InitMsgView().

uint32 InitMsgView::hlt_trig_count_
private

Definition at line 108 of file InitMessage.h.

Referenced by get_hlt_bit_cnt(), and InitMsgView().

uint32 InitMsgView::hlt_trig_len_
private

Definition at line 109 of file InitMessage.h.

Referenced by hltTriggerNames(), and InitMsgView().

uint8* InitMsgView::hlt_trig_start_
private

Definition at line 107 of file InitMessage.h.

Referenced by hltTriggerNames(), and InitMsgView().

uint32 InitMsgView::host_name_len_
private

Definition at line 118 of file InitMessage.h.

Referenced by hostName(), hostName_len(), and InitMsgView().

uint8* InitMsgView::host_name_start_
private

Definition at line 117 of file InitMessage.h.

Referenced by hostName(), and InitMsgView().

uint32 InitMsgView::l1_trig_count_
private

Definition at line 114 of file InitMessage.h.

Referenced by get_l1_bit_cnt(), and InitMsgView().

uint32 InitMsgView::l1_trig_len_
private

Definition at line 115 of file InitMessage.h.

Referenced by InitMsgView(), and l1TriggerNames().

uint8* InitMsgView::l1_trig_start_
private

Definition at line 113 of file InitMessage.h.

Referenced by InitMsgView(), and l1TriggerNames().

uint32 InitMsgView::outputModuleId_
private

Definition at line 105 of file InitMessage.h.

Referenced by InitMsgView(), and outputModuleId().

uint32 InitMsgView::outputModuleLabel_len_
private

Definition at line 104 of file InitMessage.h.

Referenced by InitMsgView(), and outputModuleLabel().

uint8* InitMsgView::outputModuleLabel_start_
private

Definition at line 103 of file InitMessage.h.

Referenced by InitMsgView(), and outputModuleLabel().

uint32 InitMsgView::processName_len_
private

Definition at line 101 of file InitMessage.h.

Referenced by InitMsgView(), and processName().

uint8* InitMsgView::processName_start_
private

Definition at line 100 of file InitMessage.h.

Referenced by InitMsgView(), and processName().

uint32 InitMsgView::release_len_
private

Definition at line 98 of file InitMessage.h.

Referenced by InitMsgView(), and releaseTag().

uint8* InitMsgView::release_start_
private

Definition at line 97 of file InitMessage.h.

Referenced by InitMsgView(), and releaseTag().