Distance::Distance() : TrajectoryAnalysisModule(name, shortDescription), avem_(new AnalysisDataAverageModule()) { data_.setColumnCount(4); registerAnalysisDataset(&data_, "distance"); }
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"); }
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; }