00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 namespace CLHEP {
00022
00023 inline HepAxisAngle::HepAxisAngle() :
00024 axis_( Hep3Vector(0,0,1) ), delta_( 0.0 )
00025 {}
00026
00027 inline HepAxisAngle::HepAxisAngle( const Hep3Vector aaxis, Scalar ddelta ) :
00028 axis_( aaxis.unit() ), delta_( ddelta )
00029 {}
00030
00031
00032 inline Hep3Vector HepAxisAngle::getAxis() const {
00033 return axis_;
00034 }
00035
00036 inline Hep3Vector HepAxisAngle::axis() const {
00037 return axis_;
00038 }
00039
00040
00041 inline HepAxisAngle & HepAxisAngle::setAxis( const Hep3Vector aaxis ) {
00042 axis_ = aaxis.unit();
00043 return *this;
00044 }
00045
00046
00047 inline double HepAxisAngle::getDelta() const {
00048 return delta_;
00049 }
00050
00051 inline double HepAxisAngle::delta() const {
00052 return delta_;
00053 }
00054
00055
00056 inline HepAxisAngle & HepAxisAngle::setDelta( Scalar ddelta ) {
00057 delta_ = ddelta;
00058 return *this;
00059 }
00060
00061
00062 inline HepAxisAngle & HepAxisAngle::set( const Hep3Vector aaxis, Scalar ddelta ) {
00063 axis_ = aaxis.unit();
00064 delta_ = ddelta;
00065 return *this;
00066 }
00067
00068
00069 inline int HepAxisAngle::compare( const AA & aa ) const {
00070
00071 return delta_ < aa.delta_ ? -1
00072 : delta_ > aa.delta_ ? +1
00073 : axis_ < aa.axis_ ? -1
00074 : axis_ > aa.axis_ ? +1
00075 : 0;
00076
00077 }
00078
00079
00080 inline bool HepAxisAngle::operator==( const AA & aa ) const {
00081 return ( compare( aa ) == 0 );
00082 }
00083
00084
00085 inline bool HepAxisAngle::operator!=( const AA & aa ) const {
00086 return ( compare( aa ) != 0 );
00087 }
00088
00089
00090 inline bool HepAxisAngle::operator<( const AA & aa ) const {
00091 return ( compare( aa ) < 0 );
00092 }
00093
00094
00095 inline bool HepAxisAngle::operator<=( const AA & aa ) const {
00096 return ( compare( aa ) <= 0 );
00097 }
00098
00099
00100 inline bool HepAxisAngle::operator>( const AA & aa ) const {
00101 return ( compare( aa ) > 0 );
00102 }
00103
00104
00105 inline bool HepAxisAngle::operator>=( const AA & aa ) const {
00106 return ( compare( aa ) >= 0 );
00107 }
00108
00109
00110 inline double HepAxisAngle::getTolerance() {
00111 return tolerance;
00112 }
00113
00114
00115 inline double HepAxisAngle::setTolerance( Scalar tol ) {
00116 Scalar oldTolerance( tolerance );
00117 tolerance = tol;
00118 return oldTolerance;
00119 }
00120
00121 }