ATLAS Offline Software
Loading...
Searching...
No Matches
OffloadBuffer.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRIGACCELEVENT_OFFLOADBUFFER_H
6#define TRIGACCELEVENT_OFFLOADBUFFER_H
7
8#include "DataExportBuffer.h"
9#include <cstring>
10
11namespace TrigAccel {
12
14 public:
15 OffloadBuffer(size_t size) : m_bufferSize(size) {
16 m_rawBuffer = new unsigned char[m_bufferSize];
17 }
18
20 const size_t bufferOffset = 256;
21 m_bufferSize = pB->m_size - bufferOffset;
22 m_rawBuffer = new unsigned char[m_bufferSize];
23 memcpy(m_rawBuffer, pB->m_buffer + bufferOffset, m_bufferSize);
24 }
25
26 virtual ~OffloadBuffer() {
27 delete[] m_rawBuffer;
28 }
29
30 // no copy/assign
31 OffloadBuffer(const OffloadBuffer&) = delete;
33
34 unsigned char* get() {
35 return m_rawBuffer;
36 }
37
39 unsigned char* m_rawBuffer;
40 };
41}
42
43#endif
OffloadBuffer & operator=(const OffloadBuffer &)=delete
unsigned char * m_rawBuffer
OffloadBuffer(const DATA_EXPORT_BUFFER *pB)
OffloadBuffer(const OffloadBuffer &)=delete
unsigned char * get()
struct TrigAccel::DataExportBuffer DATA_EXPORT_BUFFER