68 if (fedUnpackList_.empty())
70 fedUnpackList_.push_back(
i);
72 produces<FEDRawDataCollection>();
91 auto producedData = std::make_unique<FEDRawDataCollection>();
105 uint64_t* fedTrailer = pData + (length - 1);
106 bool crcError = (*fedTrailer >> 2) & 0
x1;
109 FEDRawData& fedDataProd = producedData->FEDData(*
i);
110 if (fedDataProd.
size() != 0) {
116 unsigned char* dataProd = fedDataProd.
data();
117 const unsigned char*
data = fedData.
data();
118 for (
unsigned int k = 0;
k < fedData.
size(); ++
k) {
119 dataProd[
k] = data[
k];
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
~EcalFEDWithCRCErrorProducer() override
size_t size() const
Lenght of the data buffer in bytes.
#define DEFINE_FWK_MODULE(type)
const FEDRawData & FEDData(int fedid) const
retrieve data for fed
void resize(size_t newsize)
EcalFEDWithCRCErrorProducer(const edm::ParameterSet &)
void produce(edm::Event &, const edm::EventSetup &) override
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
unsigned long long uint64_t
char data[epos_bytes_allocation]
const unsigned char * data() const
Return a const pointer to the beginning of the data buffer.
std::vector< int > fedUnpackList_