Skip to content

Commit

Permalink
Refs #4202. Fix tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
martyngigg committed Jan 27, 2012
1 parent e7d1ed8 commit 637e52d
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 15 deletions.
2 changes: 1 addition & 1 deletion Code/Mantid/Framework/Algorithms/src/SofQW.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ void SofQW::exec()
{
efixed = par->value<double>();
}
else
else if( efixed == 0.0 )
{
continue;
}
Expand Down
10 changes: 6 additions & 4 deletions Code/Mantid/Framework/Algorithms/src/SofQW2.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ namespace Mantid
qCalculator = &SofQW2::calculateIndirectQ;
}

PARALLEL_FOR2(inputWS, outputWS)
PARALLEL_FOR3(inputWS, m_numIntersectionsWS, outputWS)
for(int64_t i = 0; i < static_cast<int64_t>(nTheta); ++i) // signed for openmp
{
PARALLEL_START_INTERUPT_REGION
Expand Down Expand Up @@ -170,6 +170,8 @@ namespace Mantid
const MantidVec & X = inputWS->readX(0);
for( size_t qi = qstart; qi < qend; ++qi )
{
MantidVec & outputY = outputWS->dataY(qi);
MantidVec & outputE = outputWS->dataE(qi);
for( size_t ei = en_start; ei < en_end; ++ei )
{
const V2D ll(X[ei], m_Qout[qi]);
Expand All @@ -181,9 +183,9 @@ namespace Mantid
{
ConvexPolygon overlap = intersectionByLaszlo(outputQ, inputQ);
const double weight = overlap.area()/inputQ.area();
outputWS->dataY(qi)[ei] += inputWS->readY(i)[j] * weight;
outputY[ei] += inputWS->readY(i)[j] * weight;
m_numIntersectionsWS->dataY(qi)[ei] += weight;
outputWS->dataE(qi)[ei] += std::pow(inputWS->readE(i)[j] * weight, 2);
outputE[ei] += std::pow(inputWS->readE(i)[j] * weight, 2);
}
catch(Geometry::NoIntersectionException &)
{}
Expand Down Expand Up @@ -373,7 +375,7 @@ namespace Mantid
size_t ndets(0);
double minTheta(DBL_MAX), maxTheta(-DBL_MAX);

PARALLEL_FOR1(workspace)
//PARALLEL_FOR1(workspace)
for(int64_t i = 0 ; i < (int64_t)nhist; ++i) //signed for OpenMP
{
PARALLEL_START_INTERUPT_REGION
Expand Down
20 changes: 10 additions & 10 deletions Code/Mantid/Framework/Algorithms/test/SofQW2Test.h
Original file line number Diff line number Diff line change
Expand Up @@ -77,20 +77,20 @@ class SofQW2Test : public CxxTest::TestSuite
TS_ASSERT_DELTA( result->readY(0)[1160], 0.0, delta);
TS_ASSERT_DELTA( result->readE(0)[1160], 0.0, delta);

TS_ASSERT_DELTA( result->readY(1)[1145], 14.21487562, delta);
TS_ASSERT_DELTA( result->readE(1)[1145], 0.27891342, delta);
TS_ASSERT_DELTA( result->readY(1)[1145], 7.59421601661, delta);
TS_ASSERT_DELTA( result->readE(1)[1145], 0.0697283556312, delta);

TS_ASSERT_DELTA( result->readY(2)[1200], 5.33576534, delta);
TS_ASSERT_DELTA( result->readE(2)[1200], 0.16793570, delta);
TS_ASSERT_DELTA( result->readY(2)[1200], 2.07634830425, delta);
TS_ASSERT_DELTA( result->readE(2)[1200], 0.0419839252961, delta);

TS_ASSERT_DELTA( result->readY(3)[99], 0.17843416 , delta);
TS_ASSERT_DELTA( result->readE(3)[99], 0.07401977, delta);
TS_ASSERT_DELTA( result->readY(3)[99], 0.0417455762209, delta);
TS_ASSERT_DELTA( result->readE(3)[99], 0.0185049423467, delta);

TS_ASSERT_DELTA( result->readY(4)[1654], 0.06845460, delta);
TS_ASSERT_DELTA( result->readE(4)[1654], 0.02002920, delta);
TS_ASSERT_DELTA( result->readY(4)[1654], 0.0171141154986, delta);
TS_ASSERT_DELTA( result->readE(4)[1654], 0.005007299861, delta);

TS_ASSERT_DELTA( result->readY(5)[1025], 0.20644528, delta);
TS_ASSERT_DELTA( result->readE(5)[1025], 0.04115725, delta);
TS_ASSERT_DELTA( result->readY(5)[1025], 0.0808168496594, delta);
TS_ASSERT_DELTA( result->readE(5)[1025], 0.0102893133461, delta);

AnalysisDataService::Instance().remove(inputWS);
AnalysisDataService::Instance().remove(outputWS);
Expand Down

0 comments on commit 637e52d

Please sign in to comment.