CSpectrumData.cpp 995 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #include "stdafx.h"
  2. #include "CSpectrumData.h"
  3. #include "otsdataconst.h"
  4. using namespace OTSDATA;
  5. CSpectrumData::CSpectrumData(int validStart, DWORD* xrayData)
  6. {
  7. m_startChannel = validStart;
  8. m_pXrayData = xrayData;
  9. m_vectorNorm = 0;
  10. }
  11. DWORD* CSpectrumData::GetXrayData()
  12. {
  13. return m_pXrayData;
  14. }
  15. double CSpectrumData::GetVectorNorm()
  16. {
  17. if (m_vectorNorm == 0)
  18. {
  19. double d1 = 0;
  20. double sumOfchannelPower=0;
  21. for (int i = m_startChannel; i < GENERALXRAYCHANNELS; i++)
  22. {
  23. double r1 = m_pXrayData[i];
  24. r1 *= r1;
  25. sumOfchannelPower = sumOfchannelPower + r1;
  26. }
  27. d1 = sqrt(sumOfchannelPower);
  28. m_vectorNorm = d1;
  29. return m_vectorNorm;
  30. }
  31. else
  32. {
  33. return m_vectorNorm;
  34. }
  35. }
  36. void CSpectrumData::CalVectorNorm()
  37. {
  38. double d1 = 0;
  39. double sumOfchannelPower = 0;
  40. for (int i = m_startChannel; i < GENERALXRAYCHANNELS; i++)
  41. {
  42. double r1 = m_pXrayData[i];
  43. r1 *= r1;
  44. sumOfchannelPower = sumOfchannelPower + r1;
  45. }
  46. d1 = sqrt(sumOfchannelPower);
  47. m_vectorNorm = d1;
  48. }