|
ATLAS Offline Software
|
Go to the documentation of this file.
9 #ifndef TRKDETDESCRGEOMODELCNV_VOLUMEINTERSECTION_H
10 #define TRKDETDESCRGEOMODELCNV_VOLUMEINTERSECTION_H
33 std::vector<std::pair<double, double>>
edges{};
42 EdgeCross(std::pair<int, int> ei, std::pair<double, double> ep)
58 static std::pair<bool, std::unique_ptr<Trk::Volume>>
intersect(
69 static bool inside(
const std::pair<double, double>& vtx,
70 const std::vector<std::pair<double, double>>& pgon) ;
72 static double det(
const std::pair<double, double>&
a,
73 const std::pair<double, double>&
b,
bool) ;
static Trk::PolygonCache intersectPgon(Trk::PolygonCache &, Trk::PolygonCache &)
std::pair< double, double > edge_pos
EdgeCross(std::pair< int, int > ei, std::pair< double, double > ep)
std::vector< std::pair< double, double > > edges
static std::pair< bool, std::unique_ptr< Trk::Volume > > intersect(const Volume &volA, const Volume &volB)
std::vector< bool > commonVertices
std::vector< std::pair< double, double > > xyVertices
static std::pair< bool, std::unique_ptr< Trk::Volume > > intersectApproximative(const Volume &volA, const Volume &volB)
std::pair< int, int > edge_id
static PolygonCache polygonXY(const Volume &inVol, int swap=0)
Ensure that the ATLAS eigen extensions are properly loaded.
static bool inside(const std::pair< double, double > &vtx, const std::vector< std::pair< double, double >> &pgon)
Eigen::Matrix< double, 3, 1 > Vector3D
static double det(const std::pair< double, double > &a, const std::pair< double, double > &b, bool)
std::vector< Amg::Vector3D > vertices