diff --git a/src/bmtf_orbit_processor.cc b/src/bmtf_orbit_processor.cc index d3ed81cb757175856ef5c5b6e6019fa787ce7c07..a07241d26b452a247c1dc390e57e816afdfb151e 100644 --- a/src/bmtf_orbit_processor.cc +++ b/src/bmtf_orbit_processor.cc @@ -32,8 +32,7 @@ int BmtfOrbitProcessor::ProcessBlock(uint32_t bx, uint32_t orbit, bool has_heade // as well as the warning test enable flag. uint32_t header = uint32_t{(static_cast<uint32_t>(has_header) << 8) + bx_data.count}; writer.Fill(BxMetadataType{header, bx, orbit}); - - bx_data.FillBuffer(writer.GetDoublePtr()); + writer.Fill(bx_data.GetBuffer(), bx_data.GetSize()); return bx_data.count; // Original incremented counts by sCount } \ No newline at end of file diff --git a/src/calo_sum_orbit_processor.cc b/src/calo_sum_orbit_processor.cc index 51ef7a9aa99d814a83d2915fc24965ee23af6a5f..6ce991b076033e2469249f24b65bd1b91276a4f7 100644 --- a/src/calo_sum_orbit_processor.cc +++ b/src/calo_sum_orbit_processor.cc @@ -11,20 +11,15 @@ int CaloSumOrbitProcessor::ProcessBlock(uint32_t bx, uint32_t orbit, bool, Write using SourceDataType = blockCaloSum; using SinkDataType = uint32_t; - using BxMetadata = DataBuffer<BxMetadataType, 1>; - const uint32_t source_data_length = 6; + // const uint32_t source_data_length = 6; assert(reader.CheckBounds(sizeof(SourceDataType))); assert(writer.CheckBounds(GetPacketSize())); // Max size a decoded block can use SourceDataType *bl = reader.Scan<SourceDataType>(); - - writer.Fill(BxMetadataType{bx, orbit}); - // BxData<SinkDataType, source_data_length> bx_data; - - memcpy(*writer.GetDoublePtr(), (char *)&bl->calo_sum, sizeof(bl->calo_sum)); - (*writer.GetDoublePtr()) += sizeof(bl->calo_sum); + writer.Fill(BxMetadataType{bx, orbit}); + writer.Fill(bl->calo_sum, sizeof(bl->calo_sum)); return 6; // Original left counts at zero } \ No newline at end of file diff --git a/src/orbit_processor.h b/src/orbit_processor.h index 8f23f26b4b89201ac01200c331376e004e2b517f..f737747f571aaa91357e71d390f6141e080367c5 100644 --- a/src/orbit_processor.h +++ b/src/orbit_processor.h @@ -38,11 +38,7 @@ class OrbitProcessor : public Processor { void Add(T v) { data[count++] = v; } - void FillBuffer(char **write_pointer) { - memcpy(*write_pointer, &data, GetSize()); - (*write_pointer) += GetSize(); - } - + private: const static uint32_t max_elem = N; T data[max_elem]; uint32_t count = 0; diff --git a/src/ugt_orbit_processor.cc b/src/ugt_orbit_processor.cc index 340811e4ccb89b0491ad1850f5928be00d8bc941..695848990c4553b379e582a14d28872a41862240 100644 --- a/src/ugt_orbit_processor.cc +++ b/src/ugt_orbit_processor.cc @@ -10,7 +10,6 @@ int UgtOrbitProcessor::ProcessBlock(uint32_t bx, uint32_t orbit, bool, Writeable }; using SourceDataType = blockUgt; - // using BxMetadata = DataBuffer<BxMetadataType, 1>; assert(reader.CheckBounds(sizeof(SourceDataType))); assert(writer.CheckBounds(GetPacketSize())); // Max size a decoded block can use