Index: /trunk/MagicSoft/Mars/manalysis/MSourcePosfromStarPos.cc
===================================================================
--- /trunk/MagicSoft/Mars/manalysis/MSourcePosfromStarPos.cc	(revision 3516)
+++ /trunk/MagicSoft/Mars/manalysis/MSourcePosfromStarPos.cc	(revision 3517)
@@ -98,4 +98,9 @@
     fDecSource = 0.0;
     fRaSource  = 0.0;
+
+    fxSourceold  =  25.0;
+    fySourceold  = -40.0;
+    fThetaradold =  25.0/kRad2Deg;
+    fPhiradold   = 180.0/kRad2Deg;
 }
 
@@ -130,8 +135,13 @@
 {
   *fLog << "MSourcePosfromStarPos::SetSourceAndStarPosition :" << endl;
-  *fLog << "       Source : "  << nameSource << "   " << decSourceDeg << ":" 
+  *fLog << "       Source (dec) : "  << nameSource << "   " << decSourceDeg << ":" 
         << decSourceMin << ":" << decSourceSec << endl;
-  *fLog << "       Star   : "  << nameStar   << "   " << decStarDeg << ":" 
+  *fLog << "       Source (ra)  : "  << nameSource  << "   " << raSourceHour << ":" 
+        << raSourceMin  << ":" << raSourceSec << endl;
+
+  *fLog << "       Star  (dec) : "  << nameStar   << "   " << decStarDeg << ":" 
         << decStarMin << ":"   << decStarSec << endl;
+  *fLog << "       Star  (ra)  : "  << nameStar   << "   " << raStarHour << ":" 
+        << raStarMin << ":"    << raStarSec  << endl;
 
   // convert into radians
@@ -143,4 +153,10 @@
   fStars += 1;
   fDecStar.Set(fStars);
+  fRaStar.Set(fStars);
+  fxStar.ResizeTo(fStars,fSize);
+  fyStar.ResizeTo(fStars,fSize);
+  fdxStar.ResizeTo(fStars,fSize);
+  fdyStar.ResizeTo(fStars,fSize);
+
   fDecStar[fStars-1] = (decStarDeg + decStarMin/60.0 + decStarSec/3600.0)
                        / kRad2Deg;
@@ -148,5 +164,7 @@
                        * 360.0 / (24.0 * kRad2Deg);
 
-  *fLog << all << "MSourcePosfromStarPos::SetSourceAndStarPosition; fDecSource, fRaSource, fDecStar, fRaStar were set to : [radians]  "
+  *fLog << all << "MSourcePosfromStarPos::SetSourceAndStarPosition; fStars = "
+        << fStars << endl;
+  *fLog << all << "       fDecSource, fRaSource, fDecStar, fRaStar were set to : [radians]  "
         << fDecSource << ",  " << fRaSource << ",  "
         << fDecStar[fStars-1] << ",  " << fRaStar[fStars-1] << endl;
@@ -168,10 +186,18 @@
 {
   *fLog << "MSourcePosfromStarPos::AddStar :" << endl;
-  *fLog << "       Star   : "  << nameStar   << "   " << decStarDeg << ":" 
+  *fLog << "       Star (dec)  : "  << nameStar   << "   " << decStarDeg << ":" 
         << decStarMin << ":"   << decStarSec << endl;
+  *fLog << "       Star (ra)   : "  << nameStar   << "   " << raStarHour << ":" 
+        << raStarMin << ":"    << raStarSec  << endl;
 
   // convert into radians
   fStars = fDecStar.GetSize() + 1;
   fDecStar.Set(fStars);
+  fRaStar.Set(fStars);
+  fxStar.ResizeTo(fStars,fSize);
+  fyStar.ResizeTo(fStars,fSize);
+  fdxStar.ResizeTo(fStars,fSize);
+  fdyStar.ResizeTo(fStars,fSize);
+
   fDecStar[fStars-1] = (decStarDeg + decStarMin/60.0 + decStarSec/3600.0)
                        / kRad2Deg;
@@ -179,5 +205,7 @@
                        * 360.0 / (24.0 * kRad2Deg);
 
-  *fLog << all << "MSourcePosfromStarPos::AddStar; fDecStar, fRaStar were set to : [radians]  "
+  *fLog << all << "MSourcePosfromStarPos::AddStar; fStars = " << fStars 
+        << endl;
+  *fLog << all << "       fDecStar, fRaStar were set to : [radians]  "
         << fDecStar[fStars-1] << ",  " << fRaStar[fStars-1] << endl;
 }
@@ -345,8 +373,12 @@
   Double_t sinal =    a1 * sin(phiTel) * denom;
 
+  *fLog << "old thetaTel, phiTel, cosal, sinal = " << thetaTel << ",  "
+        << phiTel << ",  " << cosal << ",  " << sinal << endl;
+
+
   fObservatory->RotationAngle(thetaTel, phiTel, sinal, cosal);
 
-  //*fLog << "thetaTel, phiTel, cosal, sinal = " << thetaTel << ",  "
-  //      << phiTel << ",  " << cosal << ",  " << sinal << endl;
+  *fLog << "new thetaTel, phiTel, cosal, sinal = " << thetaTel << ",  "
+        << phiTel << ",  " << cosal << ",  " << sinal << endl;
 
 
@@ -408,5 +440,6 @@
     Double_t ytilde = -f/z * (sinal*x + cosal*y);
 
-    //*fLog << "xtilde, ytile = " << xtilde << ",  " << ytilde << endl;
+    //*fLog << "i, xtilde, ytile = " << i << " : " << xtilde << ",  " 
+    //      << ytilde << endl;
 
 
@@ -414,6 +447,13 @@
     // note : in real camera signs are inverted (therefore s = -1.0)
     Double_t s = -1.0;
-    sumx += s * (s*xStar[i] - xtilde) * weightx;
-    sumy += s * (s*yStar[i] - ytilde) * weighty;
+
+    Double_t xs = xStar[i] - s * xtilde;
+    Double_t ys = yStar[i] - s * ytilde;
+
+    *fLog << "i, xs, ys = " << i << " : " << xs << ",  " 
+          << ys << endl;
+
+    sumx += xs * weightx;
+    sumy += ys * weighty;
   }
   //-----------------------------------------------------
