Home
Install
Use
Develop
Support
News
Credits
hosted by
|
22 Cartesian ( double ux = 0.0, double uy = 0.0, double uz = 0.0)
25 Cartesian ( const Cartesian& u)
26 { x=u.x; y=u.y; z=u.z; }
28 Cartesian ( const AnglePair& spherical);
30 Cartesian & operator = ( const Cartesian& u)
31 { x=u.x; y=u.y; z=u.z; return * this; }
33 Cartesian & operator += ( const Cartesian& u)
34 { x+=u.x; y+=u.y; z+=u.z; return * this; }
36 Cartesian & operator -= ( const Cartesian& u)
37 { x-=u.x; y-=u.y; z-=u.z; return * this; }
39 Cartesian & operator *= ( double a)
40 { x*=a; y*=a; z*=a; return * this; }
42 Cartesian & operator /= ( double a)
43 { return operator *= (1.0/a); }
45 double& operator[] ( int d)
51 const double& operator [] ( int d) const
54 const friend Cartesian operator + (Cartesian a, const Cartesian& b)
57 const friend Cartesian operator - (Cartesian a, const Cartesian& b)
60 const friend Cartesian operator - ( const Cartesian& b)
61 { return Cartesian (-b.x, -b.y, -b.z); }
63 const friend Cartesian operator * (Cartesian a, double c)
66 const friend Cartesian operator / (Cartesian a, double c)
69 const friend Cartesian operator * ( double a, const Cartesian& v)
73 const friend Cartesian pdiv ( const Cartesian &, const Cartesian &);
75 const friend Cartesian pmult ( const Cartesian &, const Cartesian &);
78 const friend Cartesian cross ( const Cartesian& c1, const Cartesian& c2)
79 { return Cartesian ( c1.y * c2.z - c1.z * c2.y,
80 c1.z * c2.x - c1.x * c2.z,
81 c1.x * c2.y - c1.y * c2.x ); }
84 const friend Cartesian operator % ( const Cartesian &, const Cartesian &);
86 friend double operator * ( const Cartesian &, const Cartesian &);
88 friend int operator == ( const Cartesian &, const Cartesian &);
89 friend int operator != ( const Cartesian &, const Cartesian &);
91 friend Cartesian min ( const Cartesian& cart1, const Cartesian& cart2);
92 friend Cartesian max ( const Cartesian& cart1, const Cartesian& cart2);
93 friend void diagonalize (Cartesian& bottom_left, Cartesian& upper_right);
95 double modSquared () const
96 { return x*x + y*y + z*z; }
99 { return sqrt (x*x + y*y + z*z); }
102 void x_rot ( const Angle& phi);
103 void y_rot ( const Angle& phi);
104 void z_rot ( const Angle& phi);
107 void rot ( const Cartesian& r_vect, const Angle& phi);
109 static Angle angularSeparation ( const Cartesian& c1, const Cartesian& c2);
111 static void rotate ( double& x1, double& x2, double radians);
115std::ostream& operator<< (std::ostream& ostr, const Cartesian&);
Generated using doxygen 1.14.0
|