Index: /trunk/MagicSoft/Mars/Changelog
===================================================================
--- /trunk/MagicSoft/Mars/Changelog	(revision 5926)
+++ /trunk/MagicSoft/Mars/Changelog	(revision 5927)
@@ -20,4 +20,9 @@
 
                                                  -*-*- END OF LINE -*-*-
+
+ 2005/01/21 Markus Gaug
+
+   * msignal/MExtractTimeAndChargeDigitalFilter.cc
+     - use the max. bin content for low-gain extraction
 
  2005/01/21 Florian Goebel
Index: /trunk/MagicSoft/Mars/msignal/MExtractTimeAndCharge.cc
===================================================================
--- /trunk/MagicSoft/Mars/msignal/MExtractTimeAndCharge.cc	(revision 5926)
+++ /trunk/MagicSoft/Mars/msignal/MExtractTimeAndCharge.cc	(revision 5927)
@@ -186,5 +186,6 @@
       Byte_t sathi=0;
 
-      fMaxBinContent = 0;
+      // Initialize fMaxBinContent for the case, it gets not set by the derived class
+      fMaxBinContent = fMaxBinContentLimit + 1; 
 
       const Int_t pixidx = pixel.GetPixelId();
@@ -211,5 +212,5 @@
       // Adapt the low-gain extraction range from the obtained high-gain time
       //
-      if (pixel.HasLoGain() && (fMaxBinContent < fMaxBinContentLimit) )
+      if (pixel.HasLoGain() && (fMaxBinContent > fMaxBinContentLimit) )
       {
           deltasumlo  = 0; // make logain of MExtractedSignalPix valid
Index: /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeDigitalFilter.cc
===================================================================
--- /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeDigitalFilter.cc	(revision 5926)
+++ /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeDigitalFilter.cc	(revision 5927)
@@ -260,4 +260,5 @@
   const Float_t pedmean[2] = { pedes + ABoffs, pedes - ABoffs };
 
+  fMaxBinContent = 0;
   //
   // Check for saturation in all other slices
@@ -274,4 +275,7 @@
           maxpos =  p-ptr;
         }
+
+      if (*p > fMaxBinContent)
+	fMaxBinContent = *p;
 
       if (*p++ >= fSaturationLimit)
@@ -296,4 +300,7 @@
             }
           
+          if (*logain > fMaxBinContent)
+	    fMaxBinContent = *logain;
+
           if (*logain++ >= fSaturationLimit)
             if (!sat)
Index: /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeSlidingWindow.cc
===================================================================
--- /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeSlidingWindow.cc	(revision 5926)
+++ /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeSlidingWindow.cc	(revision 5927)
@@ -217,4 +217,6 @@
 
   Float_t PedMean[2] = { pedes + ABoffs, pedes - ABoffs };
+
+  fMaxBinContent = 0;
   //
   // Check for saturation in all other slices
@@ -229,4 +231,7 @@
       fHiGainSignal[count] = signal;
       
+      if (*p > fMaxBinContent)
+	fMaxBinContent = *p;
+
       if (*p++ >= fSaturationLimit)
         if (!sat)
@@ -285,4 +290,8 @@
           sum                 += signal - fHiGainSignal[count];
           fHiGainSignal[count + fWindowSizeHiGain] = signal;
+
+          if (*l > fMaxBinContent)
+	    fMaxBinContent = *logain;
+
           if (*l++ >= fSaturationLimit)
             if (!sat)
Index: /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeSpline.cc
===================================================================
--- /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeSpline.cc	(revision 5926)
+++ /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeSpline.cc	(revision 5927)
@@ -311,9 +311,9 @@
   const Float_t pedmean[2] = { pedes + ABoffs, pedes - ABoffs };
 
-  fAbMax        = 0.;
-  fAbMaxPos     = 0.;
-  fHalfMax      = 0.;
-  Int_t  maxpos = 0;
-  Int_t  max    = 0;
+  fAbMax         = 0.;
+  fAbMaxPos      = 0.;
+  fHalfMax       = 0.;
+  fMaxBinContent = 0;
+  Int_t  maxpos  = 0;
 
   //
@@ -327,8 +327,8 @@
       *sample++ = (Float_t)*p - pedmean[(ids++ + abflag) & 0x1];
 
-      if (*p > max)
+      if (*p > fMaxBinContent)
         {
           maxpos = ids-fHiGainFirst-1;
-          max    = *p;
+          fMaxBinContent = *p;
         }
 
@@ -349,8 +349,8 @@
           *sample++ = (Float_t)*logain - pedmean[(ids++ + abflag) & 0x1];
 
-          if (*logain > max)
+          if (*logain > fMaxBinContent)
             { 
               maxpos = ids-fHiGainFirst-1;
-              max    = *logain;
+              fMaxBinContent = *logain;
             }
           
