Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 8575)
+++ trunk/MagicSoft/Mars/Changelog	(revision 8577)
@@ -18,4 +18,20 @@
 
                                                  -*-*- END OF LINE -*-*-
+
+ 2007/06/18 Thomas Bretz
+
+   * mbadpixels/Makefile:
+     - added include of mraw
+
+   * mbadpixels/MBadPixelsTreat.[h,cc]:
+     - added some comments
+     - check for MRawRunHeader
+     - calculate max time difference from time in ns
+
+   * callisto.rc callisto_mux.rc, callisto_Dec04Jan05.rc:
+     - changed old value for time difference to 3.0
+     - use the default value (3.0) in all files
+
+
 
  2007/06/17 Thomas Bretz
Index: trunk/MagicSoft/Mars/NEWS
===================================================================
--- trunk/MagicSoft/Mars/NEWS	(revision 8575)
+++ trunk/MagicSoft/Mars/NEWS	(revision 8577)
@@ -20,4 +20,8 @@
      limits in the signal- and pedestal-extraction) the numbers
      refer still to the data's 16bit range.
+
+   - callisto: The maximum arrival time difference used in the bad
+     pixel treatment is now in units of nanoseconds, which leads to 3.0ns
+     for both, old FADC and MUX-FADC, data.
 
 
Index: trunk/MagicSoft/Mars/callisto.rc
===================================================================
--- trunk/MagicSoft/Mars/callisto.rc	(revision 8575)
+++ trunk/MagicSoft/Mars/callisto.rc	(revision 8577)
@@ -129,5 +129,6 @@
 #MJPedestalC1.ExtractPedestal.PedestalUpdate:    no
 #MJPedestalC1.ExtractPedestal.CheckWinFirst:     0
-#MJPedestalC1.ExtractPedestal.CheckWinSize:     29
+#MJPedestalC1.ExtractPedestal.CheckWinLast:      6
+#MJPedestalC1.ExtractPedestal.MaxSignalVar: 300
 
 #MJPedestalC2.ExtractPedestal: MPedCalcPedRun
@@ -392,5 +393,5 @@
 #MJCalibrateSignal.MBadPixelsCalc.PedestalLevelVariance: 3.0
 #MJCalibrateSignal.MBadPixelsTreat.NumMinNeighbors:    3
-#MJCalibrateSignal.MBadPixelsTreat.MaxArrivalTimeDiff: 1.0
+#MJCalibrateSignal.MBadPixelsTreat.MaxArrivalTimeDiff: 3.0
 #MJCalibrateSignal.MBadPixelsTreat.UseInterpolation:   yes
 #MJCalibrateSignal.MBadPixelsTreat.ProcessPedestalEvt: yes
Index: trunk/MagicSoft/Mars/callisto_Dec04Jan05.rc
===================================================================
--- trunk/MagicSoft/Mars/callisto_Dec04Jan05.rc	(revision 8575)
+++ trunk/MagicSoft/Mars/callisto_Dec04Jan05.rc	(revision 8577)
@@ -155,6 +155,7 @@
 #MJPedestalC1.ExtractPedestal.ExtractWinSize:     6
 #MJPedestalC1.ExtractPedestal.PedestalUpdate:    no
-#MJPedestalC1.ExtractPedestal.CheckWinFirst:     0
-#MJPedestalC1.ExtractPedestal.CheckWinSize:     29
+#MJPedestalC1.ExtractPedestal.CheckWinFirst:      0
+#MJPedestalC1.ExtractPedestal.CheckWinLast:      29
+#MJPedestalC1.ExtractPedestal.MaxSignalVar:      40
 
 #MJPedestalC2.ExtractPedestal: MPedCalcPedRun
@@ -162,6 +163,7 @@
 #MJPedestalC2.ExtractPedestal.ExtractWinSize:     6
 #MJPedestalC2.ExtractPedestal.PedestalUpdate:    no
-#MJPedestalC2.ExtractPedestal.CheckWinFirst:     0
-#MJPedestalC2.ExtractPedestal.CheckWinSize:     29
+#MJPedestalC2.ExtractPedestal.CheckWinFirst:      0
+#MJPedestalC2.ExtractPedestal.CheckWinLast:      29
+#MJPedestalC2.ExtractPedestal.MaxSignalVar:      40
 
 # -------------------------------------------------------------------------
@@ -174,7 +176,7 @@
 #MJPedestalC1.ExtractPedestal.ExtractWinSize:     6
 #MJPedestalC1.ExtractPedestal.PedestalUpdate:    no
-#MJPedestalC1.ExtractPedestal.CheckWinFirst:     0
-#MJPedestalC1.ExtractPedestal.CheckWinSize:     29
-#MJPedestalC1.ExtractPedestal.MaxSignalVar:     40
+#MJPedestalC1.ExtractPedestal.CheckWinFirst:      0
+#MJPedestalC1.ExtractPedestal.CheckWinLast:      29
+#MJPedestalC1.ExtractPedestal.MaxSignalVar:      40
 
 #MJPedestalC2.ExtractPedestal: MPedCalcFromLoGain
