Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 4674)
+++ trunk/MagicSoft/Mars/Changelog	(revision 4675)
@@ -19,4 +19,24 @@
 
                                                  -*-*- END OF LINE -*-*-
+
+
+  2004/08/18 : Wolfgang Wittek
+
+    * mastro/MTransCelLocCam.[h,cc]
+      - new class; allows to calculate for any point (X, Y) in the 
+        camera the local (celestial) coordinates if the local 
+        (celestial) coordinates are known for some fixed point (X0, Y0) 
+        in the camera
+      - for given local (celestial) coordinates of the camera center,
+        the meber function PlotGrid draws the lines of constant theta 
+        and phi (and of constant dec and hourangle) onto the camera 
+        plane 
+    
+    * mastro/Makefile
+             AstroLinkDef.h
+      - MTransCelLocCam added
+
+    * macros/testMTrans.C
+      - macro to test the class MTransCelLocCam
 
 
Index: trunk/MagicSoft/Mars/macros/testMTrans.C
===================================================================
--- trunk/MagicSoft/Mars/macros/testMTrans.C	(revision 4675)
+++ trunk/MagicSoft/Mars/macros/testMTrans.C	(revision 4675)
@@ -0,0 +1,447 @@
+
+/////////////////////////////////////////////////////////////////////////////
+//                                                                         //
+// Description: Macro to test the class MTransCelLocCam
+//
+// Author:      Wolfgang Wittek (wittek@mppmu.mpg.de)
+// Date:        08/2004
+//                                                                         // 
+/////////////////////////////////////////////////////////////////////////////
+
+void testMTrans()
+{
+  gLog->SetNoColors();
+
+
+    MGeomCamMagic geom;
+    MObservatory  obs;
+
+    MTransCelLocCam trans(geom, obs);
+
+    trans.SetGridParameters(0.50, 0.1);
+
+
+    trans.PlotGridAtTheta0Phi0("Plot_2a",  0.001,135.0);
+    trans.PlotGridAtTheta0Phi0("Plot_2b",  30.00,135.0);
+    trans.PlotGridAtTheta0Phi0("Plot_2c",  60.00,135.0);
+    trans.PlotGridAtTheta0Phi0("Plot_2d",  90.00,135.0);
+
+    trans.PlotGridAtTheta0Phi0("Plot1a",  0.001, 0.0);
+    trans.PlotGridAtTheta0Phi0("Plot1b",  30.00, 0.0);
+    trans.PlotGridAtTheta0Phi0("Plot1c",  60.00, 0.0);
+    trans.PlotGridAtTheta0Phi0("Plot1d",  90.00, 0.0);
+
+    trans.PlotGridAtTheta0Phi0("Plot2a",  0.001, 90.0);
+    trans.PlotGridAtTheta0Phi0("Plot2b",  30.00, 90.0);
+    trans.PlotGridAtTheta0Phi0("Plot2c",  60.00, 90.0);
+    trans.PlotGridAtTheta0Phi0("Plot2d",  90.00, 90.0);
+
+
+    trans.PlotGridAtTheta0Phi0("Plot3a",  0.001, 180.0);
+    trans.PlotGridAtTheta0Phi0("Plot3b",  30.00, 180.0);
+    trans.PlotGridAtTheta0Phi0("Plot3c",  60.00, 180.0);
+    trans.PlotGridAtTheta0Phi0("Plot3d",  90.00, 180.0);
+
+    trans.PlotGridAtTheta0Phi0("Plot4a",  0.001, 270.0);
+    trans.PlotGridAtTheta0Phi0("Plot4b",  30.00, 270.0);
+    trans.PlotGridAtTheta0Phi0("Plot4c",  60.00, 270.0);
+    trans.PlotGridAtTheta0Phi0("Plot4d",  90.00, 270.0);
+
+    trans.PlotGridAtDec0H0    ("Plot5a", 89.999, -12.0);
+    trans.PlotGridAtDec0H0    ("Plot5b", 60.000, -12.0);
+    trans.PlotGridAtDec0H0    ("Plot5c", 30.000, -12.0);
+    trans.PlotGridAtDec0H0    ("Plot5d",  0.000, -12.0);
+    trans.PlotGridAtDec0H0    ("Plot5e",-30.000, -12.0);
+
+    trans.PlotGridAtDec0H0    ("Plot6a", 89.999, -6.0);
+    trans.PlotGridAtDec0H0    ("Plot6b", 60.000, -6.0);
+    trans.PlotGridAtDec0H0    ("Plot6c", 30.000, -6.0);
+    trans.PlotGridAtDec0H0    ("Plot6d",  0.000, -6.0);
+    trans.PlotGridAtDec0H0    ("Plot6e",-30.000, -6.0);
+
+    trans.PlotGridAtDec0H0    ("Plot7a", 89.999, 0.0);
+    trans.PlotGridAtDec0H0    ("Plot7b", 60.000, 0.0);
+    trans.PlotGridAtDec0H0    ("Plot7c", 30.000, 0.0);
+    trans.PlotGridAtDec0H0    ("Plot7d",  0.000, 0.0);
+    trans.PlotGridAtDec0H0    ("Plot7e",-30.000, 0.0);
+
+    trans.PlotGridAtDec0H0    ("Plot8a", 89.999, 6.0);
+    trans.PlotGridAtDec0H0    ("Plot8b", 60.000, 6.0);
+    trans.PlotGridAtDec0H0    ("Plot8c", 30.000, 6.0);
+    trans.PlotGridAtDec0H0    ("Plot8d",  0.000, 6.0);
+    trans.PlotGridAtDec0H0    ("Plot8e",-30.000, 6.0);
+
+    //===================================================
+    // special tests
+
+    gLog << "==============================================================="
+         << endl;
+
+    Double_t th1 = 10.0;
+    Double_t ph1 = 200.0;
+    Double_t X1  = 0.0;
+    Double_t Y1  = 0.0;
+    Double_t X2  = 100.0;
+    Double_t Y2  =  50.0;
+    Double_t th2;
+    Double_t ph2;
+
+    trans.LocCamCamToLoc(th1, ph1, X1, Y1, X2, Y2, th2, ph2);
+    gLog << "th1, ph1, X1, Y1, th2, ph2, X2, Y2 = "
+         << th1 << ",  " << ph1 << ";    " << X1 << ",  " << Y1 << ";   "
+         << th2 << ",  " << ph2 << ";    " << X2 << ",  " << Y2 << endl;
+    
+    trans.Loc0CamToLoc(th1, ph1, X2, Y2, th2, ph2);    
+    gLog << "th1, ph1, X1, Y1, th2, ph2, X2, Y2 = "
+         << th1 << ",  " << ph1 << ";    " << X1 << ",  " << Y1 << ";   "
+         << th2 << ",  " << ph2 << ";    " << X2 << ",  " << Y2 << endl;
+
+    trans.Loc0LocToCam(th1, ph1, th2, ph2, X2, Y2);    
+    gLog << "th1, ph1, X1, Y1, th2, ph2, X2, Y2 = "
+         << th1 << ",  " << ph1 << ";    " << X1 << ",  " << Y1 << ";   "
+         << th2 << ",  " << ph2 << ";    " << X2 << ",  " << Y2 << endl;
+
+    trans.LocCamToLoc0(th2, ph2, X2, Y2, th1, ph1);    
+    gLog << "th1, ph1, X1, Y1, th2, ph2, X2, Y2 = "
+         << th1 << ",  " << ph1 << ";    " << X1 << ",  " << Y1 << ";   "
+         << th2 << ",  " << ph2 << ";    " << X2 << ",  " << Y2 << endl;
+
+    trans.LocCamLocToCam(th1, ph1, X1, Y1, th2, ph2, X2, Y2);
+    gLog << "th1, ph1, X1, Y1, th2, ph2, X2, Y2 = "
+         << th1 << ",  " << ph1 << ";    " << X1 << ",  " << Y1 << ";   "
+         << th2 << ",  " << ph2 << ";    " << X2 << ",  " << Y2 << endl;
+
+    trans.Loc0LocToCam(th1, ph1, th2, ph2, X2, Y2);    
+    gLog << "th1, ph1, X1, Y1, th2, ph2, X2, Y2 = "
+         << th1 << ",  " << ph1 << ";    " << X1 << ",  " << Y1 << ";   "
+         << th2 << ",  " << ph2 << ";    " << X2 << ",  " << Y2 << endl;
+    gLog << "==============================================================="
+         << endl;
+
+    //---------------------
+
+    gLog << "==============================================================="
+         << endl;
+
+    th1 =  th2;
+    ph1 =  ph2;
+    X1  = 100.0;
+    Y1  =  50.0;
+    X2  =  0.0;
+    Y2  =  0.0;
+
+    trans.LocCamCamToLoc(th1, ph1, X1, Y1, X2, Y2, th2, ph2);
+    gLog << "th1, ph1, X1, Y1, th2, ph2, X2, Y2 = "
+         << th1 << ",  " << ph1 << ";    " << X1 << ",  " << Y1 << ";   "
+         << th2 << ",  " << ph2 << ";    " << X2 << ",  " << Y2 << endl;
+    
+    trans.LocCamToLoc0(th1, ph1, X1, Y1, th2, ph2);    
+    gLog << "th1, ph1, X1, Y1, th2, ph2, X2, Y2 = "
+         << th1 << ",  " << ph1 << ";    " << X1 << ",  " << Y1 << ";   "
+         << th2 << ",  " << ph2 << ";    " << X2 << ",  " << Y2 << endl;
+
+    trans.Loc0CamToLoc(th2, ph2, X1, Y1, th1, ph1);    
+    gLog << "th1, ph1, X1, Y1, th2, ph2, X2, Y2 = "
+         << th1 << ",  " << ph1 << ";    " << X1 << ",  " << Y1 << ";   "
+         << th2 << ",  " << ph2 << ";    " << X2 << ",  " << Y2 << endl;
+
+    trans.Loc0LocToCam(th2, ph2, th1, ph1, X1, Y1);    
+    gLog << "th1, ph1, X1, Y1, th2, ph2, X2, Y2 = "
+         << th1 << ",  " << ph1 << ";    " << X1 << ",  " << Y1 << ";   "
+         << th2 << ",  " << ph2 << ";    " << X2 << ",  " << Y2 << endl;
+
+    trans.LocCamLocToCam(th1, ph1, X1, Y1, th2, ph2, X2, Y2);
+    gLog << "th1, ph1, X1, Y1, th2, ph2, X2, Y2 = "
+         << th1 << ",  " << ph1 << ";    " << X1 << ",  " << Y1 << ";   "
+         << th2 << ",  " << ph2 << ";    " << X2 << ",  " << Y2 << endl;
+
+    gLog << "==============================================================="
+         << endl;
+
+    gLog << "==============================================================="
+         << endl;
+
+    Double_t de1 = 10.0;
+    Double_t ho1 = 200.0;
+    Double_t XX1  = 0.0;
+    Double_t YY1  = 0.0;
+    Double_t XX2  = 100.0;
+    Double_t YY2  =  50.0;
+    Double_t de2;
+    Double_t ho2;
+
+    trans.CelCamCamToCel(de1, ho1, XX1, YY1, XX2, YY2, de2, ho2);
+    gLog << "de1, ho1, XX1, YY1, de2, ho2, XX2, YY2 = "
+         << de1 << ",  " << ho1 << ";    " << XX1 << ",  " << YY1 << ";   "
+         << de2 << ",  " << ho2 << ";    " << XX2 << ",  " << YY2 << endl;
+    
+    trans.Cel0CamToCel(de1, ho1, XX2, YY2, de2, ho2);    
+    gLog << "de1, ho1, XX1, YY1, de2, ho2, XX2, YY2 = "
+         << de1 << ",  " << ho1 << ";    " << XX1 << ",  " << YY1 << ";   "
+         << de2 << ",  " << ho2 << ";    " << XX2 << ",  " << YY2 << endl;
+
+    trans.CelCamCelToCam(de1, ho1, XX1, YY1, de2, ho2, XX2, YY2);
+    gLog << "de1, ho1, XX1, YY1, de2, ho2, XX2, YY2 = "
+         << de1 << ",  " << ho1 << ";    " << XX1 << ",  " << YY1 << ";   "
+         << de2 << ",  " << ho2 << ";    " << XX2 << ",  " << YY2 << endl;
+
+    trans.Cel0CelToCam(de1, ho1, de2, ho2, XX2, YY2);    
+    gLog << "de1, ho1, XX1, YY1, de2, ho2, XX2, YY2 = "
+         << de1 << ",  " << ho1 << ";    " << XX1 << ",  " << YY1 << ";   "
+         << de2 << ",  " << ho2 << ";    " << XX2 << ",  " << YY2 << endl;
+
+
+    gLog << "==============================================================="
+         << endl;
+
+    gLog << "==============================================================="
+         << endl;
+
+    de1 =  de2;
+    ho1 =  ho2;
+    XX1  = 100.0;
+    YY1  =  50.0;
+    XX2  =  0.0;
+    YY2  =  0.0;
+
+    trans.CelCamCamToCel(de1, ho1, XX1, YY1, XX2, YY2, de2, ho2);
+    gLog << "de1, ho1, XX1, YY1, de2, ho2, XX2, YY2 = "
+         << de1 << ",  " << ho1 << ";    " << XX1 << ",  " << YY1 << ";   "
+         << de2 << ",  " << ho2 << ";    " << XX2 << ",  " << YY2 << endl;
+    
+    trans.CelCamToCel0(de1, ho1, XX1, YY1, de2, ho2);    
+    gLog << "de1, ho1, XX1, YY1, de2, ho2, XX2, YY2 = "
+         << de1 << ",  " << ho1 << ";    " << XX1 << ",  " << YY1 << ";   "
+         << de2 << ",  " << ho2 << ";    " << XX2 << ",  " << YY2 << endl;
+
+    trans.CelCamCelToCam(de1, ho1, XX1, YY1, de2, ho2, XX2, YY2);
+    gLog << "de1, ho1, XX1, YY1, de2, ho2, XX2, YY2 = "
+         << de1 << ",  " << ho1 << ";    " << XX1 << ",  " << YY1 << ";   "
+         << de2 << ",  " << ho2 << ";    " << XX2 << ",  " << YY2 << endl;
+
+    gLog << "==============================================================="
+         << endl;
+
+    //---------------------
+
+    gLog << "==============================================================="
+         << endl;
+
+    th1 =  70.0;
+    ph1 = 200.0;
+    X1  = 100.0;
+    Y1  =  50.0;
+    X2  = 120.0;
+    Y2  = -30.0;
+
+    Double_t th0;
+    Double_t ph0;
+
+    trans.LocCamCamToLoc(th1, ph1, X1, Y1, X2, Y2, th2, ph2);
+    gLog << "th1, ph1, X1, Y1, th2, ph2, X2, Y2 = "
+         << th1 << ",  " << ph1 << ";    " << X1 << ",  " << Y1 << ";   "
+         << th2 << ",  " << ph2 << ";    " << X2 << ",  " << Y2 << endl;
+
+    trans.LocCamCamToLoc(th2, ph2, X2, Y2, X1, Y1, th1, ph1);
+    gLog << "th1, ph1, X1, Y1, th2, ph2, X2, Y2 = "
+         << th1 << ",  " << ph1 << ";    " << X1 << ",  " << Y1 << ";   "
+         << th2 << ",  " << ph2 << ";    " << X2 << ",  " << Y2 << endl;
+
+    trans.LocCamToLoc0(th1, ph1, X1, Y1, th0, ph0);
+    gLog << "th0, ph0 = " << th0 << ",  " << ph0 << endl;
+
+    trans.Loc0CamToLoc(th0, ph0, X1, Y1, th1, ph1);
+    gLog << "th1, ph1 = " << th1 << ",  " << ph1 << endl;
+
+    trans.Loc0CamToLoc(th0, ph0, X2, Y2, th2, ph2);
+    gLog << "th1, ph1, X1, Y1, th2, ph2, X2, Y2 = "
+         << th1 << ",  " << ph1 << ";    " << X1 << ",  " << Y1 << ";   "
+         << th2 << ",  " << ph2 << ";    " << X2 << ",  " << Y2 << endl;
+
+    trans.LocCamToLoc0(th2, ph2, X2, Y2, th0, ph0);
+    gLog << "th0, ph0 = " << th0 << ",  " << ph0 << endl;
+    gLog << "th1, ph1, X1, Y1, th2, ph2, X2, Y2 = "
+         << th1 << ",  " << ph1 << ";    " << X1 << ",  " << Y1 << ";   "
+         << th2 << ",  " << ph2 << ";    " << X2 << ",  " << Y2 << endl;
+
+    trans.LocCamLocToCam(th1, ph1, X1, Y1, th2, ph2, X2, Y2);
+    gLog << "th1, ph1, X1, Y1, th2, ph2, X2, Y2 = "
+         << th1 << ",  " << ph1 << ";    " << X1 << ",  " << Y1 << ";   "
+         << th2 << ",  " << ph2 << ";    " << X2 << ",  " << Y2 << endl;
+
+    trans.LocCamLocToCam(th2, ph2, X2, Y2, th1, ph1, X1, Y1);
+    gLog << "th1, ph1, X1, Y1, th2, ph2, X2, Y2 = "
+         << th1 << ",  " << ph1 << ";    " << X1 << ",  " << Y1 << ";   "
+         << th2 << ",  " << ph2 << ";    " << X2 << ",  " << Y2 << endl;
+
+    trans.LocCamToLoc0(th1, ph1, X1, Y1, th0, ph0);
+    gLog << "th0, ph0 = " << th0 << ",  " << ph0 << endl;
+
+    trans.Loc0LocToCam(th0, ph0, th2, ph2, X2, Y2);
+
+    gLog << "th1, ph1, X1, Y1, th2, ph2, X2, Y2 = "
+         << th1 << ",  " << ph1 << ";    " << X1 << ",  " << Y1 << ";   "
+         << th2 << ",  " << ph2 << ";    " << X2 << ",  " << Y2 << endl;
+
+    gLog << "==============================================================="
+         << endl;
+
+    gLog << "==============================================================="
+         << endl;
+
+    th1 = th2;
+    ph1 = ph2;
+    X1  = 120.0;
+    Y1  = -30.0;
+    X2  = 100.0;
+    Y2  =  50.0;
+
+    Double_t th0;
+    Double_t ph0;
+
+    trans.LocCamCamToLoc(th1, ph1, X1, Y1, X2, Y2, th2, ph2);
+    gLog << "th1, ph1, X1, Y1, th2, ph2, X2, Y2 = "
+         << th1 << ",  " << ph1 << ";    " << X1 << ",  " << Y1 << ";   "
+         << th2 << ",  " << ph2 << ";    " << X2 << ",  " << Y2 << endl;
+
+    trans.LocCamToLoc0(th1, ph1, X1, Y1, th0, ph0);
+    gLog << "th0, ph0 = " << th0 << ",  " << ph0 << endl;
+
+    trans.Loc0CamToLoc(th0, ph0, X2, Y2, th2, ph2);
+
+    gLog << "th1, ph1, X1, Y1, th2, ph2, X2, Y2 = "
+         << th1 << ",  " << ph1 << ";    " << X1 << ",  " << Y1 << ";   "
+         << th2 << ",  " << ph2 << ";    " << X2 << ",  " << Y2 << endl;
+
+    trans.LocCamLocToCam(th1, ph1, X1, Y1, th2, ph2, X2, Y2);
+    gLog << "th1, ph1, X1, Y1, th2, ph2, X2, Y2 = "
+         << th1 << ",  " << ph1 << ";    " << X1 << ",  " << Y1 << ";   "
+         << th2 << ",  " << ph2 << ";    " << X2 << ",  " << Y2 << endl;
+
+    trans.LocCamToLoc0(th1, ph1, X1, Y1, th0, ph0);
+    gLog << "th0, ph0 = " << th0 << ",  " << ph0 << endl;
+
+    trans.Loc0LocToCam(th0, ph0, th2, ph2, X2, Y2);
+
+    gLog << "th1, ph1, X1, Y1, th2, ph2, X2, Y2 = "
+         << th1 << ",  " << ph1 << ";    " << X1 << ",  " << Y1 << ";   "
+         << th2 << ",  " << ph2 << ";    " << X2 << ",  " << Y2 << endl;
+
+    gLog << "==============================================================="
+         << endl;
+
+    gLog << "==============================================================="
+         << endl;
+
+    Double_t de1 = 10.0;
+    Double_t ho1 = 3.0;
+    Double_t XX1  = -30.0;
+    Double_t YY1  = 200.0;
+    Double_t XX2  = 100.0;
+    Double_t YY2  =  50.0;
+    Double_t de2;
+    Double_t ho2;
+
+    trans.CelCamCamToCel(de1, ho1, XX1, YY1, XX2, YY2, de2, ho2);
+    gLog << "de1, ho1, XX1, YY1, de2, ho2, XX2, YY2 = "
+         << de1 << ",  " << ho1 << ";    " << XX1 << ",  " << YY1 << ";   "
+         << de2 << ",  " << ho2 << ";    " << XX2 << ",  " << YY2 << endl;
+
+    Double_t de0;
+    Double_t ho0;
+    trans.CelCamToCel0(de1, ho1, XX1, YY1, de0, ho0);
+    gLog << "de0, ho0 = " << de0 << ",  " << ho0 << endl;
+
+    trans.Cel0CamToCel(de0, ho0, XX2, YY2, de2, ho2);
+    gLog << "de1, ho1, XX1, YY1, de2, ho2, XX2, YY2 = "
+         << de1 << ",  " << ho1 << ";    " << XX1 << ",  " << YY1 << ";   "
+         << de2 << ",  " << ho2 << ";    " << XX2 << ",  " << YY2 << endl;
+
+    trans.CelCamCelToCam(de1, ho1, XX1, YY1, de2, ho2, XX2, YY2);
+    gLog << "de1, ho1, XX1, YY1, de2, ho2, XX2, YY2 = "
+         << de1 << ",  " << ho1 << ";    " << XX1 << ",  " << YY1 << ";   "
+         << de2 << ",  " << ho2 << ";    " << XX2 << ",  " << YY2 << endl;
+
+    trans.CelCamToCel0(de1, ho1, XX1, YY1, de0, ho0);
+    gLog << "de0, ho0 = " << de0 << ",  " << ho0 << endl;
+
+    trans.Cel0CelToCam(de0, ho0, de2, ho2, XX2, YY2);
+    gLog << "de1, ho1, XX1, YY1, de2, ho2, XX2, YY2 = "
+         << de1 << ",  " << ho1 << ";    " << XX1 << ",  " << YY1 << ";   "
+         << de2 << ",  " << ho2 << ";    " << XX2 << ",  " << YY2 << endl;
+
+
+    gLog << "==============================================================="
+         << endl;
+
+    gLog << "==============================================================="
+         << endl;
+
+    de1 = de2;
+    ho1 = ho2;
+    XX1  = 100.0;
+    YY1  =  50.0;
+    XX2  = -30.0;
+    YY2  = 200.0;
+
+    trans.CelCamCamToCel(de1, ho1, XX1, YY1, XX2, YY2, de2, ho2);
+    gLog << "de1, ho1, XX1, YY1, de2, ho2, XX2, YY2 = "
+         << de1 << ",  " << ho1 << ";    " << XX1 << ",  " << YY1 << ";   "
+         << de2 << ",  " << ho2 << ";    " << XX2 << ",  " << YY2 << endl;
+
+    Double_t de0;
+    Double_t ho0;
+    trans.CelCamToCel0(de1, ho1, XX1, YY1, de0, ho0);
+    gLog << "de0, ho0 = " << de0 << ",  " << ho0 << endl;
+
+    trans.Cel0CamToCel(de0, ho0, XX2, YY2, de2, ho2);
+    gLog << "de1, ho1, XX1, YY1, de2, ho2, XX2, YY2 = "
+         << de1 << ",  " << ho1 << ";    " << XX1 << ",  " << YY1 << ";   "
+         << de2 << ",  " << ho2 << ";    " << XX2 << ",  " << YY2 << endl;
+
+    trans.CelCamCelToCam(de1, ho1, XX1, YY1, de2, ho2, XX2, YY2);
+    gLog << "de1, ho1, XX1, YY1, de2, ho2, XX2, YY2 = "
+         << de1 << ",  " << ho1 << ";    " << XX1 << ",  " << YY1 << ";   "
+         << de2 << ",  " << ho2 << ";    " << XX2 << ",  " << YY2 << endl;
+
+    trans.CelCamToCel0(de1, ho1, XX1, YY1, de0, ho0);
+    gLog << "de0, ho0 = " << de0 << ",  " << ho0 << endl;
+
+    trans.Cel0CelToCam(de0, ho0, de2, ho2, XX2, YY2);
+    gLog << "de1, ho1, XX1, YY1, de2, ho2, XX2, YY2 = "
+         << de1 << ",  " << ho1 << ";    " << XX1 << ",  " << YY1 << ";   "
+         << de2 << ",  " << ho2 << ";    " << XX2 << ",  " << YY2 << endl;
+
+
+    gLog << "==============================================================="
+         << endl;
+
+}
+//=========================================================================
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: trunk/MagicSoft/Mars/mastro/AstroLinkDef.h
===================================================================
--- trunk/MagicSoft/Mars/mastro/AstroLinkDef.h	(revision 4674)
+++ trunk/MagicSoft/Mars/mastro/AstroLinkDef.h	(revision 4675)
@@ -13,4 +13,5 @@
 
 #pragma link C++ class MObservatory+;
+#pragma link C++ class MTransCelLocCam+;
 
 #endif
Index: trunk/MagicSoft/Mars/mastro/Makefile
===================================================================
--- trunk/MagicSoft/Mars/mastro/Makefile	(revision 4674)
+++ trunk/MagicSoft/Mars/mastro/Makefile	(revision 4675)
@@ -26,5 +26,6 @@
 	   MAstroCatalog.cc \
            MAstroCamera.cc \
-           MObservatory.cc
+           MObservatory.cc \
+           MTransCelLocCam.cc
 
 ############################################################
@@ -35,2 +36,15 @@
 
 mrproper:	clean rmbak
+
+
+
+
+
+
+
+
+
+
+
+
+
