Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VerticesHelper.hpp File Reference
#include "Acts/Definitions/Algebra.hpp"
#include "Acts/Definitions/Tolerance.hpp"
#include <algorithm>
#include <cmath>
#include <utility>
#include <vector>
+ Include dependency graph for VerticesHelper.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  Acts
 Acts includes to create all necessary definitions.
 
namespace  Acts::detail
 These functions perform the transport of a covariance matrix using given Jacobians. The required data is provided by the stepper object with some additional data. Since this is a purely algebraic problem the calculations are identical for StraightLineStepper and EigenStepper. As a consequence the methods can be located in a separate file.
 
namespace  Acts::detail::VerticesHelper
 Helper methods for polyhedron vertices drawing and inside/outside checks.
 

Functions

std::vector< ActsScalar > Acts::detail::VerticesHelper::phiSegments (ActsScalar phiMin=-M_PI, ActsScalar phiMax=M_PI, const std::vector< ActsScalar > &phiRefs={}, ActsScalar phiTolerance=1e-6)
 
template<typename vertex_t , typename transform_t >
void Acts::detail::VerticesHelper::createSegment (std::vector< vertex_t > &vertices, std::pair< ActsScalar, ActsScalar > rxy, ActsScalar phi1, ActsScalar phi2, unsigned int lseg, int addon=0, const vertex_t &offset=vertex_t::Zero(), const transform_t &transform=transform_t::Identity())
 
std::vector< Vector2 > Acts::detail::VerticesHelper::ellipsoidVertices (ActsScalar innerRx, ActsScalar innerRy, ActsScalar outerRx, ActsScalar outerRy, ActsScalar avgPhi=0., ActsScalar halfPhi=M_PI, unsigned int lseg=1)
 
std::vector< Vector2 > Acts::detail::VerticesHelper::circularVertices (ActsScalar innerR, ActsScalar outerR, ActsScalar avgPhi=0., ActsScalar halfPhi=M_PI, unsigned int lseg=1)
 
template<typename vertex_t , typename vertex_container_t >
bool Acts::detail::VerticesHelper::isInsidePolygon (const vertex_t &point, const vertex_container_t &vertices)
 
template<typename vertex_t >
bool Acts::detail::VerticesHelper::isInsideRectangle (const vertex_t &point, const vertex_t &lowerLeft, const vertex_t &upperRight)
 
bool Acts::detail::VerticesHelper::onHyperPlane (const std::vector< Vector3 > &vertices, ActsScalar tolerance=s_onSurfaceTolerance)