15#ifndef GPUO2INTERFACEUTILS_H
16#define GPUO2INTERFACEUTILS_H
23struct InteractionRecord;
30class CalibdEdxContainer;
40struct GPUO2InterfaceConfiguration;
42struct TPCPadGainCalib;
56 return (5.00668f / 30000.f) *
src.getL3Current();
58 static std::unique_ptr<GPUParam>
getFullParam(
float solenoidBz, uint32_t nHbfPerTf = 0, std::unique_ptr<GPUO2InterfaceConfiguration>* pConfiguration =
nullptr, std::unique_ptr<GPUSettingsO2>* pO2Settings =
nullptr,
bool* autoMaxTimeBin =
nullptr);
59 static std::shared_ptr<GPUParam>
getFullParamShared(
float solenoidBz, uint32_t nHbfPerTf = 0, std::unique_ptr<GPUO2InterfaceConfiguration>* pConfiguration =
nullptr, std::unique_ptr<GPUSettingsO2>* pO2Settings =
nullptr,
bool* autoMaxTimeBin =
nullptr);
66 void DecodePage(std::vector<o2::tpc::Digit>& outputBuffer,
const void* page, uint32_t tfFirstOrbit,
const GPUParam*
param, uint32_t triggerBC = 0);
69 std::vector<std::function<
void(std::vector<o2::tpc::Digit>&,
const void*, uint32_t, uint32_t)>> mDecoders;
void DecodePage(std::vector< o2::tpc::Digit > &outputBuffer, const void *page, uint32_t tfFirstOrbit, const GPUParam *param, uint32_t triggerBC=0)
static std::unique_ptr< TPCPadGainCalib > getPadGainCalibDefault()
static void paramUseExternalOccupancyMap(GPUParam *param, uint32_t nHbfPerTf, const uint32_t *occupancymap, int32_t occupancyMapSize)
static void RunZSEncoder(const S &in, std::unique_ptr< uint64_t[]> *outBuffer, uint32_t *outSizes, o2::raw::RawFileWriter *raw, const o2::InteractionRecord *ir, GPUO2InterfaceConfiguration &config, int32_t version, bool verify, bool padding=false, std::function< void(std::vector< o2::tpc::Digit > &)> digitsFilter=nullptr)
static std::unique_ptr< TPCPadGainCalib > getPadGainCalib(const o2::tpc::CalDet< float > &in)
static uint32_t getTpcMaxTimeBinFromNHbf(uint32_t nHbf)
static float getNominalGPUBz(T &src)
static std::unique_ptr< GPUParam > getFullParam(float solenoidBz, uint32_t nHbfPerTf=0, std::unique_ptr< GPUO2InterfaceConfiguration > *pConfiguration=nullptr, std::unique_ptr< GPUSettingsO2 > *pO2Settings=nullptr, bool *autoMaxTimeBin=nullptr)
static std::unique_ptr< o2::tpc::CalibdEdxContainer > getCalibdEdxContainerDefault()
static std::shared_ptr< GPUParam > getFullParamShared(float solenoidBz, uint32_t nHbfPerTf=0, std::unique_ptr< GPUO2InterfaceConfiguration > *pConfiguration=nullptr, std::unique_ptr< GPUSettingsO2 > *pO2Settings=nullptr, bool *autoMaxTimeBin=nullptr)
static void RunZSEncoder(const S &in, std::unique_ptr< uint64_t[]> *outBuffer, uint32_t *outSizes, o2::raw::RawFileWriter *raw, const o2::InteractionRecord *ir, int32_t version, bool verify, float threshold=0.f, bool padding=false, std::function< void(std::vector< o2::tpc::Digit > &)> digitsFilter=nullptr)
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)