source: trunk/CLHEP/Vector/AxisAngle.icc@ 14

Last change on this file since 14 was 4, checked in by Pavel Demin, 16 years ago

first commit

File size: 2.9 KB
Line 
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
21inline HepAxisAngle::HepAxisAngle() :
22 axis_( Hep3Vector(0,0,1) ), delta_( 0.0 )
23{} // HepAxisAngle::HepAxisAngle()
24
25inline HepAxisAngle::HepAxisAngle( const Hep3Vector axis, Scalar delta ) :
26 axis_( axis.unit() ), delta_( delta )
27{} // HepAxisAngle::HepAxisAngle()
28
29
30inline Hep3Vector HepAxisAngle::getAxis() const {
31 return axis_;
32} // HepAxisAngle::getAxis()
33
34inline Hep3Vector HepAxisAngle::axis() const {
35 return axis_;
36} // HepAxisAngle::axis()
37
38
39inline HepAxisAngle & HepAxisAngle::setAxis( const Hep3Vector axis ) {
40 axis_ = axis.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
54inline HepAxisAngle & HepAxisAngle::setDelta( Scalar delta ) {
55 delta_ = delta;
56 return *this;
57} // HepAxisAngle::setDelta()
58
59
60inline HepAxisAngle & HepAxisAngle::set( const Hep3Vector axis, Scalar delta ) {
61 axis_ = axis.unit();
62 delta_ = delta;
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
108inline double HepAxisAngle::getTolerance() {
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
Note: See TracBrowser for help on using the repository browser.