15#ifndef GPURECONSTRUCTIONCONVERT_H
16#define GPURECONSTRUCTIONCONVERT_H
25struct InteractionRecord;
29struct ClusterNativeAccess;
43struct GPUTPCClusterData;
44class TPCFastTransform;
45struct GPUTrackingInOutDigits;
46struct GPUTrackingInOutZS;
55 static void RunZSEncoder(
const S& in, std::unique_ptr<uint64_t[]>* outBuffer, uint32_t* outSizes,
o2::raw::RawFileWriter* raw,
const o2::InteractionRecord*
ir,
const GPUParam&
param, int32_t
version,
bool verify,
float threshold = 0.f,
bool padding =
false, std::function<
void(std::vector<o2::tpc::Digit>&)> digitsFilter =
nullptr);
static void RunZSEncoder(const S &in, std::unique_ptr< uint64_t[]> *outBuffer, uint32_t *outSizes, o2::raw::RawFileWriter *raw, const o2::InteractionRecord *ir, const GPUParam ¶m, int32_t version, bool verify, float threshold=0.f, bool padding=false, std::function< void(std::vector< o2::tpc::Digit > &)> digitsFilter=nullptr)
static void ConvertNativeToClusterData(o2::tpc::ClusterNativeAccess *native, std::unique_ptr< GPUTPCClusterData[]> *clusters, uint32_t *nClusters, const TPCFastTransform *transform, int32_t continuousMaxTimeBin=0)
static void RunZSFilter(std::unique_ptr< o2::tpc::Digit[]> *buffers, const o2::tpc::Digit *const *ptrs, size_t *nsb, const size_t *ns, const GPUParam ¶m, bool zs12bit, float threshold)
static std::function< void(std::vector< o2::tpc::Digit > &, const void *, uint32_t, uint32_t)> GetDecoder(int32_t version, const GPUParam *param)
static int32_t GetMaxTimeBin(const o2::tpc::ClusterNativeAccess &native)
static constexpr uint32_t NSECTORS
static void RunZSEncoderCreateMeta(const uint64_t *buffer, const uint32_t *sizes, void **ptrs, GPUTrackingInOutZS *out)
static void ConvertRun2RawToNative(o2::tpc::ClusterNativeAccess &native, std::unique_ptr< o2::tpc::ClusterNative[]> &nativeBuffer, const AliHLTTPCRawCluster **rawClusters, uint32_t *nRawClusters)
GLuint GLsizei const GLuint const GLintptr const GLsizeiptr * sizes
typedef void(APIENTRYP PFNGLCULLFACEPROC)(GLenum mode)
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
o2::InteractionRecord ir(0, 0)
std::vector< Cluster > clusters
std::vector< Digit > digits