CLHEP 2.4.7.1
C++ Class Library for High Energy Physics
AxisAngle.icc
Go to the documentation of this file.
1#ifndef AXISANGLE_ICC
2#error "AxisAngle.icc included without AxisAngle.h"
3#endif
4
5
6// ----------------------------------------------------------------------
7//
8// AxisAngle.icc
9//
10// History:
11// 23-Jan-1998 WEB Initial draft
12// 12-Mar-1998 WEB Gave default constructor proper default values
13// 13-Mar-1998 WEB Corrected setDelta; simplified compare()
14// 17-Jun-1998 WEB Added namespace support
15// 26-Jul-2000 MF CLHEP version
16//
17// ----------------------------------------------------------------------
18
19namespace CLHEP {
20
22 axis_( Hep3Vector(0,0,1) ), delta_( 0.0 )
23{} // HepAxisAngle::HepAxisAngle()
24
25inline HepAxisAngle::HepAxisAngle( const Hep3Vector aaxis, Scalar ddelta ) :
26 axis_( aaxis.unit() ), delta_( ddelta )
27{} // HepAxisAngle::HepAxisAngle()
28
29
31 return axis_;
32} // HepAxisAngle::getAxis()
33
35 return axis_;
36} // HepAxisAngle::axis()
37
38
40 axis_ = aaxis.unit();
41 return *this;
42} // HepAxisAngle::setAxis()
43
44
45inline double HepAxisAngle::getDelta() const {
46 return delta_;
47} // HepAxisAngle::getDelta()
48
49inline double HepAxisAngle::delta() const {
50 return delta_;
51} // HepAxisAngle::delta()
52
53
55 delta_ = ddelta;
56 return *this;
57} // HepAxisAngle::setDelta()
58
59
60inline HepAxisAngle & HepAxisAngle::set( const Hep3Vector aaxis, Scalar ddelta ) {
61 axis_ = aaxis.unit();
62 delta_ = ddelta;
63 return *this;
64} // HepAxisAngle::set()
65
66
67inline int HepAxisAngle::compare( const AA & aa ) const {
68
69 return delta_ < aa.delta_ ? -1
70 : delta_ > aa.delta_ ? +1
71 : axis_ < aa.axis_ ? -1
72 : axis_ > aa.axis_ ? +1
73 : 0;
74
75} // HepAxisAngle::compare()
76
77
78inline bool HepAxisAngle::operator==( const AA & aa ) const {
79 return ( compare( aa ) == 0 );
80} // HepAxisAngle::operator==()
81
82
83inline bool HepAxisAngle::operator!=( const AA & aa ) const {
84 return ( compare( aa ) != 0 );
85} // HepAxisAngle::operator!=()
86
87
88inline bool HepAxisAngle::operator<( const AA & aa ) const {
89 return ( compare( aa ) < 0 );
90} // HepAxisAngle::operator<()
91
92
93inline bool HepAxisAngle::operator<=( const AA & aa ) const {
94 return ( compare( aa ) <= 0 );
95} // HepAxisAngle::operator<=()
96
97
98inline bool HepAxisAngle::operator>( const AA & aa ) const {
99 return ( compare( aa ) > 0 );
100} // HepAxisAngle::operator>()
101
102
103inline bool HepAxisAngle::operator>=( const AA & aa ) const {
104 return ( compare( aa ) >= 0 );
105} // HepAxisAngle::operator>=()
106
107
109 return tolerance;
110} // HepAxisAngle::getTolerance()
111
112
113inline double HepAxisAngle::setTolerance( Scalar tol ) {
114 Scalar oldTolerance( tolerance );
115 tolerance = tol;
116 return oldTolerance;
117} // HepAxisAngle::setTolerance()
118
119} // namespace CLHEP
Hep3Vector unit() const
AA & set(const Hep3Vector axis, Scalar delta)
Definition AxisAngle.icc:60
static Scalar tolerance
Definition AxisAngle.h:44
bool operator==(const AA &aa) const
Definition AxisAngle.icc:78
double getDelta() const
Definition AxisAngle.icc:45
static double setTolerance(Scalar tol)
bool operator>(const AA &aa) const
Definition AxisAngle.icc:98
AA & setAxis(const Hep3Vector axis)
Definition AxisAngle.icc:39
double delta() const
Definition AxisAngle.icc:49
bool operator>=(const AA &aa) const
Hep3Vector getAxis() const
Definition AxisAngle.icc:30
int compare(const AA &aa) const
Definition AxisAngle.icc:67
AA & setDelta(Scalar delta)
Definition AxisAngle.icc:54
bool operator<(const AA &aa) const
Definition AxisAngle.icc:88
HepAxisAngle AA
Definition AxisAngle.h:43
bool operator<=(const AA &aa) const
Definition AxisAngle.icc:93
Hep3Vector axis() const
Definition AxisAngle.icc:34
bool operator!=(const AA &aa) const
Definition AxisAngle.icc:83
static double getTolerance()