Index: /branches/eam_branches/ipp-20120627/psModules/src/objects/models/pmModel_TRAIL.c
===================================================================
--- /branches/eam_branches/ipp-20120627/psModules/src/objects/models/pmModel_TRAIL.c	(revision 34186)
+++ /branches/eam_branches/ipp-20120627/psModules/src/objects/models/pmModel_TRAIL.c	(revision 34187)
@@ -59,6 +59,6 @@
 
 // Lax parameter limits 
-static float paramsMinLax[] = { -1.0e3, 1.0e-2, -1.0e2, -1.0e2,  0.5, -3.3, -0.5 };
-static float paramsMaxLax[] = {  1.0e5, 1.0e+8, +1.0e4, +1.0e4, 50.0, +3.3 , 5.0 };
+static float paramsMinLax[] = { -1.0e3, 1.0e-2, -1.0e2, -1.0e2,   0.5, -3.3, -0.5 };
+static float paramsMaxLax[] = {  1.0e5, 1.0e+8, +1.0e4, +1.0e4, 150.0, +3.3 , 5.0 };
 
 // Moderate parameter limits
@@ -255,6 +255,8 @@
     if (!isfinite(axes.theta)) return false;
 
+    float size = (axes.major > source->moments->Mrf) ? axes.major : source->moments->Mrf;
+
     // axes.major is a sigma in the major direction; scale to 
-    PAR[PM_PAR_LENGTH] = 1.5*2.35*axes.major; // a tophat of length L has L = 1.5 * 2.35 * sigma
+    PAR[PM_PAR_LENGTH] = 1.5*2.35*size; // a tophat of length L has L = 1.5 * 2.35 * sigma
     PAR[PM_PAR_THETA] = axes.theta; // theta in radians
     PAR[PM_PAR_SIGMA] = psfAxes.major; // psf major axes (sigma of the psf)
@@ -267,5 +269,5 @@
     // set the model position
     if (!pmModelSetPosition(&PAR[PM_PAR_XPOS], &PAR[PM_PAR_YPOS], source)) {
-      return false;
+       return false;
     }
 
