Esempio n. 1
0
Distance::Distance()
    : TrajectoryAnalysisModule(name, shortDescription),
      avem_(new AnalysisDataAverageModule())
{
    data_.setColumnCount(4);
    registerAnalysisDataset(&data_, "distance");
}
Esempio n. 2
0
Angle::Angle()
    : TrajectoryAnalysisModule(name, shortDescription),
      sel1info_(NULL), sel2info_(NULL), natoms1_(0), natoms2_(0)
{
    averageModule_.reset(new AnalysisDataFrameAverageModule());
    angles_.addModule(averageModule_);

    registerAnalysisDataset(&angles_, "angle");
    registerBasicDataset(averageModule_.get(), "average");
}
Esempio n. 3
0
int
Angle::initAnalysis(const TopologyInformation &top)
{
    int rc = checkSelections(_sel1, _sel2);
    if (rc != 0)
    {
        return rc;
    }

    if (_bMulti)
    {
        _data.setColumns(_sel1.size());
    }
    else if (_bAll)
    {
        int na = _sel1[0]->posCount();
        if (!_bSplit1)
        {
            na /= _natoms1;
        }
        _data.setColumns(na + 1);
    }
    else
    {
        _data.setColumns(1);
    }

    if (_g2type == "t0")
    {
        int na = _sel1[0]->posCount();
        if (!_bSplit1)
        {
            na /= _natoms1;
        }
        _vt0 = new rvec[na];
    }

    registerAnalysisDataset(&_data, "angle");

    AnalysisDataPlotModule *plotm = new AnalysisDataPlotModule(_options);
    plotm->setFileName(_fnAngle);
    plotm->setTitle("Angle");
    plotm->setXTimeLabel();
    plotm->setYLabel("Angle [degrees]");
    _data.addModule(plotm);

    return 0;
}