Index: trunk/ppSim/src/ppSimMakeGalaxies.c
===================================================================
--- trunk/ppSim/src/ppSimMakeGalaxies.c	(revision 29011)
+++ trunk/ppSim/src/ppSimMakeGalaxies.c	(revision 30618)
@@ -28,4 +28,6 @@
     float galaxyThetaMax  = psMetadataLookupF32(&mdok, recipe, "GALAXY.THETA.MAX"); // Density of fakes
     float galaxyThetaMin  = psMetadataLookupF32(&mdok, recipe, "GALAXY.THETA.MIN"); // Density of fakes
+    galaxyThetaMax *= PS_RAD_DEG;
+    galaxyThetaMin *= PS_RAD_DEG;
 
     float galaxyIndexMin  = psMetadataLookupF32(&mdok, recipe, "GALAXY.INDEX.MIN"); // Density of fakes
@@ -95,4 +97,6 @@
 
 	int i = 0;
+	float refNorm = 1.0;
+	float ourNorm = 1.0;
 
 	for (long iy = 0.5*galaxyGridDY; iy < ySize; iy += galaxyGridDY) {
@@ -104,5 +108,7 @@
 		galaxy->y    = iy;
 
-		galaxy->peak = 1000;
+		// galaxy->peak = 1000;
+		galaxy->peak = bright / 100.0;
+		// fprintf (stderr, "Io: %f\n", bright);
 
 		// galaxyIndex from user should be for function of this form: exp(-r^(1/n))
@@ -111,9 +117,9 @@
 		float rndValue;
 
-		rndValue = galaxyGridRandom ? drand48() : i / num;
+		rndValue = galaxyGridRandom ? drand48() : i / (float) num;
 		float index = (galaxyIndexMin  + rndValue * galaxyIndexSlope);
 		galaxy->index = 0.5/index; // factor of 0.5 because the Sersic model creates exp(-z^n), not exp(-r^n)
 
-		rndValue = galaxyGridRandom ? drand48() : i / num;
+		rndValue = galaxyGridRandom ? drand48() : i / (float) num;
 		float scale = (galaxyRmajorMin + rndValue * galaxyRmajorSlope);
 
@@ -125,14 +131,18 @@
 		galaxy->Rmaj  = scale;
 
-		rndValue = galaxyGridRandom ? drand48() : i / num;
+		rndValue = galaxyGridRandom ? drand48() : i / (float) num;
 		galaxy->Rmin  = (galaxyARatioMin + rndValue * galaxyARatioSlope) * galaxy->Rmaj;
 
-		rndValue = galaxyGridRandom ? drand48() : i / num;
+		rndValue = galaxyGridRandom ? drand48() : i / (float) num;
 		galaxy->theta = (galaxyThetaMin  + rndValue * galaxyThetaSlope);
-
-		// galaxy->peak *= Io;
+		
+		if (i == 0) {
+		    refNorm = Io*scale*scale;
+		} 
+		ourNorm = refNorm / (Io*scale*scale);
+		galaxy->peak *= ourNorm;
 
 		if (0) {
-		    fprintf (stderr, "Rmaj: %f, scale: %f, index: %f, bn: %f, Ro: %f, Io: %f\n", galaxy->Rmaj, scale, index, bn, fR, Io);
+		    fprintf (stderr, "Rmaj: %f, scale: %f, index: %f, bn: %f, Ro: %f, Io: %f, theta: %f\n", galaxy->Rmaj, scale, index, bn, fR, Io, galaxy->theta);
 		}
 
