All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
sbncode/sbncode/OpT0Finder/flashmatch/GeoAlgo/GeoDirectedLine.h
Go to the documentation of this file.
1 /**
2  * \file GeoDirectedLine.h
3  *
4  * \ingroup GeoAlgo
5  *
6  * \brief Class def header for a class DirectedLine
7  *
8  * @author David Caratelli
9  */
10 
11 /** \addtogroup GeoAlgo
12 
13  @{*/
14 #ifndef BASICTOOL_GEODIRECTEDLINE_H
15 #define BASICTOOL_GEODIRECTEDLINE_H
16 
17 #include "GeoLine.h"
18 
19 namespace geoalgo {
20  /**
21  \class DirectedLine
22  @brief Representation of a 3D infinite line.
23  Defines an infinite 3D line with a point and a direction.
24  Line points are constructed like this:
25  (pt, dir) -> (pt, pt+dir)
26  It hides the point attributes from users for protecting the dimensionality.
27  */
28  class DirectedLine : public Line {
29 
30  public:
31 
32  /// Default ctor
33  DirectedLine();
34 
35  /// Alternative ctor (1)
36  DirectedLine(const double x, const double y, const double z,
37  const double dirx, const double diry, const double dirz);
38 
39  /// Altenartive ctor (2)
40  DirectedLine(const Point_t& pt, const Vector_t& dir);
41 
42  /// Alternative ctor (3)
43  DirectedLine(const HalfLine& l);
44 
45  /// Alternative ctor using template (3)
46  template <class T, class U> DirectedLine(const T& pt, const U& dir)
47  : Line(Point_t(pt), Point_t(pt+dir))
48  {}
49 
50  Vector_t Dir() const;
51 
52  };
53 
54  typedef DirectedLine DirectedLine_t;
55 }
56 #endif
57 /** @} */ // end of doxygen group
58 
process_name opflash particleana ie ie ie z
DirectedLine(const T &pt, const U &dir)
Alternative ctor using template (3)
process_name opflash particleana ie x
recob::tracking::Point_t Point_t
process_name opflash particleana ie ie y
Representation of a 3D infinite line. Defines an infinite 3D line by having 2 points which completely...
tuple dir
Definition: dropbox.py:28
recob::tracking::Vector_t Vector_t