Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/externals/clhep/include/CLHEP/Vector/EulerAngles.h

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /externals/clhep/include/CLHEP/Vector/EulerAngles.h (Version 11.3.0) and /externals/clhep/include/CLHEP/Vector/EulerAngles.h (Version 11.2.2)


  1 // -*- C++ -*-                                      1 // -*- C++ -*-
  2 // CLASSDOC OFF                                     2 // CLASSDOC OFF
  3 // -------------------------------------------      3 // ---------------------------------------------------------------------------
  4 // CLASSDOC ON                                      4 // CLASSDOC ON
  5 //                                                  5 //
  6 // This file is a part of the CLHEP - a Class       6 // This file is a part of the CLHEP - a Class Library for High Energy Physics.
  7 //                                                  7 //
  8 // -------------------------------------------      8 // ----------------------------------------------------------------------
  9 //                                                  9 //
 10 //  EulerAngles.h   EulerAngles class --           10 //  EulerAngles.h   EulerAngles class --
 11 //        Support class for PhysicsVectors cla     11 //        Support class for PhysicsVectors classes
 12 //                                                 12 //
 13 // History:                                        13 // History:
 14 //   09-Jan-1998  WEB  FixedTypes is now found     14 //   09-Jan-1998  WEB  FixedTypes is now found in ZMutility
 15 //   12-Jan-1998  WEB  PI is now found in ZMut     15 //   12-Jan-1998  WEB  PI is now found in ZMutility
 16 //   15-Jun-1998  WEB  Added namespace support     16 //   15-Jun-1998  WEB  Added namespace support
 17 //   02-May-2000  WEB  No global using             17 //   02-May-2000  WEB  No global using
 18 //   26-Jul-2000  MF   CLHEP version               18 //   26-Jul-2000  MF   CLHEP version
 19 //                                                 19 //
 20 // -------------------------------------------     20 // ----------------------------------------------------------------------
 21                                                    21 
 22 #ifndef HEP_EULERANGLES_H                          22 #ifndef HEP_EULERANGLES_H
 23 #define HEP_EULERANGLES_H                          23 #define HEP_EULERANGLES_H
 24                                                    24 
 25 #include <iostream>                                25 #include <iostream>
 26                                                    26 
 27 namespace CLHEP {                                  27 namespace CLHEP {
 28                                                    28 
 29 // Declarations of classes and global methods      29 // Declarations of classes and global methods
 30 class HepEulerAngles;                              30 class HepEulerAngles;
 31 std::ostream & operator<<(std::ostream & os, c     31 std::ostream & operator<<(std::ostream & os, const HepEulerAngles & aa);
 32 std::istream & operator>>(std::istream & is,       32 std::istream & operator>>(std::istream & is,       HepEulerAngles & aa);
 33                                                    33 
 34 /**                                                34 /**
 35  * @author                                         35  * @author
 36  * @ingroup vector                                 36  * @ingroup vector
 37  */                                                37  */
 38 class HepEulerAngles {                             38 class HepEulerAngles {
 39                                                    39 
 40 protected:                                         40 protected:
 41   typedef HepEulerAngles EA;       // just an      41   typedef HepEulerAngles EA;       // just an abbreviation
 42   static double tolerance;      // to determin     42   static double tolerance;      // to determine relative nearness
 43                                                    43 
 44 public:                                            44 public:
 45                                                    45 
 46   // ----------  Constructors:                     46   // ----------  Constructors:
 47   inline HepEulerAngles();                         47   inline HepEulerAngles();
 48   inline HepEulerAngles( double phi, double th     48   inline HepEulerAngles( double phi, double theta, double psi );
 49                                                    49 
 50   // ----------  Destructor, copy constructor,     50   // ----------  Destructor, copy constructor, assignment:
 51   // use C++ defaults                              51   // use C++ defaults
 52                                                    52 
 53   // ----------  Accessors:                        53   // ----------  Accessors:
 54                                                    54 
 55 public:                                            55 public:
 56   inline  double  getPhi() const;                  56   inline  double  getPhi() const;
 57   inline  double  phi()    const;                  57   inline  double  phi()    const;
 58   inline  EA &       setPhi( double phi );         58   inline  EA &       setPhi( double phi );
 59                                                    59 
 60   inline  double  getTheta() const;                60   inline  double  getTheta() const;
 61   inline  double  theta()    const;                61   inline  double  theta()    const;
 62   inline  EA &       setTheta( double theta );     62   inline  EA &       setTheta( double theta );
 63                                                    63 
 64   inline  double  getPsi() const;                  64   inline  double  getPsi() const;
 65   inline  double  psi()    const;                  65   inline  double  psi()    const;
 66   inline  EA &       setPsi( double psi );         66   inline  EA &       setPsi( double psi );
 67                                                    67 
 68   inline EA & set( double phi, double theta, d     68   inline EA & set( double phi, double theta, double psi );
 69                                                    69 
 70   // ----------  Operations:                       70   // ----------  Operations:
 71                                                    71 
 72   //   comparisons:                                72   //   comparisons:
 73   inline int  compare   ( const EA & ea ) cons     73   inline int  compare   ( const EA & ea ) const;
 74                                                    74 
 75   inline bool operator==( const EA & ea ) cons     75   inline bool operator==( const EA & ea ) const;
 76   inline bool operator!=( const EA & ea ) cons     76   inline bool operator!=( const EA & ea ) const;
 77   inline bool operator< ( const EA & ea ) cons     77   inline bool operator< ( const EA & ea ) const;
 78   inline bool operator<=( const EA & ea ) cons     78   inline bool operator<=( const EA & ea ) const;
 79   inline bool operator> ( const EA & ea ) cons     79   inline bool operator> ( const EA & ea ) const;
 80   inline bool operator>=( const EA & ea ) cons     80   inline bool operator>=( const EA & ea ) const;
 81                                                    81 
 82   //   relative comparison:                        82   //   relative comparison:
 83   inline static double getTolerance();             83   inline static double getTolerance();
 84   inline static double setTolerance( double to     84   inline static double setTolerance( double tol );
 85                                                    85 
 86   bool isNear ( const EA & ea, double epsilon      86   bool isNear ( const EA & ea, double epsilon = tolerance ) const;
 87   double  howNear( const EA & ea ) const;          87   double  howNear( const EA & ea ) const;
 88                                                    88 
 89   // ----------  I/O:                              89   // ----------  I/O:
 90                                                    90 
 91   friend std::ostream & operator<<( std::ostre     91   friend std::ostream & operator<<( std::ostream & os, const EA & ea );
 92   friend std::istream & operator>>( std::istre     92   friend std::istream & operator>>( std::istream & is,       EA & ea );
 93                                                    93 
 94   // ---------- Helper methods:                    94   // ---------- Helper methods:
 95                                                    95 
 96 protected:                                         96 protected:
 97     double distance( const HepEulerAngles & ex     97     double distance( const HepEulerAngles & ex ) const;
 98                                                    98 
 99   // ----------  Data members:                     99   // ----------  Data members:
100 protected:                                        100 protected:
101   double phi_;                                    101   double phi_;
102   double theta_;                                  102   double theta_;
103   double psi_;                                    103   double psi_;
104                                                   104 
105 };  // HepEulerAngles                             105 };  // HepEulerAngles
106                                                   106 
107 }  // namespace CLHEP                             107 }  // namespace CLHEP
108                                                   108 
109 #include "CLHEP/Vector/EulerAngles.icc"           109 #include "CLHEP/Vector/EulerAngles.icc"
110                                                   110 
111 #endif // EULERANGLES_H                           111 #endif // EULERANGLES_H
112                                                   112