Index: trunk/MagicSoft/Mars/macros/getExtractor.C
===================================================================
--- trunk/MagicSoft/Mars/macros/getExtractor.C	(revision 5696)
+++ trunk/MagicSoft/Mars/macros/getExtractor.C	(revision 5697)
@@ -45,9 +45,9 @@
 //       5:           SetRange('maxbin'-5,'maxbin'+8,'maxbin'-1.5,'maxbin'+7.5) 
 //         MExtractFixedWindowSpline:  
-//       6:           SetRange('maxbin'-1,'maxbin'+2,'maxbin'+0.5,'maxbin'+3.5) 
-//       7:           SetRange('maxbin'-1,'maxbin'+2,'maxbin'-0.5,'maxbin'+4.5) 
-//       8:           SetRange('maxbin'-2,'maxbin'+3,'maxbin'-0.5,'maxbin'+4.5) 
-//       9:           SetRange('maxbin'-3,'maxbin'+4,'maxbin'-1.5,'maxbin'+5.5) 
-//       10:          SetRange('maxbin'-5,'maxbin'+8,'maxbin'-1.5,'maxbin'+7.5) 
+//       6:           SetRange('maxbin'-1.5,'maxbin'+2.5,'maxbin','maxbin'+4) 
+//       7:           SetRange('maxbin'-1.5,'maxbin'+2.5,'maxbin'-1,'maxbin'+5) 
+//       8:           SetRange('maxbin'-2.5,'maxbin'+3.5,'maxbin'-1,'maxbin'+5) 
+//       9:           SetRange('maxbin'-3.5,'maxbin'+4.5,'maxbin'-2,'maxbin'+6) 
+//       10:          SetRange('maxbin'-5.5,'maxbin'+8.5,'maxbin'-2,'maxbin'+8) 
 //         MExtractFixedWindowPeakSearch:  
 //                    SetRange(0,18,2,14) and the following parameters: 
@@ -214,17 +214,17 @@
       // MExtractFixedWindowSpline:
     case 6:
-      extractor->SetRange(4,7,6,9);
+      extractor->SetRange(3,7,5,9);
       break;
     case 7:
-      extractor->SetRange(4,7,5,10);
+      extractor->SetRange(3,7,5,11);
       break;
     case 8:
-      extractor->SetRange(3,8,5,10);
+      extractor->SetRange(3,9,5,11);
       break;
     case 9:
-      extractor->SetRange(2,9,4,11);
+      extractor->SetRange(2,10,4,12);
       break;
     case 10:
-      extractor->SetRange(0,13,4,13);
+      extractor->SetRange(0,14,4,14);
       break;
       // MExtractFixedWindowPeakSearch:
Index: trunk/MagicSoft/Mars/msignal/MExtractFixedWindowSpline.cc
===================================================================
--- trunk/MagicSoft/Mars/msignal/MExtractFixedWindowSpline.cc	(revision 5696)
+++ trunk/MagicSoft/Mars/msignal/MExtractFixedWindowSpline.cc	(revision 5697)
@@ -30,13 +30,21 @@
 // 
 //   Call: SetRange(fHiGainFirst, fHiGainLast, fLoGainFirst, fLoGainLast) 
-//         to modify the ranges. Ranges have to be an even number. In case of odd 
-//         ranges, the last slice will be reduced by one.
+//         to modify the ranges. 
+//
+//         The spline will then be integrated from fHiGainFirst to fHiGainLast, 
+//         including half of the outer edges. The effective number of intergrated
+//         slices ("range") is thus: 
+// 
+//         range = fHiGainLast - fHiGainFirst
+//
+//         Ranges have to be an even number. In case of odd ranges, the last slice 
+//         will be reduced by one.
 //
 //  Defaults are: 
 // 
-//   fHiGainFirst =  fgHiGainFirst =  3 
+//   fHiGainFirst =  fgHiGainFirst =  2 
 //   fHiGainLast  =  fgHiGainLast  =  14
 //   fLoGainFirst =  fgLoGainFirst =  3 
-//   fLoGainLast  =  fgLoGainLast  =  14
+//   fLoGainLast  =  fgLoGainLast  =  13
 //
 //////////////////////////////////////////////////////////////////////////////
@@ -55,5 +63,5 @@
 const Byte_t  MExtractFixedWindowSpline::fgHiGainLast   = 14;
 const Byte_t  MExtractFixedWindowSpline::fgLoGainFirst  = 3;
-const Byte_t  MExtractFixedWindowSpline::fgLoGainLast   = 14;
+const Byte_t  MExtractFixedWindowSpline::fgLoGainLast   = 13;
 // --------------------------------------------------------------------------
 //
@@ -110,6 +118,6 @@
 {
 
-  const Byte_t windowhi = hilast-hifirst+1;
-  const Byte_t whieven = windowhi & ~1;
+  const Byte_t windowhi = hilast-hifirst;
+  const Byte_t whieven  = windowhi & ~1;
 
   if (whieven != windowhi)
@@ -129,6 +137,6 @@
     }
 
-  const Byte_t windowlo = lolast-lofirst+1;
-  const Byte_t wloeven = windowlo & ~1;
+  const Byte_t windowlo = lolast-lofirst;
+  const Byte_t wloeven  = windowlo & ~1;
 
   if (lolast != 0)
@@ -235,4 +243,5 @@
   
   const Byte_t *end = ptr + fHiGainLast - fHiGainFirst;
+
   Int_t range = fHiGainLast - fHiGainFirst + fHiLoLast + 1;
   
