12#ifndef ALICEO2_VERTEX_H
13#define ALICEO2_VERTEX_H
20#ifndef GPUCA_GPUCODE_DEVICE
26#include <fmt/format.h>
52#if !defined(GPUCA_NO_FMT) && !defined(GPUCA_GPUCODE_DEVICE)
67 GPUd() float getSigmaX()
const {
return gpu::CAMath::Sqrt(getSigmaX2()); }
68 GPUd() float getSigmaY()
const {
return gpu::CAMath::Sqrt(getSigmaY2()); }
69 GPUd() float getSigmaZ()
const {
return gpu::CAMath::Sqrt(getSigmaZ2()); }
114 std::array<float, kNCov>
mCov{};
123template <
typename Stamp>
141#if !defined(GPUCA_NO_FMT) && !defined(GPUCA_GPUCODE_DEVICE)
156 GPUd() float getChi2()
const {
return mChi2; }
171#if !defined(GPUCA_GPUCODE_DEVICE) && !defined(GPUCA_NO_FMT)
178 { os <<
a } -> std::same_as<std::ostream&>;
183 { fmt::format(
"{}", t.getTimeStamp()) } -> std::convertible_to<std::string>;
187template <
typename Stamp>
190 const std::string stamp = [&]() -> std::string {
192 std::ostringstream oss;
196 return fmt::format(
"{}", mTimeStamp.getTimeStamp());
201 return fmt::format(
"{} NContrib:{} Chi2:{:.2f} Flags:{:b} Stamp:{}",
VertexBase::asString(), mNContributors, mChi2, mBits, stamp);
204template <
typename Stamp>
211template <
typename Stamp>
214 std::cout << *
this <<
'\n';
220#ifndef GPUCA_GPUCODE_DEVICE
typedef void(APIENTRYP PFNGLCULLFACEPROC)(GLenum mode)
GLboolean GLboolean GLboolean GLboolean a
GLdouble GLdouble GLdouble z
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
Defining DataPointCompositeObject explicitly as copiable.
VectorOfTObjectPtrs other