@@ -182,7 +184,7 @@
 #MJPedestalC2.ExtractPedestal.ExtractWinSize:     6
 #MJPedestalC2.ExtractPedestal.PedestalUpdate:    no
-#MJPedestalC2.ExtractPedestal.CheckWinFirst:     0
-#MJPedestalC2.ExtractPedestal.CheckWinSize:     29
-#MJPedestalC2.ExtractPedestal.MaxSignalVar:     40
+#MJPedestalC2.ExtractPedestal.CheckWinFirst:      0
+#MJPedestalC2.ExtractPedestal.CheckWinLast:      29
+#MJPedestalC2.ExtractPedestal.MaxSignalVar:      40
 
 # -------------------------------------------------------------------------
@@ -356,5 +358,5 @@
 #MJCalibrateSignal.MPedCalcFundamental.ExtractWinSize:     6
 #MJCalibrateSignal.MPedCalcFundamental.CheckWinFirst:      0
-#MJCalibrateSignal.MPedCalcFundamental.CheckWinSize:      29
+#MJCalibrateSignal.MPedCalcFundamental.CheckWinLast:      29
 #MJCalibrateSignal.MPedCalcFundamental.MaxSignalVar:      40
 
@@ -367,5 +369,5 @@
 #MJCalibrateSignal.MPedCalcFromExtractorRndm.ExtractWinSize:     6
 #MJCalibrateSignal.MPedCalcFromExtractorRndm.CheckWinFirst:      0
-#MJCalibrateSignal.MPedCalcFromExtractorRndm.CheckWinSize:      29
+#MJCalibrateSignal.MPedCalcFromExtractorRndm.CheckWinLast:      29
 #MJCalibrateSignal.MPedCalcFromExtractorRndm.MaxSignalVar:      40
 
@@ -378,5 +380,5 @@
 #MJCalibrateSignal.MPedCalcFromExtractor.ExtractWinSize:     6
 #MJCalibrateSignal.MPedCalcFromExtractor.CheckWinFirst:      0
-#MJCalibrateSignal.MPedCalcFromExtractor.CheckWinSize:      29
+#MJCalibrateSignal.MPedCalcFromExtractor.CheckWinLast:      29
 #MJCalibrateSignal.MPedCalcFromExtractor.MaxSignalVar:      40
 
@@ -417,5 +419,5 @@
 #MJCalibrateSignal.MBadPixelsCalc.PedestalLevelVariance: 3.0
 #MJCalibrateSignal.MBadPixelsTreat.NumMinNeighbors:    3
-#MJCalibrateSignal.MBadPixelsTreat.MaxArrivalTimeDiff: 1.0
+#MJCalibrateSignal.MBadPixelsTreat.MaxArrivalTimeDiff: 3.0
 #MJCalibrateSignal.MBadPixelsTreat.UseInterpolation:   yes
 #MJCalibrateSignal.MBadPixelsTreat.ProcessPedestalEvt: yes
Index: trunk/MagicSoft/Mars/callisto_mux.rc
===================================================================
--- trunk/MagicSoft/Mars/callisto_mux.rc	(revision 8575)
+++ trunk/MagicSoft/Mars/callisto_mux.rc	(revision 8577)
@@ -415,5 +415,5 @@
 #MJCalibrateSignal.MBadPixelsCalc.PedestalLevelVariance: 3.0
 #MJCalibrateSignal.MBadPixelsTreat.NumMinNeighbors:    3
-MJCalibrateSignal.MBadPixelsTreat.MaxArrivalTimeDiff: 6.0
+#MJCalibrateSignal.MBadPixelsTreat.MaxArrivalTimeDiff: 3.0
 #MJCalibrateSignal.MBadPixelsTreat.UseInterpolation:   yes
 #MJCalibrateSignal.MBadPixelsTreat.ProcessPedestalEvt: yes
