Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 4041)
+++ trunk/MagicSoft/Mars/Changelog	(revision 4042)
@@ -18,4 +18,17 @@
 
                                                  -*-*- END OF LINE -*-*-
+
+ 2004/05/10: Marcos Lopez
+
+   * mmontecarlo/MMcEnergyEst.cc: 
+     - In static void fcn(...), fixed the following bugs which caused a
+       "segmentation violation":
+     - Replace: MTaskList *tlist  = evtloop->GetTaskList()
+       by:      MTaskList *tlist = (MTaskList*)plist->FindObject("MTaskList")
+     - And get the pointer *eval to MParamterD("MFitResult"), after 
+       the excution of the Eventloop and not before it (since that object is 
+       created when calling the PreProcess).
+
+
  2004/05/10: Thomas Bretz
 
Index: trunk/MagicSoft/Mars/mmontecarlo/MMcEnergyEst.cc
===================================================================
--- trunk/MagicSoft/Mars/mmontecarlo/MMcEnergyEst.cc	(revision 4041)
+++ trunk/MagicSoft/Mars/mmontecarlo/MMcEnergyEst.cc	(revision 4042)
@@ -19,4 +19,5 @@
 !   Author(s): Wolfgang Wittek 1/2002 <mailto:wittek@mppmu.mpg.de>
 !   Author(s): Abelardo Moralejo 4/2003 <mailto:moralejo@pd.infn.it>
+!   Author(s): Marcos Lopez 5/2004 <mailto:marcos@gae.ucm.es>
 !
 !   Copyright: MAGIC Software Development, 2000-2003
@@ -75,15 +76,21 @@
 
     MParList  *plist  = evtloop->GetParList();
-    MTaskList *tlist  = evtloop->GetTaskList();
-
-    MParameterD     *eval = (MParameterD*)    plist->FindObject("MFitResult", "MParameterD");
+    MTaskList *tlist = (MTaskList*)plist->FindObject("MTaskList");
+ 
+
+    // Pass current minuit parameters to the energy estimation class 
     MEnergyEstParam *eest = (MEnergyEstParam*)tlist->FindObject("MEnergyEstParam");
-
     eest->SetCoeff(TArrayD(eest->GetNumCoeff(), par));
 
+    
     evtloop->Eventloop();
 
+
+    // Get result of the ChiSquare 
+    MParameterD *eval = (MParameterD*)plist->FindObject("MFitResult", "MParameterD");
+    
     f = eval->GetVal();
 }
+
 
 // --------------------------------------------------------------------------
