LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
Representation of a 3D semi-infinite line. Defines a 3D cone with the following properties:
Start point (or vertex), Direction, Length (or Length), Radius, opening angle
When 2 of Length, Radius, opening angle are defined the third is automatically set.
More...
#include "GeoCone.h"
Public Member Functions | |
Cone () | |
Default constructor. More... | |
virtual | ~Cone () |
Default destructor. More... | |
Cone (const double x, const double y, const double z, const double dirx, const double diry, const double dirz, const double length, const double radius) | |
Alternative ctor (1) More... | |
Cone (const Point_t &start, const Vector_t &dir, const double length, const double radius) | |
Alternative ctor (2) More... | |
double | Length () const |
Length getter. More... | |
double | Radius () const |
Length getter. More... | |
double | Angle () const |
Angle getter. More... | |
void | Length (const double l) |
Length setter. More... | |
void | Radius (const double r) |
Radius setter. More... | |
template<class T , class U > | |
Cone (const T &start, const U &dir) | |
Alternative ctor using template (3) More... | |
const Point_t & | Start () const |
Start getter. More... | |
void | Start (const double x, const double y, const double z) |
Start setter. More... | |
void | Start (const TVector3 &pt) |
Start setter. More... | |
template<class T > | |
void | Start (const T &pos) |
Start setter template. More... | |
const Vector_t & | Dir () const |
Direction getter. More... | |
void | Dir (const double x, const double y, const double z) |
Dir setter. More... | |
void | Dir (const TVector3 &dir) |
Dir setter. More... | |
template<class T > | |
void | Dir (const T &dir) |
Dir setter template. More... | |
Protected Member Functions | |
void | Normalize () |
Normalize direction. More... | |
Protected Attributes | |
double | _length |
Helight (length) of the cone. More... | |
double | _radius |
Radius of the cone at the base. More... | |
double | _angle |
Opening Angle. More... | |
Point_t | _start |
Beginning of the half line. More... | |
Vector_t | _dir |
Direction of the half line from _start. More... | |
Representation of a 3D semi-infinite line. Defines a 3D cone with the following properties:
Start point (or vertex), Direction, Length (or Length), Radius, opening angle
When 2 of Length, Radius, opening angle are defined the third is automatically set.
geoalgo::Cone::Cone | ( | ) |
|
inlinevirtual |
geoalgo::Cone::Cone | ( | const double | x, |
const double | y, | ||
const double | z, | ||
const double | dirx, | ||
const double | diry, | ||
const double | dirz, | ||
const double | length, | ||
const double | radius | ||
) |
geoalgo::Cone::Cone | ( | const Point_t & | start, |
const Vector_t & | dir, | ||
const double | length, | ||
const double | radius | ||
) |
|
inline |
double geoalgo::Cone::Angle | ( | ) | const |
|
inherited |
Direction getter.
Definition at line 33 of file GeoHalfLine.cxx.
References geoalgo::HalfLine::_dir.
Referenced by geoalgo::GeoAlgo::_ClosestPt_(), geoalgo::GeoAlgo::_commonOrigin_(), geoalgo::GeoAlgo::_SqDist_(), geoalgo::GeoObjCollection::Add(), geoalgo::GeoAlgo::Intersection(), and geoalgo::HalfLine::~HalfLine().
|
inherited |
Dir setter.
Definition at line 45 of file GeoHalfLine.cxx.
References geoalgo::HalfLine::_dir, geoalgo::HalfLine::Normalize(), x, y, and z.
|
inherited |
Dir setter.
Definition at line 60 of file GeoHalfLine.cxx.
References geoalgo::HalfLine::_dir, and geoalgo::HalfLine::Normalize().
|
inlineinherited |
Dir setter template.
Definition at line 85 of file GeoHalfLine.h.
References geoalgo::HalfLine::Normalize().
double geoalgo::Cone::Length | ( | ) | const |
Length getter.
Definition at line 51 of file GeoCone.cxx.
References _length.
Referenced by geoalgo::GeoObjCollection::Add(), and ~Cone().
void geoalgo::Cone::Length | ( | const double | l | ) |
|
protectedinherited |
Normalize direction.
Definition at line 68 of file GeoHalfLine.cxx.
References geoalgo::HalfLine::_dir, and geoalgo::Vector::Length().
Referenced by geoalgo::HalfLine::Dir(), geoalgo::HalfLine::HalfLine(), and geoalgo::HalfLine::~HalfLine().
double geoalgo::Cone::Radius | ( | ) | const |
Length getter.
Definition at line 56 of file GeoCone.cxx.
References _radius.
Referenced by ~Cone().
void geoalgo::Cone::Radius | ( | const double | r | ) |
|
inherited |
Start getter.
Definition at line 28 of file GeoHalfLine.cxx.
References geoalgo::HalfLine::_start.
Referenced by geoalgo::GeoAlgo::_ClosestPt_(), geoalgo::GeoAlgo::_commonOrigin_(), geoalgo::GeoAlgo::_SqDist_(), geoalgo::GeoObjCollection::Add(), geoalgo::GeoAlgo::BoxOverlap(), geoalgo::GeoAlgo::ClosestPt(), geoalgo::GeoAlgo::commonOrigin(), geoalgo::GeoAlgo::Intersection(), geoalgo::GeoAlgo::SqDist(), and geoalgo::HalfLine::~HalfLine().
|
inherited |
Start setter.
Definition at line 38 of file GeoHalfLine.cxx.
References geoalgo::HalfLine::_start, x, y, and z.
|
inherited |
|
inlineinherited |
|
protected |
|
protectedinherited |
Direction of the half line from _start.
Definition at line 62 of file GeoHalfLine.h.
Referenced by geoalgo::HalfLine::Dir(), and geoalgo::HalfLine::Normalize().
|
protected |
|
protected |
|
protectedinherited |
Beginning of the half line.
Definition at line 61 of file GeoHalfLine.h.
Referenced by geoalgo::HalfLine::Start().