Line.h
Go to the documentation of this file.
1 #ifndef _utl_Line_h_
2 #define _utl_Line_h_
3 
4 #include <utl/Point.h>
5 #include <utl/Vector.h>
6 #include <utl/Plane.h>
7 
8 
9 namespace utl {
10 
17  class Line {
18  public:
19  Line(const Point& anchor, const Vector& direction);
20 
21  const Point& GetAnchor() const { return fAnchor; }
22  const Vector& GetDirection() const { return fDirection; }
23 
25  { return Plane(fAnchor, fDirection); }
26  Plane GetPerpendicularPlane(const Point& anchor) const
27  { return Plane(anchor, fDirection); }
28 
29  Point Propagate(const double s) const
30  { return fAnchor + s*fDirection; }
31 
32  private:
35  };
36 
37 }
38 
39 
40 #endif
double Plane(const utl::Point &point, const utl::Vector &normal, const utl::Photon &photonIn, utl::Photon &photonOut)
Definition: RTFunctions.cc:41
Point object.
Definition: Point.h:32
Vector fDirection
Definition: Line.h:34
Line(const Point &anchor, const Vector &direction)
Definition: Line.cc:10
constexpr double s
Definition: AugerUnits.h:163
Class describing a Plane object.
Definition: Plane.h:17
Point Propagate(const double s) const
Definition: Line.h:29
Plane GetPerpendicularPlane() const
Definition: Line.h:24
Point fAnchor
Definition: Line.h:33
Vector object.
Definition: Vector.h:30
const Vector & GetDirection() const
Definition: Line.h:22
Plane GetPerpendicularPlane(const Point &anchor) const
Definition: Line.h:26
const Point & GetAnchor() const
Definition: Line.h:21
Definition: Line.h:17

, generated on Tue Sep 26 2023.