diff --git a/EventFilter/Utilities/plugins/RawEventFileWriterForBU.cc b/EventFilter/Utilities/plugins/RawEventFileWriterForBU.cc index c869ab12d7822..4f7e0126f02ed 100644 --- a/EventFilter/Utilities/plugins/RawEventFileWriterForBU.cc +++ b/EventFilter/Utilities/plugins/RawEventFileWriterForBU.cc @@ -107,12 +107,6 @@ void RawEventFileWriterForBU::doOutputEvent(FRDEventMsgView const& msg) { // cms::Adler32((const char*) msg.startAddress(), msg.size(), adlera_, adlerb_); } -void RawEventFileWriterForBU::doOutputEventFragment(unsigned char* dataPtr, unsigned long dataSize) { - throw cms::Exception("RawEventFileWriterForBU", "doOutputEventFragment") << "Unsupported output mode "; - - //cms::Adler32((const char*) dataPtr, dataSize, adlera_, adlerb_); -} - void RawEventFileWriterForBU::initialize(std::string const& destinationDir, std::string const& name, int ls) { destinationDir_ = destinationDir; diff --git a/EventFilter/Utilities/plugins/RawEventFileWriterForBU.h b/EventFilter/Utilities/plugins/RawEventFileWriterForBU.h index fd3316bce9fc0..808df20ae7c59 100644 --- a/EventFilter/Utilities/plugins/RawEventFileWriterForBU.h +++ b/EventFilter/Utilities/plugins/RawEventFileWriterForBU.h @@ -12,8 +12,10 @@ #include #include #include +#include -#include "boost/shared_array.hpp" +#include +#include class RawEventFileWriterForBU { public: @@ -22,9 +24,7 @@ class RawEventFileWriterForBU { ~RawEventFileWriterForBU(); void doOutputEvent(FRDEventMsgView const& msg); - void doOutputEvent(boost::shared_array& msg){}; - void doOutputEventFragment(unsigned char* dataPtr, unsigned long dataSize); - //void doFlushFile(); + uint32 adler32() const { return (adlerb_ << 16) | adlera_; } void start() {} diff --git a/EventFilter/Utilities/plugins/RawEventOutputModuleForBU.h b/EventFilter/Utilities/plugins/RawEventOutputModuleForBU.h index 3eb1240c66275..292daf33ddaf2 100644 --- a/EventFilter/Utilities/plugins/RawEventOutputModuleForBU.h +++ b/EventFilter/Utilities/plugins/RawEventOutputModuleForBU.h @@ -18,7 +18,8 @@ #include "FWCore/Utilities/interface/Adler32Calculator.h" #include "EventFilter/Utilities/interface/crc32c.h" -#include "boost/shared_array.hpp" +#include +#include class FRDEventMsgView; template @@ -107,8 +108,9 @@ void RawEventOutputModuleForBU::write(edm::EventForOutput const& e) { totsize += expectedSize; // build the FRDEvent into a temporary buffer - boost::shared_array workBuffer(new unsigned char[expectedSize + 256]); - uint32* bufPtr = (uint32*)workBuffer.get(); + std::unique_ptr> workBuffer( + std::make_unique>(expectedSize + 256)); + uint32* bufPtr = (uint32*)(workBuffer.get()->data()); *bufPtr++ = (uint32)frdVersion_; // version number *bufPtr++ = (uint32)e.id().run(); *bufPtr++ = (uint32)e.luminosityBlock(); @@ -152,12 +154,10 @@ void RawEventOutputModuleForBU::write(edm::EventForOutput const& e) { } // create the FRDEventMsgView and use the template consumer to write it out - FRDEventMsgView msg(workBuffer.get()); + FRDEventMsgView msg(workBuffer.get()->data()); writtensize += msg.size(); - if (templateConsumer_->sharedMode()) - templateConsumer_->doOutputEvent(workBuffer); - else + if (!templateConsumer_->sharedMode()) templateConsumer_->doOutputEvent(msg); }