Index: trunk/Poubelle/archTOI.old/plgalcross.cc
===================================================================
--- trunk/Poubelle/archTOI.old/plgalcross.cc	(revision 428)
+++ trunk/Poubelle/archTOI.old/plgalcross.cc	(revision 431)
@@ -16,4 +16,5 @@
 
 //////////////////////////////////////////////////////////////////////////
+//                                cmv 24/9/1999
 // Pour calculer les azimuth (E of N) d'intersection d'une direction avec
 // le plan galactique:
@@ -23,14 +24,15 @@
 // zRot : angle de rotation de l'axe du detecteur avec le zenith
 //        (0 = zenith, degres decimaux [0,180]).
-// alpG,decG : alpha,delta du vecteur perpendiculaire
-//             au plan (galactique) considere
+// alpG,decG : alpha,delta du vecteur perpendiculaire au plan considere
 //             (heures et degres decimaux alpG=[0,24[, decG=[-90,90])
 //     ex: Galactic plane, original IAU definition of galactic
-//         North pole is : (12h 49mn    ,+27d 24'     , 1950)
-//                   soit  (12h 51mn 30s, +27d 07' 42", 2000)
+//         North pole is : (12h 49mn    ,+27d 24'    , 1950)
+//                   soit  (12h 51mn 30s,+27d 07' 42", 2000)
 // ---- OUTPUT:
 // azCr1,2 : azimuths (E of N) d'intersection du plan definit au dessus
 //           avec le cercle balaye par l'axe du detecteur
-//           (degres decimaux [0,360[)
+//           (degres decimaux [0,360[).
+//           Angle + sens retrograde (N>E>S>W), origine au Nord.
+
 // ---- RETURN VALUE:
 //  -1 : mauvaise valeur en entree, relisez la doc!
@@ -56,7 +58,12 @@
 double aG, hG;
 EquatToHoriz(alpG,decG,TSid,Lat,aG,hG);
+//printf("PlGalCross: tsid=%g lat=%g perp plan: alpha=%g dec=%g\n"
+//      ,TSid,Lat,alpG,decG);
+//printf("            -> elev=%g azi=%g (+180=%g)\n"
+//      ,hG,aG,((aG>180.)?aG-180.:aG+180.));
 
 // on convertit l'angle "zRot" en elevation des coord horizontales
 double hRot = 90.-zRot;
+//printf("PlGalCross: axe rot: elev = %g  dist.zen = %g\n",hRot,zRot);
 
 // on convertit en radian
@@ -67,5 +74,5 @@
 // du plan considere (OM.G=0) ayant l'elevation hRot.
 // Soient (a,h)=(azimuth,elevation) du point M (vecteur OM)
-// ATTENTION: l'azimuth aM,aG tourne + dans le sens retrograde!
+// ATTENTION: l'azimuth aM,aG tourne + dans sens retrograde (N>E>S>W)!
 // En coordonnees cartesiennes:
 //     |  cos(h).cos(a) |      |  cos(hG).cos(aG) |
@@ -77,5 +84,5 @@
 //            x^2 + y^2 = R^2  et z=sin(hRot) avec R=cos(hRot)
 // - Equation de la droite d'intersection du plan avec le plan du cercle:
-//            a*x + b*y + c*z = 0 avec z=sin(hRot)
+//            a*x + b*y + c*z = 0 avec z=sin(hRot)=cos(zRot)
 double ch=cos(hRot);
 double z=sin(hRot), chG=cos(hG), shG=sin(hG);
@@ -93,4 +100,5 @@
 } else {
   double a=chG*cos(aG), b=-chG*sin(aG), cz=shG*z, R2=ch*ch;
+  //printf("PlGalCross: plan a=%g b=%g c=%g R=%g\n",a,b,shG,ch);
   //Stabilite numerique: |b|>|a| on resoud pour "x" sinon pour "y"
   // **** cas 1-/ |b|>|a|  :  droite y = -(a/b)*x-cz/b
@@ -117,4 +125,5 @@
   if(calcx) {x1=sol1; x2=sol2; y1=-a/b*x1-cz/b; y2=-a/b*x2-cz/b;}
      else   {y1=sol1; y2=sol2; x1=-b/a*y1-cz/a; x2=-b/a*y2-cz/a;}
+  //printf("PlGalCross: int1=(%g,%g,%g) int2=(%g,%g,%g)\n",x1,y1,z,x2,y2,z);
   // Calcul des azimuths
   azCr1 = atan2(-y1/ch,x1/ch); azCr2 = atan2(-y2/ch,x2/ch);
@@ -123,4 +132,6 @@
   if(azCr1<0.) azCr1+=360.; if(azCr1>=360.) azCr1-=360.; if(azCr1<0.) azCr1=0.;
   if(azCr2<0.) azCr2+=360.; if(azCr2>=360.) azCr2-=360.; if(azCr2<0.) azCr2=0.;
+  //printf("PlGalCross: azCr1 = %g,    azCr2 = %g  (azCr1+azCr2)/2 = %g\n"
+  //,azCr1,azCr2,((azCr1+azCr2>=720.)?(azCr1+azCr2)/2-360.:(azCr1+azCr2)/2));
   return 0;
 }
@@ -134,5 +145,5 @@
 // pour une latitude terrestre et un temps sideral donnes.
 // INPUT:
-//   alpha,delta : coord equatoriales en heures [0,24[ et degres [-90,90] decimaux
+//   alpha,delta : coord equat en heures [0,24[ et degres [-90,90] decimaux
 //   tsid : temps sideral en heures [0,24[ decimales
 //          (ou angle horaire du point vernal ou ascension droite du zenith)
@@ -142,5 +153,5 @@
 // OUTPUT: les coordonnees horizontales:
 //   azimuth : azimuth (E of N) degre [0,360[ decimaux
-//             ici compte + dans sens retrograde avec origine au Nord,
+//             tourne +  sens retrograde (N>E>S>W), origine au Nord,
 //             azimuth "des marins" (serveur BDL, USNO, xephem , skycalc...)
 //   elevation : elevation degre [-90,90] decimaux
