Index: trunk/MagicSoft/Cosy/gui/MGAccuracy.cc
===================================================================
--- trunk/MagicSoft/Cosy/gui/MGAccuracy.cc	(revision 7787)
+++ trunk/MagicSoft/Cosy/gui/MGAccuracy.cc	(revision 7788)
@@ -20,4 +20,5 @@
 #include "coord.h"
 #include "MTime.h"
+#include "MAstro.h"
 
 ClassImp(MGAccuracy);
@@ -238,29 +239,5 @@
 void MGAccuracy::Update(Float_t pzd, Float_t azd, Float_t aaz)
 {
-    const Float_t d2r = TMath::Pi()/180.;
-
-    pzd *= d2r;
-    azd *= d2r;
-    aaz *= d2r;
-
-    const double el = TMath::Pi()/2-pzd;
-
-    const double dphi2 = aaz/2.;
-    const double cos2  = cos(dphi2)*cos(dphi2);
-    const double sin2  = sin(dphi2)*sin(dphi2);
-    const double d     = cos(azd)*cos2 - cos(2*el)*sin2;
-
-    //
-    // Original:
-    //   cos(Zd1)*cos(Zd2)+sin(Zd1)*sin(Zd2)*cos(dAz)
-    //
-    // Correct:
-    //   const double d = cos(azd)*cos2 - cos(el1+el2)*sin2;
-    //
-    // Estimated:
-    //   const double d = cos(azd)*cos2 - cos(2*el)*sin2;
-    //
-
-    double dist = acos(d)*TMath::RadToDeg();
+    const double dist = MAstro::GetDevAbs(pzd, azd, aaz);
 
     UpdateText(dist);
@@ -303,8 +280,13 @@
 }
 
-void MGAccuracy::Update(ZdAz &pos, ZdAz &acc)
-{
-    UpdateCross(acc.Az()*3600., acc.Zd()*3600.);
-    Update(pos.Zd(), acc.Zd(), acc.Az());
+void MGAccuracy::Update(ZdAz &pos, ZdAz &dev)
+{
+    // Estimate the distance in az direction on the camera plane
+    const double daz = MAstro::GetDevAbs(pos.Zd(), 0, dev.Az())*3600.;
+
+    //cout << "--> T: " << dev.Az()*60 << " " << dev.Zd()*60. << endl;
+
+    UpdateCross(TMath::Sign(daz, dev.Az()), dev.Zd()*3600.);
+    Update(pos.Zd(), dev.Zd(), dev.Az());
 
     UpdateCanvas();
Index: trunk/MagicSoft/Cosy/gui/MGStarg.cc
===================================================================
--- trunk/MagicSoft/Cosy/gui/MGStarg.cc	(revision 7787)
+++ trunk/MagicSoft/Cosy/gui/MGStarg.cc	(revision 7788)
@@ -16,4 +16,5 @@
 #include "coord.h"
 #include "MTime.h"
+#include "MAstro.h"
 
 ClassImp(MGStarg);
@@ -36,11 +37,11 @@
     text.SetTextAlign(11);  // left, bottom (s.TAttText)
     text.SetTextColor(3);
-    text.DrawText(160, -220, "0.0125 deg");
+    text.DrawText(220, -220, "0.75'");
 
     text.SetTextColor(5);
-    text.DrawText(160, -250, "0.025 deg");
+    text.DrawText(220, -250, "1.50'");
 
     text.SetTextColor(2);
-    text.DrawText(160, -280, "0.05 deg");
+    text.DrawText(220, -280, "3.00'");
 
 
@@ -218,18 +219,5 @@
 void MGStarg::Update(Float_t pzd, Float_t azd, Float_t aaz)
 {
-    const Float_t d2r = TMath::Pi()/180.;
-
-    pzd *= d2r;
-    azd *= d2r;
-    aaz *= d2r;
-
-    const double el = TMath::Pi()/2-pzd;
-
-    const double dphi2 = aaz/2.;
-    const double cos2  = cos(dphi2)*cos(dphi2);
-    const double sin2  = sin(dphi2)*sin(dphi2);
-    const double d     = cos(azd)*cos2 - cos(2*el)*sin2;
-
-    double dist = acos(d)*TMath::RadToDeg();
+    const double dist = MAstro::GetDevAbs(pzd, azd, aaz);
 
     UpdateText(dist);
@@ -269,20 +257,14 @@
 }
 
-void MGStarg::Update(ZdAz &pos, ZdAz &acc)
-{
-
-    UpdateCross(acc.Az()*3600., acc.Zd()*3600.);
-    Update(pos.Zd(), acc.Zd(), acc.Az());
+void MGStarg::Update(ZdAz &pos, ZdAz &dev)
+{
+    // Estimate the distance in az direction on the camera plane
+    const double daz = MAstro::GetDevAbs(pos.Zd(), 0, dev.Az())*3600.;
+
+    //cout << "--> S: " << dev.Az()*60 << " " << dev.Zd()*60. << endl;
+
+    UpdateCross(TMath::Sign(daz, dev.Az()), dev.Zd()*3600.);
+    Update(pos.Zd(), dev.Zd(), dev.Az());
 
     UpdateCanvas();
 }
-
-
-
-
-
-
-
-
-
-
