Index: /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeSpline.cc
===================================================================
--- /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeSpline.cc	(revision 5225)
+++ /trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeSpline.cc	(revision 5226)
@@ -110,4 +110,5 @@
 //  1) If Charge Type: kAmplitude was chosen: 1.
 //  2) If Charge Type: kIntegral was chosen: TMath::Floor(fRiseTime + fFallTime)
+//                 or: TMath::Floor(fRiseTime + fFallTime + 1.) in the case of the low-gain
 //
 //  Call: SetRange(fHiGainFirst, fHiGainLast, fLoGainFirst, fLoGainLast) 
@@ -138,5 +139,6 @@
 //          computation of the integral beneith the spline between fRiseTime 
 //          from the position of the maximum to fFallTime after the position of 
-//          the maximum.
+//          the maximum. The Low Gain is computed with one more slice at the falling
+//          edge.
 //          --> needs one more simple summation loop over 7 slices.
 //        
@@ -272,7 +274,7 @@
     {
       fNumHiGainSamples  = TMath::Floor(fRiseTime + fFallTime);
-      fNumLoGainSamples  = fNumHiGainSamples;
+      fNumLoGainSamples  = fNumHiGainSamples + 1.;
       fSqrtHiGainSamples = TMath::Sqrt(fNumHiGainSamples);
-      fSqrtLoGainSamples = fSqrtHiGainSamples;
+      fSqrtLoGainSamples = TMath::Sqrt(fNumLoGainSamples);
     }
 }
@@ -859,6 +861,6 @@
   // Try a better precision. 
   //
-  const Float_t up = fAbMaxPos+step-0.055;
-  const Float_t lo = fAbMaxPos-step+0.055;
+  const Float_t up = fAbMaxPos+step-0.035;
+  const Float_t lo = fAbMaxPos-step+0.035;
   const Float_t maxpossave = fAbMaxPos;
   
@@ -867,5 +869,5 @@
   b     = x - lower;
  
-  step  = 0.02; // step size of 42 ps 
+  step  = 0.025; // step size of 83 ps 
  
   while (x<up)
@@ -890,5 +892,5 @@
 
   //
-  // Second, try from time down to time-0.2 in steps of 0.04.
+  // Second, try from time down to time-0.2 in steps of 0.025.
   //
   x     = maxpossave;
@@ -962,5 +964,5 @@
       Bool_t back = kFALSE;
       
-      Int_t maxcnt = 1000;
+      Int_t maxcnt = 50;
       Int_t cnt    = 0;
 
@@ -1016,5 +1018,5 @@
       // 
       Int_t startslice = (Int_t)(fAbMaxPos - fRiseTime);
-      Int_t lastslice  = (Int_t)(fAbMaxPos + fFallTime);
+      Int_t lastslice  = (Int_t)(fAbMaxPos + fFallTime + 1);
       
       if (startslice < 0)
