Index: trunk/Mars/mimage/MHillasExt.cc
===================================================================
--- trunk/Mars/mimage/MHillasExt.cc	(revision 9849)
+++ trunk/Mars/mimage/MHillasExt.cc	(revision 9850)
@@ -121,4 +121,9 @@
     fSlopeLong  =  0;
     fSlopeTrans =  0;
+
+    fTimeSpread          = -1;
+    fTimeSpreadWeighted  = -1;
+    fSlopeSpread         = -1;
+    fSlopeSpreadWeighted = -1;
 }
 
@@ -202,5 +207,5 @@
 
         sumxw   += x*nphot;
-        sumyw   += x*nphot;
+        sumyw   += y*nphot;
         sumtw   += t*nphot;
 
@@ -250,6 +255,6 @@
     // Time spread
     //
-    fTimeSpread         = TMath::Sqrt(sumt2/cnt - sumt*sumt/cnt/cnt);
-    fTimeSpreadWeighted = TMath::Sqrt(sumt2w2 + (sumw2 - 2*sumtw2)*sumtw/sumw)/sumw;
+    fTimeSpread         = TMath::Sqrt(sumt2*cnt - sumt*sumt)/cnt;
+    fTimeSpreadWeighted = TMath::Sqrt(sumt2w2 + sumw2*sumtw*sumtw/sumw/sumw - 2*sumtw2*sumtw/sumw)/sumw;
 
     //
@@ -280,10 +285,6 @@
     const Double_t sumdt2w2  = sumt2w2 - 2*fSlopeLong*(c*sumtxw2 + s*sumtyw2) + fSlopeLong*fSlopeLong * (c*c*sumx2 + s*s*sumy2 + 2*c*s*sumxy) * sumw2;
 
-    fSlopeSpread         = TMath::Sqrt(sumdt2/cnt - sumdt*sumdt/cnt/cnt);
-    fSlopeSpreadWeighted = TMath::Sqrt(sumdt2w2 + (sumw2 - 2*sumdtw2)*sumdtw/sumw)/sumw;
-
-    //
-    // FIXME: Missing Time spread along slope
-    //
+    fSlopeSpread         = TMath::Sqrt(sumdt2*cnt - sumdt*sumdt)/cnt;
+    fSlopeSpreadWeighted = TMath::Sqrt(sumdt2w2 + sumw2*sumdtw*sumdtw/sumw/sumw - 2*sumdtw2*sumdtw/sumw)/sumw;
 
     //
@@ -314,5 +315,5 @@
 void MHillasExt::Set(const TArrayF &arr)
 {
-    if (arr.GetSize() != 5)
+    if (arr.GetSize() != 9)
         return;
 
@@ -322,4 +323,9 @@
     fSlopeLong  = arr.At(3);
     fSlopeTrans = arr.At(4);
+
+    fTimeSpread          = arr.At(5);
+    fTimeSpreadWeighted  = arr.At(6);
+    fSlopeSpread         = arr.At(7);
+    fSlopeSpreadWeighted = arr.At(8);
 }
 
@@ -341,4 +347,8 @@
     if (showtrans)
         *fLog << " - Slope Trans    [mm]  = " << fSlopeTrans << endl;
+    *fLog << " - Time Spread    [ns]  = " << fTimeSpread << endl;
+    *fLog << " - Slope Spread   [ns]  = " << fSlopeSpread << endl;
+    *fLog << " - Time Spread W  [ns]  = " << fTimeSpreadWeighted << endl;
+    *fLog << " - Slope Spread W [ns]  = " << fSlopeSpreadWeighted << endl;
 }
 
@@ -357,4 +367,7 @@
     *fLog << " - Slope Long     [mm]  = " << fSlopeLong*geom.GetConvMm2Deg()  << endl;
     *fLog << " - Slope Trans    [mm]  = " << fSlopeTrans*geom.GetConvMm2Deg() << endl;
+    *fLog << " - Slope Spread   [ns]  = " << fSlopeSpread << endl;
+    *fLog << " - Time Spread W  [ns]  = " << fTimeSpreadWeighted << endl;
+    *fLog << " - Slope Spread W [ns]  = " << fSlopeSpreadWeighted << endl;
 }
 
Index: trunk/Mars/mimage/MHillasExt.h
===================================================================
--- trunk/Mars/mimage/MHillasExt.h	(revision 9849)
+++ trunk/Mars/mimage/MHillasExt.h	(revision 9850)
@@ -35,11 +35,13 @@
     void Reset();
 
-    Float_t GetAsym() const               { return fAsym; }
-    Float_t GetM3Long() const             { return fM3Long; }
-    Float_t GetM3Trans() const            { return fM3Trans; }
-    Float_t GetSlopeLong() const          { return fSlopeLong; }
-    Float_t GetSlopeTrans() const         { return fSlopeTrans; }
-    Float_t GetTimeSpread() const         { return fTimeSpread; }
-    Float_t GetTimeSpreadWeighted() const { return fTimeSpreadWeighted; }
+    Float_t GetAsym() const                { return fAsym; }
+    Float_t GetM3Long() const              { return fM3Long; }
+    Float_t GetM3Trans() const             { return fM3Trans; }
+    Float_t GetSlopeLong() const           { return fSlopeLong; }
+    Float_t GetSlopeTrans() const          { return fSlopeTrans; }
+    Float_t GetTimeSpread() const          { return fTimeSpread; }
+    Float_t GetTimeSpreadWeighted() const  { return fTimeSpreadWeighted; }
+    Float_t GetSlopeSpread() const         { return fSlopeSpread; }
+    Float_t GetSlopeSpreadWeighted() const { return fSlopeSpreadWeighted; }
 
     Int_t Calc(const MGeomCam &geom, const MSignalCam &pix,
