14 #ifndef BASICTOOL_GEOHALFLINE_H 15 #define BASICTOOL_GEOHALFLINE_H 41 HalfLine(
const double x,
const double y,
const double z,
42 const double dirx,
const double diry,
const double dirz);
50 void Start(
const double x,
const double y,
const double z);
51 void Dir (
const double x,
const double y,
const double z);
53 void Start(
const TVector3& pt );
54 void Dir (
const TVector3& dir);
69 template <
class T,
class U>
HalfLine(
const T& start,
const U& dir)
78 if(_start.size()!=3)
throw GeoAlgoException(
"<<Start>> Only 3 dimensional start point allowed!");
86 if(_dir.size()!=3)
throw GeoAlgoException(
"<<Start>> Only 3 dimensional start point allowed!");
const Point_t & Start() const
Start getter.
void Start(const T &pos)
Start setter template.
Class def header for a class GeoAlgoException.
Point_t _start
Beginning of the half line.
HalfLine(const T &start, const U &dir)
Alternative ctor using template (3)
virtual ~HalfLine()
Default destructor.
Class def header for a class Point and Vector.
void Dir(const T &dir)
Dir setter template.
const Vector_t & Dir() const
Direction getter.
void Normalize()
Normalize direction.
HalfLine()
Default constructor.
Representation of a 3D semi-infinite line. Defines a semi-infinite 3D line by having a start point (P...
Vector Vector_t
Point has same feature as Vector.
Vector_t _dir
Direction of the half line from _start.