HerdSoftware  0.3.2
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
13 #include "dataobjects/Line.h"
14 #include "dataobjects/Point.h"
15 #include "dataobjects/Segment.h"
16 
17 namespace Herd {
18 namespace Geom {
19 
26 Point ProjectPointToLine(const Point &point, const Line &line);
27 
34 bool IsInsideCaloEnvelope(const Point &point, const CaloGeoParams &geoParams);
35 
45 Segment PathInCaloLyso(const Line &line, const CaloGeoParams &geoParams);
46 
58 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 Geom
83 } // namespace Herd
84 
85 #endif
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:24
Segment PathInCaloLyso(const Line &line, const CaloGeoParams &geoParams)
Computes the path of the given line in LYSO.
Definition: GeomUtils.cpp:26
float DistanceToCaloEnvelope(const Point &point, const CaloGeoParams &geoParams)
Computes the distance of a point from the CALO envelope.
Definition: GeomUtils.cpp:249
Point ProjectPointToLine(const Point &point, const Line &line)
Finds the projection of a point to a line.
Definition: GeomUtils.cpp:20
bool IsInsideCaloEnvelope(const Point &point, const CaloGeoParams &geoParams)
Checks if a point is inside the CALO envelope.
Definition: GeomUtils.cpp:134
A class describing a vector in 3D space.
Definition: Vec3D.h:33
Data structure for the Calo geometry parameters.
Definition: CaloGeoParams.h:34
Class describing a line in the 3D space.
Definition: Line.h:34
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:259
Segment PathInCaloEnvelope(const Line &line, const CaloGeoParams &geoParams)
Computes the path of the given line in the CALO envelope.
Definition: GeomUtils.cpp:489
Definition: Segment.h:17