@@ -444,9 +484,4 @@
   *fLog << all << "MSourcePosfromStarPos::ReInit; run = " << run << endl;
 
-  // define default values for source position and (theta, phi)
-  Double_t xSource_def =  51.0; 
-  Double_t ySource_def = -59.0;
-  Double_t theta_def = 25.0;
-  Double_t phi_def   = 90.0;
 
   //-------------------------------------------------------------------
@@ -461,4 +496,14 @@
       Double_t thetarad = fThetaTel[i];
       Double_t phirad   = fPhiTel[i];
+
+      if (fabs(thetarad*kRad2Deg+1.0) < 0.001)
+        thetarad = fThetaradold;
+      else
+        fThetaradold = thetarad;
+      if (fabs(phirad*kRad2Deg+1.0) < 0.001)
+        phirad = fPhiradold;
+      else
+        fPhiradold = phirad;
+
       fMcEvt->SetTelescopeTheta(thetarad);
       fMcEvt->SetTelescopePhi(phirad);
@@ -496,4 +541,7 @@
         fSrcPos->SetXY(fxSource, fySource);
 
+        fxSourceold = fxSource;
+        fySourceold = fySource;
+
         *fLog << all << "MSourcePosfromStarPos::ReInit; fRunNr, fxSource, fySource = "
               << fRunNr[i] << ",  " << fxSource << " +- " << fdxSource 
