Index: /trunk/Mars/libnova/Makefile
===================================================================
--- /trunk/Mars/libnova/Makefile	(revision 15206)
+++ /trunk/Mars/libnova/Makefile	(revision 15207)
@@ -15,5 +15,5 @@
 CINT = Nova
 
-SRCFILES = nova.cc
+SRCFILES = nova.h
 
 ############################################################
Index: /trunk/Mars/libnova/NovaLinkDef.h
===================================================================
--- /trunk/Mars/libnova/NovaLinkDef.h	(revision 15206)
+++ /trunk/Mars/libnova/NovaLinkDef.h	(revision 15207)
@@ -29,4 +29,6 @@
 // Nova wrapper
 #pragma link C++ namespace Nova;
+#pragma link C++ struct Nova::ZdAzPosn;
+#pragma link C++ struct Nova::HrzPosn;
 
 #endif
Index: /trunk/Mars/libnova/nova.cc
===================================================================
--- /trunk/Mars/libnova/nova.cc	(revision 15206)
+++ /trunk/Mars/libnova/nova.cc	(revision 15207)
@@ -1,1 +1,1 @@
-//#include "nova.h"
+//#include "../libnova/nova.h"
Index: /trunk/Mars/mcore/nova.h
===================================================================
--- /trunk/Mars/mcore/nova.h	(revision 15206)
+++ /trunk/Mars/mcore/nova.h	(revision 15207)
@@ -10,7 +10,32 @@
 {
     typedef ln_lnlat_posn LnLatPosn;
-    typedef ln_hrz_posn   HrzPosn;
+    //typedef ln_hrz_posn   HrzPosn;
     typedef ln_equ_posn   EquPosn;
     typedef ln_rst_time   RstTime;
+
+    struct ZdAzPosn;
+
+    // Warning: 0deg=South, 90deg=W
+    struct HrzPosn : public ln_hrz_posn
+    {
+        HrzPosn() { }
+        HrzPosn(const ZdAzPosn &);
+    };
+
+    struct ZdAzPosn
+    {
+        double zd;
+        double az;
+
+        ZdAzPosn() : zd(0), az(0) { }
+        ZdAzPosn(const HrzPosn &hrz) : zd(90-hrz.alt), az(hrz.az-180) { }
+
+        // This crahsed cint, but it could save up the dedicate structure HrzPosn :(
+        //operator HrzPosn() const { const HrzPosn p = { az-180, 90-zd}; return p; }
+    };
+
+    HrzPosn::HrzPosn(const ZdAzPosn &za) { alt = 90-za.zd; az = za.az-180; }
+
+
 
     const LnLatPosn &ORM()
