void
AnalysisDataProxy::frameFinished(const AnalysisDataFrameHeader &header)
{
    if (bParallel_)
    {
        moduleManager().notifyParallelFrameFinish(header);
    }
    else
    {
        moduleManager().notifyFrameFinish(header);
    }
}
void
AnalysisDataProxy::frameStarted(const AnalysisDataFrameHeader &frame)
{
    if (bParallel_)
    {
        moduleManager().notifyParallelFrameStart(frame);
    }
    else
    {
        moduleManager().notifyFrameStart(frame);
    }
}
bool
AnalysisDataProxy::parallelDataStarted(
        AbstractAnalysisData              *data,
        const AnalysisDataParallelOptions &options)
{
    GMX_RELEASE_ASSERT(data == &source_, "Source data mismatch");
    setDataSetCount(data->dataSetCount());
    for (int i = 0; i < data->dataSetCount(); ++i)
    {
        setColumnCount(i, columnSpan_);
    }
    moduleManager().notifyParallelDataStart(this, options);
    bParallel_ = !moduleManager().hasSerialModules();
    return bParallel_;
}
void
AnalysisDataProxy::pointsAdded(const AnalysisDataPointSetRef &points)
{
    AnalysisDataPointSetRef columns(points, firstColumn_, columnSpan_);
    if (columns.columnCount() > 0)
    {
        if (bParallel_)
        {
            moduleManager().notifyParallelPointsAdd(columns);
        }
        else
        {
            moduleManager().notifyPointsAdd(columns);
        }
    }
}
Ejemplo n.º 5
0
void
AnalysisDataFrameAverageModule::dataStarted(AbstractAnalysisData *data)
{
    setColumnCount(0, data->dataSetCount());
    impl_->sampleCount_.resize(data->dataSetCount());
    impl_->storage_.startDataStorage(this, &moduleManager());
}
Ejemplo n.º 6
0
void
AbstractAnalysisArrayData::valuesReady()
{
    GMX_RELEASE_ASSERT(isAllocated(), "There must be some data");
    if (bReady_)
    {
        return;
    }
    bReady_ = true;

    std::vector<AnalysisDataValue>::const_iterator valueIter = value_.begin();
    AnalysisDataModuleManager                     &modules   = moduleManager();
    modules.notifyDataStart(this);
    for (int i = 0; i < rowCount(); ++i, valueIter += columnCount())
    {
        AnalysisDataFrameHeader header(i, xvalue(i), 0);
        modules.notifyFrameStart(header);
        modules.notifyPointsAdd(
                AnalysisDataPointSetRef(
                        header, pointSetInfo_,
                        constArrayRefFromVector<AnalysisDataValue>(valueIter,
                                                                   valueIter + columnCount())));
        modules.notifyFrameFinish(header);
    }
    modules.notifyDataFinish();
}
void
AnalysisDataProxy::dataStarted(AbstractAnalysisData *data)
{
    GMX_RELEASE_ASSERT(data == &source_, "Source data mismatch");
    setDataSetCount(data->dataSetCount());
    for (int i = 0; i < data->dataSetCount(); ++i)
    {
        setColumnCount(i, columnSpan_);
    }
    moduleManager().notifyDataStart(this);
}
void
AnalysisDataProxy::dataFinished()
{
    moduleManager().notifyDataFinish();
}