Index: /trunk/BNC/src/pppModel.cpp
===================================================================
--- /trunk/BNC/src/pppModel.cpp	(revision 10793)
+++ /trunk/BNC/src/pppModel.cpp	(revision 10794)
@@ -554,37 +554,29 @@
     // GPS Satellite unit Vectors sz, sy, sx
     // -------------------------------------
-    ColumnVector sHlp;
-    if (!useYaw) {
-      sHlp = t_astro::Sun(etime.mjddec());
-    }
-    else {
+    ColumnVector xSun = t_astro::Sun(etime.mjddec());
+    xSun /= xSun.NormFrobenius();
+    ColumnVector sz = -rSat / rSat.NormFrobenius();
+    ColumnVector sy = crossproduct(sz, xSun);
+    ColumnVector sx = crossproduct(sy, sz);
+    
+    if (useYaw) {
       ColumnVector Omega(3);
       Omega[0] = 0.0;
       Omega[1] = 0.0;
       Omega[2] = t_CST::omega;
-      sHlp = vSat + crossproduct(Omega, rSat);
-    }
-    sHlp /= sHlp.NormFrobenius();
-
-    ColumnVector sz = -rSat / rSat.NormFrobenius();
-    ColumnVector sy = crossproduct(sz, sHlp);
-    ColumnVector sx = crossproduct(sy, sz);
-
-    //// beg test
-    // {
-    //   ColumnVector sun = t_astro::Sun(etime.mjddec());
-    //   sun /= sun.NormFrobenius();
-    //   ColumnVector syHlp = crossproduct(sz, sun);
-    //   double yawDef = acos( DotProduct(sy, syHlp));
-    //   cout.setf(ios::fixed);
-    //   cout << string(etime) << ' ' << prn.toString()
-    //        << ' ' << setw(7) << setprecision(3) << yaw    * 180.0 / M_PI
-    //        << ' ' << setw(7) << setprecision(3) << yawDef * 180.0 / M_PI << endl;
-    // }
-    //// end test
-
-    // Yaw angle consideration (Rodrigues rotation formula)
-    // ----------------------------------------------------
-    if (useYaw) {
+      ColumnVector vSatMod = vSat + crossproduct(Omega, rSat);
+      vSatMod /= vSatMod.NormFrobenius();
+      //// beg test
+      double yawDef = acos( DotProduct(sx, vSatMod));
+      cout.setf(ios::fixed);
+      cout << string(etime) << ' ' << prn.system() << ' ' << prn.number() << ' '
+           << ' ' << setw(7) << setprecision(3) << yaw    * 180.0 / M_PI
+           << ' ' << setw(7) << setprecision(3) << yawDef * 180.0 / M_PI << endl;
+      //// end test
+      sy = crossproduct(sz, vSatMod);
+      sx = crossproduct(sy, sz);
+
+      // Rodrigues rotation formula
+      // --------------------------
       double cosY = cos(yaw);
       double sinY = sin(yaw);
@@ -592,5 +584,5 @@
       sy = sy * cosY + crossproduct(sz, sy) * sinY; // + sz * DotProduct(sz, sy) * (1.0 - cosY);
     }
-    
+
     // Effective Dipole of the GPS Satellite Antenna
     // ---------------------------------------------
