Index: trunk/psphot/src/psphotRadiusChecks.c
===================================================================
--- trunk/psphot/src/psphotRadiusChecks.c	(revision 6715)
+++ trunk/psphot/src/psphotRadiusChecks.c	(revision 6753)
@@ -1,3 +1,4 @@
 # include "psphot.h"
+# define RADIUS_TYPE float
 
 static float PSF_FIT_NSIGMA;
@@ -23,12 +24,12 @@
 
     // set the fit radius based on the object flux limit and the model
-    model->radius = modelRadiusPSF (model->params, PSF_FIT_NSIGMA*moments->dSky) + PSF_FIT_PADDING;
-    if (isnan(model->radius)) psAbort ("apply_psf_model", "error in radius");
+    model->radiusTMP = (RADIUS_TYPE) (modelRadiusPSF (model->params, PSF_FIT_NSIGMA*moments->dSky) + PSF_FIT_PADDING);
+    if (isnan(model->radiusTMP)) psAbort ("apply_psf_model", "error in radius");
 	
-    if (source->mode &  PM_SOURCE_MODE_SATSTAR) {
-	model->radius *= 2;
+    if (source->mode & PM_SOURCE_MODE_SATSTAR) {
+	model->radiusTMP *= 2;
     }
 
-    bool status = pmSourceRedefinePixels (source, readout, model->params->data.F32[2], model->params->data.F32[3], model->radius);
+    bool status = pmSourceRedefinePixels (source, readout, model->params->data.F32[2], model->params->data.F32[3], model->radiusTMP);
     return status;
 }
@@ -40,12 +41,12 @@
 
     // set the fit radius based on the object flux limit and the model
-    model->radius = modelRadiusPSF (model->params, PSF_FIT_NSIGMA*moments->dSky) + dR + PSF_FIT_PADDING;
-    if (isnan(model->radius)) psAbort ("apply_psf_model", "error in radius");
+    model->radiusTMP = (RADIUS_TYPE) (modelRadiusPSF (model->params, PSF_FIT_NSIGMA*moments->dSky) + dR + PSF_FIT_PADDING);
+    if (isnan(model->radiusTMP)) psAbort ("apply_psf_model", "error in radius");
 	
     if (source->mode &  PM_SOURCE_MODE_SATSTAR) {
-	model->radius *= 2;
+	model->radiusTMP *= 2;
     }
 
-    bool status = pmSourceRedefinePixels (source, readout, model->params->data.F32[2], model->params->data.F32[3], model->radius);
+    bool status = pmSourceRedefinePixels (source, readout, model->params->data.F32[2], model->params->data.F32[3], model->radiusTMP);
     return status;
 }
@@ -73,9 +74,9 @@
 
     // set the fit radius based on the object flux limit and the model
-    model->radius = modelRadiusEXT (model->params, EXT_FIT_NSIGMA*moments->dSky) + EXT_FIT_PADDING;
-    if (isnan(model->radius)) psAbort (__func__, "error in radius");
+    model->radiusTMP = (RADIUS_TYPE) (modelRadiusEXT (model->params, EXT_FIT_NSIGMA*moments->dSky) + EXT_FIT_PADDING);
+    if (isnan(model->radiusTMP)) psAbort (__func__, "error in radius");
 
     // redefine the pixels if needed
-    bool status = pmSourceRedefinePixels (source, readout, model->params->data.F32[2], model->params->data.F32[3], model->radius);
+    bool status = pmSourceRedefinePixels (source, readout, model->params->data.F32[2], model->params->data.F32[3], model->radiusTMP);
     return status;
 }
