Index: trunk/MagicSoft/Mars/manalysis/MArrivalTimeCalc2.cc
===================================================================
--- trunk/MagicSoft/Mars/manalysis/MArrivalTimeCalc2.cc	(revision 3212)
+++ trunk/MagicSoft/Mars/manalysis/MArrivalTimeCalc2.cc	(revision 3213)
@@ -46,6 +46,6 @@
 #include "MPedestalPix.h"
 
-#include "MArrivalTime.h"
-
+#include "MArrivalTimeCam.h"
+#include "MArrivalTimePix.h"
 
 
@@ -144,5 +144,5 @@
     }
 
-    fArrivalTime = (MArrivalTime*)pList->FindCreateObj(AddSerialNumber("MArrivalTime"));
+    fArrivalTime = (MArrivalTimeCam*)pList->FindCreateObj(AddSerialNumber("MArrivalTimeCam"));
     if (!fArrivalTime)
         return kFALSE;
@@ -151,5 +151,5 @@
 }
 
-void MArrivalTimeCalc2::FindSignalTime(Byte_t *ptr, Byte_t size, Float_t &time, Int_t &sat, Byte_t pedes) const
+void MArrivalTimeCalc2::FindSignalTime(Byte_t *ptr, Byte_t size, Float_t &time, Float_t &deltatime, Int_t &sat, Float_t pedes, Float_t pedrms) const
 {
     const Byte_t *end = ptr + size;
@@ -203,4 +203,5 @@
 
     Int_t timesignalsum = 0;  
+    Int_t timesquaredsum =0;
     Int_t timesum =0;    
    
@@ -210,4 +211,5 @@
       timesignalsum += *p*(p-ptr);
       timesum += p-ptr;
+      timesquaredsum  += (p-ptr)*(p-ptr);
     }
     
@@ -219,5 +221,5 @@
     time = pedsubsum != 0 ? pedsubtimesignalsum / pedsubsum : 1;
 
- 
+    deltatime = pedsubsum != 0 ? pedrms / pedsubsum * sqrt(timesquaredsum - fWindowSize*time) : 1;
 }
 
@@ -238,5 +240,5 @@
         // Find signal in hi- and lo-gain
         //
-        Float_t timehi, timelo;
+        Float_t timehi, timelo, deltatimehi, deltatimelo;
         Int_t sathi, satlo;
 
@@ -247,20 +249,21 @@
 
 	const MPedestalPix  &ped = (*fPedestals)[pixid];
+
+	MArrivalTimePix &pix = (*fArrivalTime)[pixid];
      
 	const Float_t pedes  = ped.GetPedestal();
-	//  const Float_t pedrms = ped.GetPedestalRms();
-
-
-        FindSignalTime(pixel.GetHiGainSamples()+fHiGainFirst, fNumHiGainSamples, timehi, sathi, pedes);
-        FindSignalTime(pixel.GetLoGainSamples()+fLoGainFirst, fNumLoGainSamples, timelo, satlo, pedes);
-        if (satlo)
+	const Float_t pedrms = ped.GetPedestalRms();
+
+
+	FindSignalTime(pixel.GetHiGainSamples()+fHiGainFirst, fNumHiGainSamples, timehi, deltatimehi, sathi, pedes, pedrms);
+        FindSignalTime(pixel.GetLoGainSamples()+fLoGainFirst, fNumLoGainSamples, timelo, deltatimelo, satlo, pedes, pedrms);
+	
+	if (satlo)
             sat++;
      
-	if (!sathi)
-	{
-	  fArrivalTime->SetTime(pixid,timehi);
-	}
-        else
-	  fArrivalTime->SetTime(pixid,timelo);
+	pix.SetArrivalTime(timehi, deltatimehi,
+                           timelo, deltatimelo);	
+	
+	pix.SetGainSaturation(sathi, sathi, satlo);
 
 
Index: trunk/MagicSoft/Mars/manalysis/MArrivalTimeCalc2.h
===================================================================
--- trunk/MagicSoft/Mars/manalysis/MArrivalTimeCalc2.h	(revision 3212)
+++ trunk/MagicSoft/Mars/manalysis/MArrivalTimeCalc2.h	(revision 3213)
@@ -10,6 +10,5 @@
 
 class MPedestalCam;
-class MExtractedSignalCam;
-class MArrivalTime;
+class MArrivalTimeCam;
 
 class MArrivalTimeCalc2 : public MTask
@@ -22,5 +21,4 @@
 
     MPedestalCam        *fPedestals;    // Pedestals of all pixels in the camera
-    // MExtractedSignalCam *fSignals;      // Extracted signal of all pixels in the camera
 
     MRawEvtData         *fRawEvt;       // raw event data (time slices)
@@ -28,5 +26,5 @@
 
     
-    MArrivalTime        *fArrivalTime;  // Arrival Time of FADC sample
+    MArrivalTimeCam        *fArrivalTime;  // Arrival Time of FADC sample
      
   
@@ -42,5 +40,5 @@
     Byte_t  fSaturationLimit;
 
-    void   FindSignalTime(Byte_t *ptr, Byte_t size, Float_t &time, Int_t &sat, Byte_t pedes) const;
+    void   FindSignalTime(Byte_t *ptr, Byte_t size, Float_t &time,  Float_t &deltatime, Int_t &sat, Float_t pedes, Float_t pedrms) const;
 
     Int_t  PreProcess(MParList *pList);
@@ -57,2 +55,4 @@
 
 #endif
+
+
Index: trunk/MagicSoft/Mars/manalysis/MGeomApply.cc
===================================================================
--- trunk/MagicSoft/Mars/manalysis/MGeomApply.cc	(revision 3212)
+++ trunk/MagicSoft/Mars/manalysis/MGeomApply.cc	(revision 3213)
@@ -38,4 +38,6 @@
 //   MBlindPixels
 //   MArrivalTime
+//   MArrivalTimeCam
+//   MArrivalTimePix
 //
 //  It uses the geometry (MGeomCam) found in the parameter list.
@@ -54,4 +56,5 @@
 //   [MBlindPixels]
 //   [MArrivalTime]
+//   [MArrivalTimeCam]
 //
 //////////////////////////////////////////////////////////////////////////////
@@ -72,4 +75,6 @@
 #include "MExtractedSignalCam.h"
 #include "MBlindPixels.h"
+#include "MArrivalTimeCam.h"
+
 
 ClassImp(MGeomApply);
@@ -148,4 +153,9 @@
         tme->InitSize(cam->GetNumPixels());
 
+    MArrivalTimeCam *tmecam = (MArrivalTimeCam*)pList->FindObject(AddSerialNumber("MArrivalTimeCam"));
+    if (tmecam)
+      tmecam->InitSize(cam->GetNumPixels());
+
+
     return kTRUE;
 }
Index: trunk/MagicSoft/Mars/manalysis/Makefile
===================================================================
--- trunk/MagicSoft/Mars/manalysis/Makefile	(revision 3212)
+++ trunk/MagicSoft/Mars/manalysis/Makefile	(revision 3213)
@@ -24,5 +24,5 @@
 INCLUDES = -I. -I../mbase -I../mmc -I../mraw -I../mgeom -I../mfilter \
 	   -I../mdata -I../mhbase -I../mhist -I../mgui -I../mimage   \
-           -I../mhistmc -I../mfileio -I../mmain -I../mcalib          \
+           -I../mhistmc -I../mfileio -I../mmain -I../mcalib -I../msignal         \
            -I../mpointing -I../mtools
 # mcalib: MGeomApply (MCalibrationCam)
