RPDDataAnalyzer Node1 RPDDataAnalyzer - m_nRows - m_nColumns - m_nChannels - m_nChannelsLoaded - m_nSamples - m_nBaselineSamples - m_endSignalSample - m_pulse2ndDerivThresh - m_postPulseFracThresh - m_goodPulseSampleStart and 6 more... - s_minPileupFitPoints + RPDDataAnalyzer() + ~RPDDataAnalyzer() + loadChannelData() + analyzeData() + getChMaxSample() + getChSumAdc() + getChSumAdcCalib() + getChMaxAdc() + getChMaxAdcCalib() + getChPileupFrac() and 10 more... - checkOverflow() - checkPulses() - countSignalRangeNegatives() - doBaselinePileupSubtraction() - calculateMaxSampleMaxAdc() - calculateSumAdc() - setSideStatusBits() - doPileupExpFit() - doPileupStretchedExpFit() - calculateBaselineSamplesMSE() Node2 std::vector< std::bitset < 32 > > Node2->Node1 -m_chStatus Node3 std::bitset< 32 > Node3->Node1 -m_sideStatus Node3->Node2 +elements Node4 std::vector< std::vector < float > > Node4->Node1 -m_chPileupStretchedExpFit ParamErrs -m_chPileupExpFitParams -m_chPileupExpFitParamErrs -m_chPileupStretchedExpFitParams -m_chFadcData -m_chCorrectedFadcData Node5 std::vector< float > + elements Node5->Node1 -m_chBaseline -m_chSumAdc -m_chExpPileupMSE -m_chPileupFrac -m_chMaxSample -m_ch2ndOrderStretched ExpPileupMSE -m_chMaxAdcCalib -m_chSumAdcCalib -m_chMaxAdc -m_outputCalibFactors ... Node5->Node4 +elements Node6 std::shared_ptr< Message Function > + ptr + operator->() Node6->Node1 -m_msgFunc_p Node7 std::vector< std::function < float(unsigned int)> > + elements Node7->Node1 -m_ch2ndOrderStretchedExp PileupFuncs -m_chExpPileupFuncs Node8 std::string Node8->Node1 -m_tag Node9 std::basic_string< char > Node9->Node8 Node10 std::vector< bool > + elements Node10->Node1 -m_chPileupFuncType