--- trunk/src/applications/staticProps/SpatialStatistics.cpp 2013/11/07 16:42:46 1945 +++ trunk/src/applications/staticProps/SpatialStatistics.cpp 2014/10/22 12:23:59 2026 @@ -187,7 +187,7 @@ namespace OpenMD { } outStream << "#######################################################\n"; - outStream << "# Standard Deviations in those quantities follow:\n"; + outStream << "# 95% confidence intervals in those quantities follow:\n"; outStream << "#######################################################\n"; for (int j = 0; j < nBins_; j++) { @@ -200,7 +200,7 @@ namespace OpenMD { int n = outputData->accumulator[j]->count(); if (n != 0) { - writeStdDev( outStream, outputData, j ); + writeErrorBars( outStream, outputData, j ); } } outStream << std::endl; @@ -257,7 +257,7 @@ namespace OpenMD { } } - void SpatialStatistics::writeStdDev(ostream& os, OutputData* dat, + void SpatialStatistics::writeErrorBars(ostream& os, OutputData* dat, unsigned int bin) { assert(int(bin) < nBins_); int n = dat->accumulator[bin]->count(); @@ -265,7 +265,7 @@ namespace OpenMD { if( dat->dataType == odtReal ) { RealType r; - dynamic_cast(dat->accumulator[bin])->getStdDev(r); + dynamic_cast(dat->accumulator[bin])->get95percentConfidenceInterval(r); if (isinf(r) || isnan(r) ) { sprintf( painCave.errMsg, "SpatialStatistics detected a numerical error writing:\n" @@ -279,7 +279,7 @@ namespace OpenMD { } else if ( dat->dataType == odtVector3 ) { Vector3d v; - dynamic_cast(dat->accumulator[bin])->getStdDev(v); + dynamic_cast(dat->accumulator[bin])->get95percentConfidenceInterval(v); if (isinf(v[0]) || isnan(v[0]) || isinf(v[1]) || isnan(v[1]) || isinf(v[2]) || isnan(v[2]) ) { @@ -360,7 +360,18 @@ namespace OpenMD { bool hasCoordinateOrigin = rnemdParams->haveCoordinateOrigin(); if (hasCoordinateOrigin) { - coordinateOrigin_ = rnemdParams->getCoordinateOrigin(); + std::vector co = rnemdParams->getCoordinateOrigin(); + if (co.size() != 3) { + sprintf(painCave.errMsg, + "RNEMD: Incorrect number of parameters specified for coordinateOrigin.\n" + "\tthere should be 3 parameters, but %lu were specified.\n", + co.size()); + painCave.isFatal = 1; + simError(); + } + coordinateOrigin_.x() = co[0]; + coordinateOrigin_.y() = co[1]; + coordinateOrigin_.z() = co[2]; } else { coordinateOrigin_ = V3Zero; }