mycae 9a53466
reverted:
mycae 9a53466
--- src/filters/compositionProfile.cpp	Fri Aug 12 20:46:42 2011 +0100
mycae 9a53466
+++ src/filters/compositionProfile.cpp	Fri Aug 12 23:18:47 2011 +0100
mycae 9a53466
@@ -383,7 +383,7 @@
mycae 9a53466
 
mycae 9a53466
 						float angle = dir.angle(direction);
mycae 9a53466
 
mycae 9a53466
+						float halfLen=sqrt(vectorParams[1].sqrMag());
mycae 9a53466
-						float halfLen=sqrt(vectorParams[1].sqrMag())/2.0f;
mycae 9a53466
 						float sqrRad=scalarParams[0]*scalarParams[0];
mycae 9a53466
 				
mycae 9a53466
 						//Check that we actually need to rotate, to avoid numerical singularity 
mycae 9a53466
@@ -554,6 +554,17 @@
mycae 9a53466
 		}
mycae 9a53466
 
mycae 9a53466
 		plotData[ui]->xyData.resize(ionFrequencies[ui].size());
mycae 9a53466
+	
mycae 9a53466
+		//Density profiles (non-ranged plots) have a fixed normalisation factor
mycae 9a53466
+		if(!rngData && normalise)
mycae 9a53466
+		{
mycae 9a53466
+			if(fixedBins)
mycae 9a53466
+				normFactor = 1.0/(M_PI*scalarParams[0]*scalarParams[0]*(length/(float)numBins));
mycae 9a53466
+			else
mycae 9a53466
+				normFactor = 1.0/(M_PI*scalarParams[0]*scalarParams[0]*binWidth);
mycae 9a53466
+		}	
mycae 9a53466
+
mycae 9a53466
+		//Go through each bin, then perform the appropriate normalisation
mycae 9a53466
 		for(unsigned int uj=0;uj
mycae 9a53466
 		{
mycae 9a53466
 			float xPos;
mycae 9a53466
@@ -579,15 +590,7 @@
mycae 9a53466
 			}
mycae 9a53466
 			else
mycae 9a53466
 			{
mycae 9a53466
+				//This is a frequency profile (factor ==1), or density profile (factor computed above).
mycae 9a53466
-				if(normalise)
mycae 9a53466
-				{
mycae 9a53466
-					//This is a frequency profile. Normalising across bins would lead to every value
mycae 9a53466
-					//being equal to 1. Let us instead normalise by cylinder section volume)
mycae 9a53466
-					normFactor = 1.0/(M_PI*scalarParams[0]*scalarParams[0]*binWidth);
mycae 9a53466
-
mycae 9a53466
-
mycae 9a53466
-				}
mycae 9a53466
-				//Normalise Y value against volume of bin
mycae 9a53466
 				plotData[ui]->xyData[uj] = std::make_pair(
mycae 9a53466
 					xPos,normFactor*(float)ionFrequencies[ui][uj]);
mycae 9a53466