[Kstars-devel] kdeedu/kstars/kstars

Pablo de Vicente p.devicente at wanadoo.es
Sun Mar 20 15:30:08 CET 2005


CVS commit by pvicente: 

VLSR calculator module

Added a function TopocentricVelocity() which returns, in the parameter list, an array with thevelocity of a point on the surface of the Earth in km/s, for a given date and time. This value may
be used for computing the radial velocity of a source referred to a local point on the surface
of the Earth once the LSR velocity of that source is known. The X and Y axis are contained in
the equator and the X axis is towards the nodes line. The Z axis is along the poles.

CCMAIL: kstars-devel at kde.org


  M +20 -1     geolocation.cpp   1.13
  M +20 -6     geolocation.h   1.18


--- kdeedu/kstars/kstars/geolocation.cpp  #1.12:1.13
@@ -3,6 +3,8 @@
                              -------------------
     begin                : Sun Feb 11 2001
-    copyright            : (C) 2001 by Jason Harris
+    copyright            : (C) 2001-2005 by Jason Harris
     email                : jharris at 30doradus.org
+    copyright            : (C) 2003-2005 by Pablo de Vicente
+    email                : p.devicente at wanadoo.es
  ***************************************************************************/
 
@@ -180,2 +182,19 @@ void GeoLocation::geodToCart (void) {
         PosCartZ = (xn*(1-e2)+Height)*sinLat;
 }
+
+void GeoLocation::TopocentricVelocity(double vtopo[], dms gst) {
+        
+        double Wearth = 7.29211510e-5;     // rads/s
+        dms angularVEarth;
+        
+        dms time= GSTtoLST(gst);
+        angularVEarth.setRadians(time.Hours()*Wearth*3600.);
+        double se, ce;
+        angularVEarth.SinCos(se,ce);
+
+        double d0 = sqrt(PosCartX*PosCartX+PosCartY*PosCartY);
+        // km/s
+        vtopo[0] = d0 * Wearth * se /1000.;
+        vtopo[1] = d0 * Wearth * ce /1000.;
+        vtopo[2] = 0.;
+}

--- kdeedu/kstars/kstars/geolocation.h  #1.17:1.18
@@ -3,6 +3,8 @@
                              -------------------
     begin                : Sun Feb 11 2001
-    copyright            : (C) 2001 by Jason Harris
+    copyright            : (C) 2001-2005 by Jason Harris
     email                : jharris at 30doradus.org
+    copyright            : (C) 2003-2005 by Pablo de Vicente
+    email                : p.devicente at wanadoo.es
  ***************************************************************************/
 
@@ -102,5 +104,5 @@ public: 
         */
         const dms* lat() const { return &Latitude; }
-/**@return elevation above seal level
+/**@return elevation above seal level (meters)
         */
         double height() const { return Height; }
@@ -187,5 +189,5 @@ public: 
 
 /**Set elevation above sea level
-        *@param hg the new elevation
+        *@param hg the new elevation (meters)
         */
         void setHeight( double hg ) { 
@@ -195,5 +197,5 @@ public: 
 
 /**Set X 
-        *@param x the new x-position
+        *@param x the new x-position (meters)
         */
         void setXPos( double x ) { 
@@ -202,5 +204,5 @@ public: 
         }
 /**Set Y 
-        *@param y the new y-position
+        *@param y the new y-position (meters)
         */
         void setYPos( double y ) { 
@@ -209,5 +211,5 @@ public: 
         }
 /**Set Z 
-        *@param z the new z-position
+        *@param z the new z-position (meters)
         */
         void setZPos( double z ) { 
@@ -297,4 +299,16 @@ public: 
         KStarsDateTime LTtoUT( const KStarsDateTime &lt ) const { return lt.addSecs( int( -3600.*TZ() ) ); }
 
+
+        /* Computes the velocity in km/s of an observer on the surface of the Earth 
+         * referred to a system whose origin is the center of the Earth. The X and 
+         * Y axis are contained in the equator and the X axis is towards the nodes
+         * line. The Z axis is along the poles.
+         *
+         * @param vtopo[] Topocentric velocity. The resultant velocity is available 
+         *        in this array.
+         * @param gt. Greenwich sideral time for which we want to compute the topocentric velocity.
+         */
+        void TopocentricVelocity(double vtopo[], dms gt);
+
 private:
         dms Longitude, Latitude;




More information about the Kstars-devel mailing list