CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/EventFilter/SMProxyServer/src/DQMEventMsg.cc

Go to the documentation of this file.
00001 // $Id: DQMEventMsg.cc,v 1.1.4.2 2011/03/07 12:01:12 mommsen Exp $
00003 
00004 #include "EventFilter/SMProxyServer/interface/DQMEventMsg.h"
00005 
00006 
00007 namespace smproxy
00008 {
00009 
00010   DQMEventMsg::DQMEventMsg() :
00011   faulty_(true)
00012   {}
00013   
00014   
00015   DQMEventMsg::DQMEventMsg(const DQMEventMsgView& dqmEventMsgView) :
00016   faulty_(false)
00017   {
00018     buf_.reset( new DQMEventMsgBuffer(dqmEventMsgView.size()) );
00019     std::copy(
00020       dqmEventMsgView.startAddress(),
00021       dqmEventMsgView.startAddress()+dqmEventMsgView.size(),
00022       &(*buf_)[0]
00023     );
00024     dqmKey_.runNumber = dqmEventMsgView.runNumber();
00025     dqmKey_.lumiSection = dqmEventMsgView.lumiSection();
00026     dqmKey_.topLevelFolderName = dqmEventMsgView.topFolderName();
00027   }
00028   
00029   
00030   void DQMEventMsg::tagForDQMEventConsumers(const stor::QueueIDs& queueIDs)
00031   {
00032     queueIDs_ = queueIDs;
00033   }
00034   
00035   
00036   const stor::QueueIDs& DQMEventMsg::getDQMEventConsumerTags() const
00037   {
00038     return queueIDs_;
00039   }
00040   
00041   
00042   const stor::DQMKey& DQMEventMsg::dqmKey() const
00043   {
00044     return dqmKey_;
00045   }
00046 
00047   
00048   size_t DQMEventMsg::memoryUsed() const
00049   {
00050     return sizeof(buf_);
00051   }
00052   
00053   
00054   unsigned long DQMEventMsg::totalDataSize() const
00055   {
00056     return buf_->size();
00057   }
00058   
00059   
00060   unsigned char* DQMEventMsg::dataLocation() const
00061   {
00062     return &(*buf_)[0];
00063   }
00064   
00065   
00066   bool DQMEventMsg::empty() const
00067   {
00068     return (buf_.get() == 0);
00069   }
00070 
00071 
00072   bool DQMEventMsg::faulty() const
00073   {
00074     return faulty_;
00075   }
00076 
00077 } // namespace smproxy
00078