2// ---------------------------------------------------------------------------
4// This file is a part of the CLHEP - a Class Library for High Energy Physics.
6// ----------------------------------------------------------------------
8// ----------------------------------------------------------------------
13// 23-Jan-1998 WEB Initial draft
14// 12-Mar-1998 WEB Gave default constructor proper default values
15// 13-Mar-1998 WEB Corrected setDelta; simplified compare()
16// 17-Jun-1998 WEB Added namespace support
17// 26-Jul-2000 MF CLHEP version
19// ----------------------------------------------------------------------
23inline HepAxisAngle::HepAxisAngle() :
24 axis_( Hep3Vector(0,0,1) ), delta_( 0.0 )
25{} // HepAxisAngle::HepAxisAngle()
27inline HepAxisAngle::HepAxisAngle( const Hep3Vector aaxis, Scalar ddelta ) :
28 axis_( aaxis.unit() ), delta_( ddelta )
29{} // HepAxisAngle::HepAxisAngle()
32inline Hep3Vector HepAxisAngle::getAxis() const {
34} // HepAxisAngle::getAxis()
36inline Hep3Vector HepAxisAngle::axis() const {
38} // HepAxisAngle::axis()
41inline HepAxisAngle & HepAxisAngle::setAxis( const Hep3Vector aaxis ) {
44} // HepAxisAngle::setAxis()
47inline double HepAxisAngle::getDelta() const {
49} // HepAxisAngle::getDelta()
51inline double HepAxisAngle::delta() const {
53} // HepAxisAngle::delta()
56inline HepAxisAngle & HepAxisAngle::setDelta( Scalar ddelta ) {
59} // HepAxisAngle::setDelta()
62inline HepAxisAngle & HepAxisAngle::set( const Hep3Vector aaxis, Scalar ddelta ) {
66} // HepAxisAngle::set()
69inline int HepAxisAngle::compare( const AA & aa ) const {
71 return delta_ < aa.delta_ ? -1
72 : delta_ > aa.delta_ ? +1
73 : axis_ < aa.axis_ ? -1
74 : axis_ > aa.axis_ ? +1
77} // HepAxisAngle::compare()
80inline bool HepAxisAngle::operator==( const AA & aa ) const {
81 return ( compare( aa ) == 0 );
82} // HepAxisAngle::operator==()
85inline bool HepAxisAngle::operator!=( const AA & aa ) const {
86 return ( compare( aa ) != 0 );
87} // HepAxisAngle::operator!=()
90inline bool HepAxisAngle::operator<( const AA & aa ) const {
91 return ( compare( aa ) < 0 );
92} // HepAxisAngle::operator<()
95inline bool HepAxisAngle::operator<=( const AA & aa ) const {
96 return ( compare( aa ) <= 0 );
97} // HepAxisAngle::operator<=()
100inline bool HepAxisAngle::operator>( const AA & aa ) const {
101 return ( compare( aa ) > 0 );
102} // HepAxisAngle::operator>()
105inline bool HepAxisAngle::operator>=( const AA & aa ) const {
106 return ( compare( aa ) >= 0 );
107} // HepAxisAngle::operator>=()
110inline double HepAxisAngle::getTolerance() {
112} // HepAxisAngle::getTolerance()
115inline double HepAxisAngle::setTolerance( Scalar tol ) {
116 Scalar oldTolerance( tolerance );
119} // HepAxisAngle::setTolerance()