15#ifndef O2_MCH_CONTOUR_VERTEX_H
16#define O2_MCH_CONTOUR_VERTEX_H
45 for (
auto i = 0;
i < vertices.size(); ++
i) {
46 os << std::setw(5) << vertices[
i].x <<
" " << std::setw(5) << vertices[
i].y;
47 if (
i < vertices.size() - 1) {
100 return {
a.
x -
b.x,
a.y -
b.y};
107 return a.x *
b.x +
a.y *
b.y;
118 ->
decltype(p0.x *
p1.x)
149 return !(lhs == rhs);
bool const GPUTPCGMMerger::trackCluster * c1
bool const GPUTPCGMMerger::trackCluster const clcomparestruct * c2
constexpr int p1()
constexpr to accelerate the coordinates changing
GLboolean GLboolean GLboolean b
GLboolean GLboolean GLboolean GLboolean a
GLubyte GLubyte GLubyte GLubyte w
bool areEqual(double a, double b)
Vertex< T > operator-(const Vertex< T > &a, const Vertex< T > &b)
bool operator<(const Vertex< T > &lhs, const Vertex< T > &rhs)
auto squaredDistance(const Vertex< T > &a, const Vertex< T > &b) -> decltype(a.x *b.x)
auto squaredDistanceOfPointToSegment(const Vertex< T > &p, const Vertex< T > &p0, const Vertex< T > &p1) -> decltype(p0.x *p1.x)
bool operator>(const Vertex< T > &lhs, const Vertex< T > &rhs)
bool isHorizontal(const Vertex< T > &a, const Vertex< T > &b)
bool operator>=(const Vertex< T > &lhs, const Vertex< T > &rhs)
bool operator!=(const Contour< T > &lhs, const Contour< T > &rhs)
bool operator==(const Contour< T > &lhs, const Contour< T > &rhs)
auto dot(const Vertex< T > &a, const Vertex< T > &b) -> decltype(a.x *b.x)
std::ostream & operator<<(std::ostream &os, const std::vector< o2::mch::contour::Polygon< T > > &polygons)
bool operator<=(const Vertex< T > &lhs, const Vertex< T > &rhs)
bool isVertical(const Vertex< T > &a, const Vertex< T > &b)
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...