14 #ifndef BASICTOOL_GEOHALFLINE_H 15 #define BASICTOOL_GEOHALFLINE_H 37 HalfLine(
const double x,
const double y,
const double z,
38 const double dirx,
const double diry,
const double dirz);
46 void Start(
const double x,
const double y,
const double z);
47 void Dir (
const double x,
const double y,
const double z);
49 void Start(
const TVector3&
pt );
50 void Dir (
const TVector3& dir);
65 template <
class T,
class U>
HalfLine(
const T& start,
const U& dir)
74 if(_start.size()!=3)
throw GeoAlgoException(
"<<Start>> Only 3 dimensional start point allowed!");
79 void Dir(
const T& dir)
82 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.
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.