@@ -505,8 +553,9 @@
       {
         // set default values
-        fxSource = xSource_def;
-        fySource = ySource_def;
+        fxSource = fxSourceold;
+        fySource = fySourceold;
         fSrcPos->SetXY(fxSource, fySource);
         fSrcPos->SetReadyToSave();       
+
 
         *fLog << warn << "MSourcePosfromStarPos::ReInit;  no information on source position for run number = "
@@ -523,15 +572,13 @@
 
     // set default values
-    fxSource = xSource_def;
-    fySource = ySource_def;
+    fxSource = fxSourceold;
+    fySource = fySourceold;
     fSrcPos->SetXY(fxSource, fySource);
     fSrcPos->SetReadyToSave();       
 
-    Double_t thetadeg = theta_def;
-    Double_t thetarad = thetadeg / kRad2Deg;
+    Double_t thetarad = fThetaradold;
     fMcEvt->SetTelescopeTheta(thetarad);
 
-    Double_t phideg = phi_def;
-    Double_t phirad = phideg / kRad2Deg;
+    Double_t phirad = fPhiradold;
     fMcEvt->SetTelescopePhi(phirad);
     fMcEvt->SetReadyToSave();
@@ -541,6 +588,6 @@
     *fLog << warn << "       set xSource, ySource = " << fxSource << ",  "
           << fySource << " mm" << endl;
-    *fLog << warn << "       set theta, phi = " << thetadeg << ",  "
-          << phideg << " deg" << endl;
+    *fLog << warn << "       set theta, phi = " << thetarad*kRad2Deg << ",  "
+          << phirad*kRad2Deg << " deg" << endl;
 
 
@@ -577,4 +624,6 @@
   *fLog << "MSourcePosfromStarPos::FixSize; fix size of arrays : fRuns = "
         << fRuns << ",  fStars = " << fStars << endl;
+  *fLog << "       first run : " << fRunNr[0] << ",  last run : "
+        << fRunNr[fRuns-1] << endl;
 
     fSize = fRuns;
@@ -644,4 +693,6 @@
 
   *fIn >> ival;
+
+
   
   //*fLog << fRuns <<"th run : " << ival << endl;  
@@ -655,4 +706,5 @@
   // read mjdS, hmsS, mjdE, hmsE
   // these data are present only for ON data (fStars > 0)
+  /*
   if (fStars > 0)
   {
@@ -667,4 +719,5 @@
     *fIn >> val; 
   }
+  */
 
   *fIn >> val;
@@ -691,22 +744,28 @@
   {
     *fIn >> val;
-    fxStar(i, fRuns-1) = val / fMm2Deg;;
+    //fxStar(i, fRuns-1) = val / fMm2Deg;
+    fxStar(i, fRuns-1) = val;
     //*fLog << "val, fxStar(i, fRuns-1) = " << val << ",  "
     //      << fxStar(i, fRuns-1) << endl;
 
     *fIn >> val;
-    fyStar(i, fRuns-1) = val / fMm2Deg;
+    //fyStar(i, fRuns-1) = val / fMm2Deg;
+    fyStar(i, fRuns-1) = val;
     //*fLog << "val, fyStar(i, fRuns-1) = " << val << ",  "
     //      << fyStar(i, fRuns-1) << endl;
 
 
-    *fIn >> val;
+    //*fIn >> val;
     //*fLog << "y=dxStar = " << val << endl;
 
-    fdxStar(i, fRuns-1) = val / fMm2Deg;
-    *fIn >> val;
+    //fdxStar(i, fRuns-1) = val / fMm2Deg;
+    //fdxStar(i, fRuns-1) = val;
+    fdxStar(i, fRuns-1) = 1.0;
+    //*fIn >> val;
     //*fLog << "y=dyStar = " << val << endl;
 
-    fdyStar(i, fRuns-1) = val / fMm2Deg;
+    //fdyStar(i, fRuns-1) = val / fMm2Deg;
+    //fdyStar(i, fRuns-1) = val;
+    fdyStar(i, fRuns-1) = 1.0;
   }
 
@@ -785,2 +844,5 @@
 
 
+
+
+
Index: /trunk/MagicSoft/Mars/manalysis/MSourcePosfromStarPos.h
===================================================================
--- /trunk/MagicSoft/Mars/manalysis/MSourcePosfromStarPos.h	(revision 3516)
+++ /trunk/MagicSoft/Mars/manalysis/MSourcePosfromStarPos.h	(revision 3517)
@@ -75,4 +75,8 @@
     TMatrixD fdyStar;
 
+    Double_t fxSourceold;
+    Double_t fySourceold;
+    Double_t fThetaradold;
+    Double_t fPhiradold;
 
     Bool_t OpenNextFile();
