CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
I2OChain.h
Go to the documentation of this file.
1 // $Id: I2OChain.h,v 1.16 2012/04/20 10:48:18 mommsen Exp $
3 
4 #ifndef EventFilter_StorageManager_I2OChain_h
5 #define EventFilter_StorageManager_I2OChain_h
6 
7 #include <vector>
8 
9 #include "boost/shared_ptr.hpp"
10 #include "toolbox/mem/Reference.h"
11 
16 
18 
19 namespace stor {
20 
21  class DQMKey;
22 
23 
37  // We need only declare ChainData here; it is defined in I2OChain.cc.
38  namespace detail
39  {
40  class ChainData;
41  }
42 
43  class I2OChain
44  {
45  public:
46 
47 
51  I2OChain();
52 
62  explicit I2OChain(toolbox::mem::Reference* pRef);
63 
68  I2OChain(I2OChain const& other);
69 
74  ~I2OChain();
75 
84  I2OChain& operator=(I2OChain const& rhs);
85 
89  void swap(I2OChain& other);
90 
94  bool empty() const;
95 
99  bool complete() const;
100 
106  bool faulty() const;
107 
111  unsigned int faultyBits() const;
112 
127  void addToChain(I2OChain& newpart);
128 
132  //void markComplete();
133 
140  void markFaulty();
141 
147  unsigned long* getBufferData() const;
148 
149 
155  void release();
156 
167 
177 
188 
193 
198 
204  void tagForStream(StreamID);
205 
212 
219 
224  bool isTaggedForAnyStream() const;
225 
230  bool isTaggedForAnyEventConsumer() const;
231 
236  bool isTaggedForAnyDQMEventConsumer() const;
237 
246  std::vector<StreamID> getStreamTags() const;
247 
257 
267 
271  unsigned int droppedEventsCount() const;
272 
277  void setDroppedEventsCount(unsigned int);
278 
284  unsigned int messageCode() const;
285 
291  unsigned short i2oMessageCode() const;
292 
299  unsigned int rbBufferId() const;
300 
307  unsigned int hltLocalId() const;
308 
315  unsigned int hltInstance() const;
316 
323  unsigned int hltTid() const;
324 
331  std::string hltURL() const;
332 
339  std::string hltClassName() const;
340 
347  unsigned int fuProcessId() const;
348 
355  unsigned int fuGuid() const;
356 
362  FragKey fragmentKey() const;
363 
364 
369  size_t memoryUsed() const;
370 
380  unsigned int fragmentCount() const;
381 
392  unsigned long totalDataSize() const;
393 
404  unsigned long dataSize(int fragmentIndex) const;
405 
416  unsigned char* dataLocation(int fragmentIndex) const;
417 
424  unsigned int getFragmentID(int fragmentIndex) const;
425 
433  unsigned long headerSize() const;
434 
442  unsigned char* headerLocation() const;
443 
454  unsigned int copyFragmentsIntoBuffer(std::vector<unsigned char>& buff) const;
455 
461  std::string outputModuleLabel() const;
462 
468  uint32_t outputModuleId() const;
469 
475  uint32_t nExpectedEPs() const;
476 
482  std::string topFolderName() const;
483 
490  DQMKey dqmKey() const;
491 
497  void hltTriggerNames(Strings& nameList) const;
498 
504  void hltTriggerSelections(Strings& nameList) const;
505 
511  void l1TriggerNames(Strings& nameList) const;
512 
518  uint32_t hltTriggerCount() const;
519 
527  void hltTriggerBits(std::vector<unsigned char>& bitList) const;
528 
534  uint32_t runNumber() const;
535 
541  uint32_t lumiSection() const;
542 
548  uint32_t eventNumber() const;
549 
554  uint32_t adler32Checksum() const;
555 
564  void assertRunNumber(uint32_t runNumber);
565 
570  bool isEndOfLumiSectionMessage() const;
571 
572  private:
573 
574  boost::shared_ptr<detail::ChainData> data_;
575  };
576 
577 } // namespace stor
578 
579 #endif // EventFilter_StorageManager_I2OChain_h
580 
581 
unsigned int fragmentCount() const
Definition: I2OChain.cc:284
DQMKey dqmKey() const
Definition: I2OChain.cc:485
uint32_t runNumber() const
Definition: I2OChain.cc:585
QueueIDs getEventConsumerTags() const
Definition: I2OChain.cc:384
std::string hltClassName() const
Definition: I2OChain.cc:260
unsigned long * getBufferData() const
Definition: I2OChain.cc:205
std::vector< QueueID > QueueIDs
Definition: QueueID.h:80
unsigned short i2oMessageCode() const
Definition: I2OChain.cc:224
bool complete() const
Definition: I2OChain.cc:118
std::vector< std::string > Strings
Definition: MsgTools.h:18
bool isEndOfLumiSectionMessage() const
Definition: I2OChain.cc:625
void tagForEventConsumer(QueueID)
Definition: I2OChain.cc:332
unsigned int fuProcessId() const
Definition: I2OChain.cc:266
void addToChain(I2OChain &newpart)
Definition: I2OChain.cc:139
void setDroppedEventsCount(unsigned int)
Definition: I2OChain.cc:415
unsigned long headerSize() const
Definition: I2OChain.cc:456
utils::TimePoint_t lastFragmentTime() const
Definition: I2OChain.cc:296
void addToStaleWindowStartTime(const utils::Duration_t)
Definition: I2OChain.cc:308
unsigned int getFragmentID(int fragmentIndex) const
Definition: I2OChain.cc:450
void hltTriggerBits(std::vector< unsigned char > &bitList) const
Definition: I2OChain.cc:565
bool empty() const
Definition: I2OChain.cc:110
unsigned int faultyBits() const
Definition: I2OChain.cc:132
void assertRunNumber(uint32_t runNumber)
Definition: I2OChain.cc:575
void swap(I2OChain &other)
Definition: I2OChain.cc:105
unsigned int messageCode() const
Definition: I2OChain.cc:218
void hltTriggerNames(Strings &nameList) const
Definition: I2OChain.cc:525
uint32_t lumiSection() const
Definition: I2OChain.cc:595
unsigned int hltInstance() const
Definition: I2OChain.cc:242
QueueIDs getDQMEventConsumerTags() const
Definition: I2OChain.cc:394
unsigned int hltLocalId() const
Definition: I2OChain.cc:236
uint32_t nExpectedEPs() const
Definition: I2OChain.cc:515
boost::posix_time::time_duration Duration_t
Definition: Utils.h:41
I2OChain & operator=(I2OChain const &rhs)
Definition: I2OChain.cc:96
std::vector< StreamID > getStreamTags() const
Definition: I2OChain.cc:374
unsigned int droppedEventsCount() const
Definition: I2OChain.cc:404
boost::shared_ptr< detail::ChainData > data_
Definition: I2OChain.h:574
unsigned int fuGuid() const
Definition: I2OChain.cc:272
std::string outputModuleLabel() const
Definition: I2OChain.cc:495
bool isTaggedForAnyStream() const
Definition: I2OChain.cc:356
boost::posix_time::ptime TimePoint_t
Definition: Utils.h:35
std::string topFolderName() const
Definition: I2OChain.cc:475
unsigned char * headerLocation() const
Definition: I2OChain.cc:462
void release()
Definition: I2OChain.cc:210
unsigned int copyFragmentsIntoBuffer(std::vector< unsigned char > &buff) const
Definition: I2OChain.cc:469
size_t StreamID
Definition: StreamID.h:19
void hltTriggerSelections(Strings &nameList) const
Definition: I2OChain.cc:535
unsigned int hltTid() const
Definition: I2OChain.cc:248
size_t memoryUsed() const
Definition: I2OChain.cc:426
unsigned long totalDataSize() const
Definition: I2OChain.cc:432
unsigned int rbBufferId() const
Definition: I2OChain.cc:230
utils::TimePoint_t staleWindowStartTime() const
Definition: I2OChain.cc:302
FragKey fragmentKey() const
Definition: I2OChain.cc:278
void resetStaleWindowStartTime()
Definition: I2OChain.cc:314
void tagForStream(StreamID)
Definition: I2OChain.cc:320
uint32_t hltTriggerCount() const
Definition: I2OChain.cc:555
unsigned long dataSize(int fragmentIndex) const
Definition: I2OChain.cc:438
void l1TriggerNames(Strings &nameList) const
Definition: I2OChain.cc:545
void tagForDQMEventConsumer(QueueID)
Definition: I2OChain.cc:344
bool isTaggedForAnyDQMEventConsumer() const
Definition: I2OChain.cc:368
uint32_t eventNumber() const
Definition: I2OChain.cc:605
uint32_t adler32Checksum() const
Definition: I2OChain.cc:615
bool faulty() const
Definition: I2OChain.cc:125
void markFaulty()
Definition: I2OChain.cc:198
std::string hltURL() const
Definition: I2OChain.cc:254
utils::TimePoint_t creationTime() const
Definition: I2OChain.cc:290
bool isTaggedForAnyEventConsumer() const
Definition: I2OChain.cc:362
uint32_t outputModuleId() const
Definition: I2OChain.cc:505
unsigned char * dataLocation(int fragmentIndex) const
Definition: I2OChain.cc:444