Skip to content

Commit

Permalink
Refs #4459 fix MDEvent normalization by # events
Browse files Browse the repository at this point in the history
  • Loading branch information
Janik Zikovsky committed Feb 10, 2012
1 parent 698ace6 commit 2eb8725
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 7 deletions.
4 changes: 2 additions & 2 deletions Code/Mantid/Framework/MDEvents/src/MDBoxIterator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ namespace MDEvents
case VolumeNormalization:
return m_current->getSignal() * m_current->getInverseVolume();
case NumEventsNormalization:
return m_current->getSignal() * double(m_current->getNPoints());
return m_current->getSignal() / double(m_current->getNPoints());
}
return std::numeric_limits<signal_t>::quiet_NaN();
}
Expand All @@ -226,7 +226,7 @@ namespace MDEvents
case VolumeNormalization:
return m_current->getError() * m_current->getInverseVolume();
case NumEventsNormalization:
return m_current->getError() * double(m_current->getNPoints());
return m_current->getError() / double(m_current->getNPoints());
}
return std::numeric_limits<signal_t>::quiet_NaN();
}
Expand Down
4 changes: 2 additions & 2 deletions Code/Mantid/Framework/MDEvents/src/MDEventWorkspace.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -266,9 +266,9 @@ namespace MDEvents
case NoNormalization:
return box->getSignal();
case VolumeNormalization:
return box->getInverseVolume() * box->getSignal();
return box->getSignal() * box->getInverseVolume();
case NumEventsNormalization:
return double(box->getNPoints()) * box->getSignal();
return box->getSignal() / double(box->getNPoints());
}
// Should not reach here
return box->getSignal();
Expand Down
32 changes: 29 additions & 3 deletions Code/Mantid/Framework/MDEvents/src/MDHistoWorkspaceIterator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -184,19 +184,45 @@ namespace MDEvents
/// Returns the normalized signal for this box
signal_t MDHistoWorkspaceIterator::getNormalizedSignal() const
{
return m_ws->getSignalNormalizedAt(m_pos);
// What is our normalization factor?
switch (m_normalization)
{
case NoNormalization:
return m_ws->getSignalAt(m_pos);
case VolumeNormalization:
return m_ws->getSignalAt(m_pos) * m_ws->getInverseVolume();
case NumEventsNormalization:
/// TODO: # of events normalization
return m_ws->getSignalAt(m_pos);
}
// Should not reach here
return std::numeric_limits<signal_t>::quiet_NaN();
}

//----------------------------------------------------------------------------------------------
/// Returns the normalized error for this box
signal_t MDHistoWorkspaceIterator::getNormalizedError() const
{
return m_ws->getErrorNormalizedAt(m_pos);
// What is our normalization factor?
switch (m_normalization)
{
case NoNormalization:
return m_ws->getErrorAt(m_pos);
case VolumeNormalization:
return m_ws->getErrorAt(m_pos) * m_ws->getInverseVolume();
case NumEventsNormalization:
/// TODO: # of events normalization
return m_ws->getErrorAt(m_pos);
}
// Should not reach here
return std::numeric_limits<signal_t>::quiet_NaN();
}

//----------------------------------------------------------------------------------------------
/// Returns the signal for this box, same as innerSignal
signal_t MDHistoWorkspaceIterator::getSignal() const
{
return m_ws->getSignalAt(m_pos);;
return m_ws->getSignalAt(m_pos);
}

/// Returns the error for this box, same as innerError
Expand Down

0 comments on commit 2eb8725

Please sign in to comment.