@@ -384,6 +384,16 @@ void PALSFitSet::setResidualPlotImage(const QImage &image)
384384 m_residualPlotImageNode->setValue (" " );
385385}
386386
387+ void PALSFitSet::setSpectralCentroid (double center)
388+ {
389+ m_spectralCentroidNode->setValue (center);
390+ }
391+
392+ void PALSFitSet::setTZeroSpectralCentroid (double center)
393+ {
394+ m_t0spectralCentroidNode->setValue (center);
395+ }
396+
387397double PALSFitSet::getChannelResolution () const
388398{
389399 return m_channelResolutionNode->getValue ().toDouble ();
@@ -453,6 +463,26 @@ QImage PALSFitSet::getResidualPlotImage() const
453463 return QImage::fromData (img, " PNG" );
454464}
455465
466+ double PALSFitSet::getSpectralCentroid () const
467+ {
468+ bool ok = false ;
469+ double center = m_spectralCentroidNode->getValue ().toDouble (&ok);
470+ if (!ok)
471+ center = 0 ;
472+
473+ return center;
474+ }
475+
476+ double PALSFitSet::getT0SpectralCentroid () const
477+ {
478+ bool ok = false ;
479+ double center = m_t0spectralCentroidNode->getValue ().toDouble (&ok);
480+ if (!ok)
481+ center = 0 ;
482+
483+ return center;
484+ }
485+
456486PALSDataSet *PALSDataStructure::getDataSetPtr () const
457487{
458488 return m_dataSet;
@@ -513,6 +543,7 @@ PALSDataSet::PALSDataSet(PALSDataStructure *parent, const DSimpleXMLTag &tag)
513543
514544 safeTag = tag.getTag (" data" ).getTag (" bin-factor" , &ok);
515545 if ( ok ) m_xyDataBinFac->setValue (safeTag.getValue ());
546+ else m_xyDataBinFac->setValue (1 );
516547
517548 safeTag = tag.getTag (" data" ).getTag (" lt-fit-data" , &ok);
518549 if ( ok ) m_fitDataNode->setValue (safeTag.getValue ());
@@ -749,6 +780,8 @@ PALSFitSet::PALSFitSet(PALSDataStructure *parent)
749780 m_sumOfIntensitiesNode = new DSimpleXMLNode (" sum-of-intensities" );
750781 m_dataPlotImageNode = new DSimpleXMLNode (" data-plot-raw-image" );
751782 m_residualPlotImageNode = new DSimpleXMLNode (" residual-plot-raw-image" );
783+ m_spectralCentroidNode = new DSimpleXMLNode (" spectral-centroid" );
784+ m_t0spectralCentroidNode = new DSimpleXMLNode (" t0-spectral-centroid" );
752785
753786 m_sourceParams = new PALSSourceParameter (this );
754787 m_deviceResolutionParams = new PALSDeviceResolutionParameter (this );
@@ -774,9 +807,11 @@ PALSFitSet::PALSFitSet(PALSDataStructure *parent)
774807 m_sumOfIntensitiesNode->setValue (0 .0f );
775808 m_dataPlotImageNode->setValue (" " );
776809 m_residualPlotImageNode->setValue (" " );
810+ m_spectralCentroidNode->setValue (0 .0f );
811+ m_t0spectralCentroidNode->setValue (0 .0f );
777812
778813
779- *m_parentNode << m_maxIterationsNode << m_neededIterationsNode << m_usingYVarianceNode << m_chiSquareOnStart << m_chiSquareAfterFit << m_channelResolutionNode << m_startChannelNode << m_stopChannelNode << m_averageLifeTimeNode << m_averageLifeTimeErrorNode << m_countsInRangeNode << m_dateTimeOfLastFitResultsNode << m_fitFinishCodeNode << m_fitFinishCodeValueNode << m_peakToBackgroundRatioNode << m_sumOfIntensitiesNode << m_dataPlotImageNode << m_residualPlotImageNode;
814+ *m_parentNode << m_maxIterationsNode << m_neededIterationsNode << m_usingYVarianceNode << m_t0spectralCentroidNode << m_spectralCentroidNode << m_chiSquareOnStart << m_chiSquareAfterFit << m_channelResolutionNode << m_startChannelNode << m_stopChannelNode << m_averageLifeTimeNode << m_averageLifeTimeErrorNode << m_countsInRangeNode << m_dateTimeOfLastFitResultsNode << m_fitFinishCodeNode << m_fitFinishCodeValueNode << m_peakToBackgroundRatioNode << m_sumOfIntensitiesNode << m_dataPlotImageNode << m_residualPlotImageNode;
780815 *(parent->getParent ()) << m_parentNode;
781816}
782817
@@ -802,6 +837,8 @@ PALSFitSet::PALSFitSet(PALSDataStructure *parent, const DSimpleXMLTag &tag)
802837 m_sumOfIntensitiesNode = new DSimpleXMLNode (" sum-of-intensities" );
803838 m_dataPlotImageNode = new DSimpleXMLNode (" data-plot-raw-image" );
804839 m_residualPlotImageNode = new DSimpleXMLNode (" residual-plot-raw-image" );
840+ m_spectralCentroidNode = new DSimpleXMLNode (" spectral-centroid" );
841+ m_t0spectralCentroidNode = new DSimpleXMLNode (" t0-spectral-centroid" );
805842
806843 m_sourceParams = new PALSSourceParameter (this , tag.getTag (" fit" ));
807844 m_deviceResolutionParams = new PALSDeviceResolutionParameter (this , tag.getTag (" fit" ));
@@ -826,6 +863,16 @@ PALSFitSet::PALSFitSet(PALSDataStructure *parent, const DSimpleXMLTag &tag)
826863 if ( ok ) m_usingYVarianceNode->setValue (safeTag.getValue ());
827864 else m_usingYVarianceNode->setValue (false );
828865
866+ safeTag = tag.getTag (" fit" ).getTag (" spectral-centroid" , &ok);
867+
868+ if ( ok ) m_spectralCentroidNode->setValue (safeTag.getValue ());
869+ else m_spectralCentroidNode->setValue (0 .0f );
870+
871+ safeTag = tag.getTag (" fit" ).getTag (" t0-spectral-centroid" , &ok);
872+
873+ if ( ok ) m_t0spectralCentroidNode->setValue (safeTag.getValue ());
874+ else m_t0spectralCentroidNode->setValue (0 .0f );
875+
829876 safeTag = tag.getTag (" fit" ).getTag (" chi-square-start" , &ok);
830877
831878 if ( ok ) m_chiSquareOnStart->setValue (safeTag.getValue ());
@@ -902,7 +949,7 @@ PALSFitSet::PALSFitSet(PALSDataStructure *parent, const DSimpleXMLTag &tag)
902949 else m_residualPlotImageNode->setValue (" " );
903950
904951
905- *m_parentNode << m_maxIterationsNode << m_neededIterationsNode << m_usingYVarianceNode << m_chiSquareOnStart << m_chiSquareAfterFit << m_channelResolutionNode << m_startChannelNode << m_stopChannelNode << m_averageLifeTimeNode << m_averageLifeTimeErrorNode << m_countsInRangeNode << m_dateTimeOfLastFitResultsNode << m_fitFinishCodeNode << m_fitFinishCodeValueNode << m_peakToBackgroundRatioNode << m_sumOfIntensitiesNode << m_dataPlotImageNode << m_residualPlotImageNode;
952+ *m_parentNode << m_maxIterationsNode << m_neededIterationsNode << m_usingYVarianceNode << m_t0spectralCentroidNode << m_spectralCentroidNode << m_chiSquareOnStart << m_chiSquareAfterFit << m_channelResolutionNode << m_startChannelNode << m_stopChannelNode << m_averageLifeTimeNode << m_averageLifeTimeErrorNode << m_countsInRangeNode << m_dateTimeOfLastFitResultsNode << m_fitFinishCodeNode << m_fitFinishCodeValueNode << m_peakToBackgroundRatioNode << m_sumOfIntensitiesNode << m_dataPlotImageNode << m_residualPlotImageNode;
906953 *(parent->getParent ()) << m_parentNode;
907954}
908955
@@ -916,6 +963,8 @@ PALSFitSet::~PALSFitSet()
916963 DDELETE_SAFETY (m_maxIterationsNode);
917964 DDELETE_SAFETY (m_neededIterationsNode);
918965 DDELETE_SAFETY (m_usingYVarianceNode);
966+ DDELETE_SAFETY (m_t0spectralCentroidNode);
967+ DDELETE_SAFETY (m_spectralCentroidNode);
919968 DDELETE_SAFETY (m_chiSquareOnStart);
920969 DDELETE_SAFETY (m_chiSquareAfterFit);
921970 DDELETE_SAFETY (m_channelResolutionNode);
0 commit comments