Index: trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeDigitalFilter.cc
===================================================================
--- trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeDigitalFilter.cc	(revision 5492)
+++ trunk/MagicSoft/Mars/msignal/MExtractTimeAndChargeDigitalFilter.cc	(revision 5493)
@@ -180,4 +180,24 @@
 // --------------------------------------------------------------------------
 //
+// PreProcess
+//
+// Calls:
+// - ReadWeightsFile(fNameWeightsFile) if the weights have not yet been set.
+// - Creates new arrays according to the extraction range
+//
+Int_t MExtractTimeAndChargeDigitalFilter::PreProcess(MParList *pList)
+{
+
+  if (!fWeightsSet)
+    if (!ReadWeightsFile(fNameWeightsFile));
+  return kFALSE;
+
+  Print();
+
+  return MExtractTimeAndCharge::PreProcess(pList);
+}
+
+// --------------------------------------------------------------------------
+//
 // ReInit
 //
@@ -191,8 +211,4 @@
         return kFALSE;
 
-    if (!fWeightsSet)
-      if (!ReadWeightsFile(fNameWeightsFile));
-        return kFALSE;
-
     fHiGainSignal.Set(fHiGainLast - fHiGainFirst + 1 + fHiLoLast);
     fLoGainSignal.Set(fLoGainLast - fLoGainFirst + 1);
@@ -204,20 +220,4 @@
 }
 
-Int_t MExtractTimeAndChargeDigitalFilter::PreProcess(MParList *pList)
-{
-    *fLog << endl;
-    *fLog << inf << "Using the following weights: " << endl;
-    *fLog << "Hi-Gain:" << endl;
-
-    for (Int_t i=0; i<fBinningResolutionHiGain*fWindowSizeHiGain; i++)
-        *fLog << " " << fAmpWeightsHiGain[i] << " \t " << fTimeWeightsHiGain[i] << endl;
-
-    *fLog << "Lo-Gain:" << endl;
-
-    for (Int_t i=0; i<fBinningResolutionLoGain*fWindowSizeLoGain; i++)
-        *fLog << " " << fAmpWeightsLoGain[i] << " \t " << fTimeWeightsLoGain[i] << endl;
-
-    return MExtractTimeAndCharge::PreProcess(pList);
-}
 
 void MExtractTimeAndChargeDigitalFilter::FindTimeAndChargeHiGain(Byte_t *ptr, Byte_t *logain, Float_t &sum, Float_t &dsum, 
@@ -994,4 +994,14 @@
     *fLog << " Binning Res LoGain: " << fBinningResolutionHiGain << endl;
   
+    *fLog << endl;
+    *fLog << inf << "Using the following weights: " << endl;
+    *fLog << "Hi-Gain:" << endl;
+    for (Int_t i=0; i<fBinningResolutionHiGain*fWindowSizeHiGain; i++)
+      *fLog << " " << fAmpWeightsHiGain[i] << " \t " << fTimeWeightsHiGain[i] << endl;
+    
+    *fLog << "Lo-Gain:" << endl;
+    for (Int_t i=0; i<fBinningResolutionLoGain*fWindowSizeLoGain; i++)
+      *fLog << " " << fAmpWeightsLoGain[i] << " \t " << fTimeWeightsLoGain[i] << endl;
+    
     MExtractTimeAndCharge::Print(o);
 }