Index: trunk/MagicSoft/Mars/mbadpixels/MBadPixelsTreat.cc
===================================================================
--- trunk/MagicSoft/Mars/mbadpixels/MBadPixelsTreat.cc	(revision 8575)
+++ trunk/MagicSoft/Mars/mbadpixels/MBadPixelsTreat.cc	(revision 8577)
@@ -1,4 +1,4 @@
 /* ======================================================================== *\
-! $Name: not supported by cvs2svn $:$Id: MBadPixelsTreat.cc,v 1.38 2007-03-01 17:42:27 tbretz Exp $
+! $Name: not supported by cvs2svn $:$Id: MBadPixelsTreat.cc,v 1.39 2007-06-18 14:11:08 tbretz Exp $
 ! --------------------------------------------------------------------------
 !
@@ -64,4 +64,5 @@
 //   MPedPhotCam
 //   MBadPixelsCam
+//   MRawRunHeader
 //   [MGeomCam]
 //
@@ -97,4 +98,6 @@
 #include "MBadPixelsCam.h"
 
+#include "MRawRunHeader.h"
+
 ClassImp(MBadPixelsTreat);
 
@@ -109,6 +112,7 @@
 //
 MBadPixelsTreat::MBadPixelsTreat(const char *name, const char *title)
-    : fGeomCam(0), fEvt(0), fBadPixels(0), fPedPhot1(0), fPedPhot2(0),
-    fFlags(0), fNumMinNeighbors(3), fMaxArrivalTimeDiff(0.9)
+    : fGeomCam(0), fEvt(0), fBadPixels(0), fRawRunHeader(0),
+    fPedPhot1(0), fPedPhot2(0),fFlags(0), fNumMinNeighbors(3),
+    fMaxArrivalTimeDiff(3.)
 {
     fName  = name  ? name  : gsDefName.Data();
@@ -146,4 +150,11 @@
 Int_t MBadPixelsTreat::PreProcess (MParList *pList)
 {
+    fRawRunHeader = (MRawRunHeader*)pList->FindObject(AddSerialNumber("MRawRunHeader"));
+    if (!fRawRunHeader)
+    {
+        *fLog << err << AddSerialNumber("MRawRunHeader") << " not found... aborting." << endl;
+        return kFALSE;
+    }
+
     fBadPixels = (MBadPixelsCam*)pList->FindObject(AddSerialNumber("MBadPixelsCam"));
     if (!fBadPixels)
@@ -216,5 +227,5 @@
 
         if (fPedPhot1 && fPedPhot2)
-            *fLog << "Maximum arrival time difference: " << fMaxArrivalTimeDiff << endl;
+            *fLog << "Maximum arrival time difference: " << fMaxArrivalTimeDiff << "ns" << endl;
 
     }
@@ -434,4 +445,6 @@
 void MBadPixelsTreat::InterpolateTimes() const
 {
+    const Double_t maxdiff = fMaxArrivalTimeDiff*fRawRunHeader->GetFreqSampling()/1000.;
+
     const Int_t n = fEvt->GetNumPixels();
     for (int i=0; i<n; i++)
@@ -478,5 +491,5 @@
 
             // Calculate mean arrival time of pixel probably inside the shower
-            if (TMath::Abs(tm1 - tm2)<fMaxArrivalTimeDiff)
+            if (TMath::Abs(tm1 - tm2)<maxdiff)
             {
                 sum2 += tm1+tm2;
Index: trunk/MagicSoft/Mars/mbadpixels/MBadPixelsTreat.h
===================================================================
--- trunk/MagicSoft/Mars/mbadpixels/MBadPixelsTreat.h	(revision 8575)
+++ trunk/MagicSoft/Mars/mbadpixels/MBadPixelsTreat.h	(revision 8577)
@@ -10,17 +10,19 @@
 class MPedPhotCam;
 class MBadPixelsCam;
+class MRawRunHeader;
 
 class MBadPixelsTreat : public MTask
 {
 private:
-    MGeomCam      *fGeomCam;   //!
-    MSignalCam    *fEvt;       //!
-    MBadPixelsCam *fBadPixels; //!
+    MGeomCam      *fGeomCam;       //! Camera geometry to get the area scaling factors
+    MSignalCam    *fEvt;           //! Signal Event to be interpolated
+    MBadPixelsCam *fBadPixels;     //! Bad Pixels to be interpolated
+    MRawRunHeader *fRawRunHeader;  //! Run header to get the sampling frequency
 
-    MPedPhotCam   *fPedPhot1;  //! Pedestal from extractor used for "no-signal" in InterpolateTimes
-    MPedPhotCam   *fPedPhot2;  //! Pedestal from extractor used for "no-signal" in InterpolateTimes
+    MPedPhotCam   *fPedPhot1;      //! Pedestal from extractor used for "no-signal" in InterpolateTimes
+    MPedPhotCam   *fPedPhot2;      //! Pedestal from extractor used for "no-signal" in InterpolateTimes
 
 
-    TList fPedPhotCams;
+    TList fPedPhotCams;            // List of PedPhotCams to be treated
 
     Byte_t  fFlags;                // flag for the method which is used
Index: trunk/MagicSoft/Mars/mbadpixels/Makefile
===================================================================
--- trunk/MagicSoft/Mars/mbadpixels/Makefile	(revision 8575)
+++ trunk/MagicSoft/Mars/mbadpixels/Makefile	(revision 8577)
@@ -21,5 +21,5 @@
 INCLUDES = -I. -I../mbase -I../manalysis -I../mgeom -I../mgui \
            -I../mmc -I../mpedestal -I../msignal -I../mpointing \
-           -I../mhbase -I../mhist
+           -I../mhbase -I../mhist -I../mraw
 # MBadPixelsCalc  (manalysis): MPedPhotCam, MSigmabar
 # MBadPixelsCalc  (mgeom):     MGeomCam
