Blame 3Depict-density-fix.patch
|
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 |
|