18 headerFieldsCached_(
false)
58 return (
unsigned char*) smMsg->
dataPtr();
70 std::stringstream
msg;
71 msg <<
"An output module ID can not be determined from a ";
72 msg <<
"faulty or incomplete Event message.";
73 XCEPT_RAISE(stor::exception::IncompleteEventMessage, msg.str());
84 std::stringstream
msg;
85 msg <<
"The number of HLT trigger bits can not be determined ";
86 msg <<
"from a faulty or incomplete Event message.";
87 XCEPT_RAISE(stor::exception::IncompleteEventMessage, msg.str());
99 std::stringstream
msg;
100 msg <<
"The HLT trigger bits can not be determined from a ";
101 msg <<
"faulty or incomplete Event message.";
102 XCEPT_RAISE(stor::exception::IncompleteEventMessage, msg.str());
114 std::stringstream
msg;
115 msg <<
"The dropped events count cannot be determined from a ";
116 msg <<
"faulty or incomplete Event message.";
117 XCEPT_RAISE(stor::exception::IncompleteEventMessage, msg.str());
129 const unsigned long firstFragSize =
dataSize(0);
144 std::ostringstream errorMsg;
147 " received from " <<
hltURL() <<
149 " does not match the run number " << runNumber <<
150 " used to configure the StorageManager.";
151 XCEPT_RAISE(stor::exception::RunNumberMismatch, errorMsg.str());
159 std::stringstream
msg;
160 msg <<
"A run number can not be determined from a ";
161 msg <<
"faulty or incomplete Event message.";
162 XCEPT_RAISE(stor::exception::IncompleteEventMessage, msg.str());
173 std::stringstream
msg;
174 msg <<
"A luminosity section can not be determined from a ";
175 msg <<
"faulty or incomplete Event message.";
176 XCEPT_RAISE(stor::exception::IncompleteEventMessage, msg.str());
187 std::stringstream
msg;
188 msg <<
"An event number can not be determined from a ";
189 msg <<
"faulty or incomplete Event message.";
190 XCEPT_RAISE(stor::exception::IncompleteEventMessage, msg.str());
201 std::stringstream
msg;
202 msg <<
"An adler32 checksum can not be determined from a ";
203 msg <<
"faulty or incomplete Event message.";
204 XCEPT_RAISE(stor::exception::IncompleteEventMessage, msg.str());
235 unsigned long firstFragSize =
dataSize(0);
236 bool useFirstFrag =
false;
247 else if (firstFragSize > (
sizeof(
EventHeader) + 4096))
256 boost::shared_ptr<EventMsgView> msgView;
280 adler32_ = msgView->adler32_chksum();
285 #ifdef STOR_DEBUG_WRONG_ADLER
286 double r =
rand()/
static_cast<double>(RAND_MAX);
289 std::cout <<
"Simulating corrupt Adler calculation" << std::endl;
294 std::cout <<
"Simulating corrupt Adler entry" << std::endl;
297 #endif // STOR_DEBUG_WRONG_ADLER
unsigned char * dataLocation(int fragmentIndex) const
uint32_t do_runNumber() const
unsigned char * do_headerLocation() const
toolbox::mem::Reference * ref_
unsigned int fuProcessId() const
uint32_t hltTriggerCount_
unsigned char * do_fragmentLocation(unsigned char *dataLoc) const
void do_assertRunNumber(uint32_t runNumber)
std::string hltURL() const
void addFirstFragment(toolbox::mem::Reference *)
unsigned int droppedEventsCount_
void cacheHeaderFields() const
size_t do_i2oFrameSize() const
unsigned int do_droppedEventsCount() const
uint32_t do_adler32Checksum() const
EventMsgData(toolbox::mem::Reference *pRef)
unsigned int copyFragmentsIntoBuffer(std::vector< unsigned char > &buff) const
uint32_t do_hltTriggerCount() const
uint32 headerSize() const
uint32_t do_eventNumber() const
unsigned char * headerLocation_
void do_setDroppedEventsCount(unsigned int)
unsigned int fuProcessId_
unsigned int fragmentCount_
unsigned long dataSize(int fragmentIndex) const
uint32_t do_lumiSection() const
std::vector< unsigned char > headerCopy_
uint32_t do_outputModuleId() const
_I2O_SM_DATA_MESSAGE_FRAME I2O_SM_DATA_MESSAGE_FRAME
unsigned int messageCode_
unsigned long headerSize_
void do_hltTriggerBits(std::vector< unsigned char > &bitList) const
std::vector< unsigned char > hltTriggerBits_
unsigned int hltInstance_
unsigned long do_headerSize() const