std vector seems working

This commit is contained in:
Mohacsi Istvan
2021-06-28 13:53:01 +02:00
parent 9bc39432fb
commit a1573d354f
2 changed files with 12 additions and 11 deletions
+6 -5
View File
@@ -4,6 +4,7 @@
#include "buffer_config.hpp"
#include "jungfrau.hpp"
#include "jungfraujoch.hpp"
#include <vector>
#pragma pack(push)
#pragma pack(1)
@@ -41,12 +42,12 @@ struct BufferBinaryFormat {
#pragma pack(pop)
struct ImageBinaryFormat {
class ImageBinaryFormat {
public:
ImageMetadata meta;
char* data = nullptr;
const size_t size;
ImageBinaryFormat(size_t H, size_t W, size_t D): size(H*W*D) { data = (char*) calloc(H*W*D, sizeof(int)); };
~ImageBinaryFormat(){ free(data); std::cout << "ImageBinaryFormat destructor called!" << std::endl; }
std::vector<char> data;
ImageBinaryFormat(size_t H, size_t W, size_t D): data(H*W*D, 0) {};
~ImageBinaryFormat(){ std::cout << "ImageBinaryFormat destructor called!" << std::endl; }
};
+6 -6
View File
@@ -56,17 +56,17 @@ public:
std::cout << " fill/cpy" << std::endl;
m_fill[idx]++;
//char* ptr_dest = m_buffer[idx].data + moduleIDX * m_blocksize;
char* ptr_dest = m_buffer[idx].data;
// std::cout << " Root: " << (void*)m_buffer[idx].data << " ( " << m_buffer[idx].size << " )" << "\ttarget:" << (void*)ptr_dest << "\tsize: " << m_blocksize << std::endl;
std::cout << "Module: " << moduleIDX << std::endl;
char* ptr_dest = m_buffer[idx].data.data() + moduleIDX * m_blocksize;
//char* ptr_dest = m_buffer[idx].data;
std::cout << " Root: " << (void*)m_buffer[idx].data.data() << "\tTarget:" << (void*)ptr_dest
<< "\tblocksize: " << m_blocksize << "\tcontainer: " << m_buffer[idx].data.size() << std::endl;
m_buffer[idx].meta.pulse_id = ref_frame.meta.pulse_id;
m_buffer[idx].meta.frame_index = ref_frame.meta.frame_index;
m_buffer[idx].meta.daq_rec = ref_frame.meta.daq_rec;
std::cout << "NI " << std::endl;
//std::memcpy((void*)ptr_dest, (void*)&ref_frame.data, m_blocksize);
std::memcpy((void*)&ptr_dest[moduleIDX * m_blocksize], (void*)&ref_frame.data, m_blocksize);
std::memcpy((void*)ptr_dest, (void*)&ref_frame.data, m_blocksize);
// std::memcpy((void*)&ptr_dest[moduleIDX * m_blocksize], (void*)&ref_frame.data, m_blocksize);
std::cout << " Fill ctr: " << m_fill[idx] << std::endl;