HerdSoftware  0.4.0
GeomUtils.h
Go to the documentation of this file.
1 /*
2  * GeomUtils.h
3  *
4  * Created on: 4 March 2022
5  * Author: Valerio Formato
6  */
7 
8 #ifndef HERD_GEOMUTILS_H
9 #define HERD_GEOMUTILS_H
10 
11 // HerdSoftware headers
17 
18 namespace Herd::Geom {
19 
26 Point ProjectPointToLine(const Point &point, const Line &line);
27 
34 bool IsInsideCaloEnvelope(const Point &point, const CaloGeoParams &geoParams);
35 
45 std::optional<Segment> PathInCaloLyso(const Line &line, const CaloGeoParams &geoParams);
46 
58 std::optional<Segment> PathInCaloEnvelope(const Line &line, const CaloGeoParams &geoParams);
59 
69 float DistanceToCaloEnvelope(const Point &point, const CaloGeoParams &geoParams);
70 
80 float CaloPathlengthAfterPoint(const Point &startingPoint, const Vec3D &direction, const CaloGeoParams &geoParams);
81 
82 } // namespace Herd::Geom
83 
84 #endif
Segment.h
Point.h
Herd::Geom::DistanceToCaloEnvelope
float DistanceToCaloEnvelope(const Point &point, const CaloGeoParams &geoParams)
Computes the distance of a point from the CALO envelope.
Definition: GeomUtils.cpp:248
Herd::Vec3D
A class describing a vector in 3D space.
Definition: Vec3D.h:33
Herd::Line
Class describing a line in the 3D space.
Definition: Line.h:37
IntersectionUtils.hpp
Herd::Geom
Definition: GeomUtils.h:18
Herd::Geom::PathInCaloEnvelope
std::optional< Segment > PathInCaloEnvelope(const Line &line, const CaloGeoParams &geoParams)
Computes the path of the given line in the CALO envelope.
Definition: GeomUtils.cpp:511
Line.h
Herd::Geom::CaloPathlengthAfterPoint
float CaloPathlengthAfterPoint(const Point &startingPoint, const Vec3D &direction, const CaloGeoParams &geoParams)
Computes the distance between a point inside CALO and the CALO border along a given direction.
Definition: GeomUtils.cpp:258
Herd::Geom::PathInCaloLyso
std::optional< Segment > PathInCaloLyso(const Line &line, const CaloGeoParams &geoParams)
Computes the path of the given line in LYSO.
Definition: GeomUtils.cpp:24
Herd::CaloGeoParams
Data structure for the Calo geometry parameters.
Definition: CaloGeoParams.h:35
CaloGeoParams.h
Herd::Geom::IsInsideCaloEnvelope
bool IsInsideCaloEnvelope(const Point &point, const CaloGeoParams &geoParams)
Checks if a point is inside the CALO envelope.
Definition: GeomUtils.cpp:133
Herd::Geom::ProjectPointToLine
Point ProjectPointToLine(const Point &point, const Line &line)
Finds the projection of a point to a line.
Definition: GeomUtils.cpp:19