Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 8128)
+++ trunk/MagicSoft/Mars/Changelog	(revision 8129)
@@ -23,4 +23,7 @@
    * mpedestal/MHPedestalCam.[h,cc]:
      - removed (due to inheritance it belongs to mhcalib)
+
+   * mbase/MArrayD.h, marrayF.h:
+     - added GetSum() member function
 
 
Index: trunk/MagicSoft/Mars/mbase/MArrayD.h
===================================================================
--- trunk/MagicSoft/Mars/mbase/MArrayD.h	(revision 8128)
+++ trunk/MagicSoft/Mars/mbase/MArrayD.h	(revision 8129)
@@ -157,4 +157,14 @@
     }
 
+    Double_t GetSum() const
+    {
+        const Double_t *end = fArray+fN;
+
+        Double_t sum = 0;
+        for (Double_t *ptr = fArray; ptr<end; ptr++)
+            sum += *ptr;
+        return sum;
+    }
+
     static void  StripZeros(TArrayD &arr);
     void  StripZeros();
Index: trunk/MagicSoft/Mars/mbase/MArrayF.h
===================================================================
--- trunk/MagicSoft/Mars/mbase/MArrayF.h	(revision 8128)
+++ trunk/MagicSoft/Mars/mbase/MArrayF.h	(revision 8129)
@@ -163,4 +163,15 @@
     }
 
+    Double_t GetSum() const
+    {
+        const Float_t *end = fArray+fN;
+
+        Double_t sum = 0;
+        for (Float_t *ptr=fArray; ptr<end; ptr++)
+            sum += *ptr;
+
+        return sum;
+    }
+
     static void  StripZeros(TArrayF &arr);
     void  StripZeros();
Index: trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeDigitalFilter.cc
===================================================================
--- trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeDigitalFilter.cc	(revision 8128)
+++ trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeDigitalFilter.cc	(revision 8129)
@@ -184,6 +184,6 @@
   // size of 6. The exact numbers have to be found still.
   //
-  fNumHiGainSamples = (Float_t)fWindowSizeHiGain/2.4;
-  fNumLoGainSamples = (Float_t)fWindowSizeLoGain/2.4;
+  fNumHiGainSamples = fAmpWeightsHiGain.GetSum()/fBinningResolutionHiGain;
+  fNumLoGainSamples = fAmpWeightsLoGain.GetSum()/fBinningResolutionLoGain;
   fSqrtHiGainSamples = TMath::Sqrt(fNumHiGainSamples);
   fSqrtLoGainSamples = TMath::Sqrt(fNumLoGainSamples);
