mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#748 Added cell property sum to Info box statistics
This commit is contained in:
@@ -190,6 +190,51 @@ void RigStatisticsDataCache::meanCellScalarValues(size_t timeStepIndex, double&
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RigStatisticsDataCache::sumCellScalarValues(double& sumValue)
|
||||
{
|
||||
if (!m_statsAllTimesteps.m_isValueSumCalculated)
|
||||
{
|
||||
double aggregatedSum = 0.0;
|
||||
for (size_t i = 0; i < m_statisticsCalculator->timeStepCount(); i++)
|
||||
{
|
||||
double valueSum = 0.0;
|
||||
this->sumCellScalarValues(i, valueSum);
|
||||
|
||||
aggregatedSum += valueSum;
|
||||
}
|
||||
|
||||
m_statsAllTimesteps.m_valueSum = aggregatedSum;
|
||||
m_statsAllTimesteps.m_isValueSumCalculated = true;
|
||||
}
|
||||
|
||||
sumValue = m_statsAllTimesteps.m_valueSum;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RigStatisticsDataCache::sumCellScalarValues(size_t timeStepIndex, double& sumValue)
|
||||
{
|
||||
if (timeStepIndex >= m_statsPrTs.size())
|
||||
{
|
||||
m_statsPrTs.resize(timeStepIndex + 1);
|
||||
}
|
||||
|
||||
if (!m_statsPrTs[timeStepIndex].m_isValueSumCalculated)
|
||||
{
|
||||
double valueSum = 0.0;
|
||||
size_t sampleCount = 0;
|
||||
m_statisticsCalculator->valueSumAndSampleCount(timeStepIndex, valueSum, sampleCount);
|
||||
m_statsPrTs[timeStepIndex].m_valueSum = valueSum;
|
||||
m_statsPrTs[timeStepIndex].m_isValueSumCalculated = true;
|
||||
}
|
||||
|
||||
sumValue = m_statsPrTs[timeStepIndex].m_valueSum;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -49,6 +49,9 @@ public:
|
||||
void meanCellScalarValues(double& meanValue);
|
||||
void meanCellScalarValues(size_t timeStepIndex, double& meanValue);
|
||||
|
||||
void sumCellScalarValues(double& sumValue);
|
||||
void sumCellScalarValues(size_t timeStepIndex, double& sumValue);
|
||||
|
||||
const std::vector<size_t>& cellScalarValuesHistogram();
|
||||
const std::vector<size_t>& cellScalarValuesHistogram(size_t timeStepIndex);
|
||||
|
||||
@@ -71,6 +74,8 @@ private:
|
||||
m_isClosestToZeroCalculated = false;
|
||||
m_p10 = HUGE_VAL;
|
||||
m_p90 = HUGE_VAL;
|
||||
m_valueSum = 0.0;
|
||||
m_isValueSumCalculated = false;
|
||||
}
|
||||
|
||||
double m_minValue;
|
||||
@@ -87,6 +92,9 @@ private:
|
||||
double m_p10;
|
||||
double m_p90;
|
||||
|
||||
double m_valueSum;
|
||||
bool m_isValueSumCalculated;
|
||||
|
||||
std::vector<size_t> m_histogram;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user