AnalysisTemplate::initAnalysis(const TrajectoryAnalysisSettings &settings,
const TopologyInformation & /*top*/)
{
- _data.setColumns(_sel.size());
+ _data.setColumnCount(_sel.size());
registerAnalysisDataset(&_data, "avedist");
_data.addModule(_avem);
void
-AnalysisData::setColumns(int ncol, bool multipoint)
+AnalysisData::setColumnCount(int ncol)
{
GMX_RELEASE_ASSERT(ncol > 0, "Number of columns must be positive");
GMX_RELEASE_ASSERT(impl_->handles_.empty(),
"Cannot change data dimensionality after creating handles");
- setColumnCount(ncol);
- setMultipoint(multipoint);
- impl_->storage_.setMultipoint(multipoint);
+ AbstractAnalysisData::setColumnCount(ncol);
+}
+
+
+void
+AnalysisData::setMultipoint(bool bMultipoint)
+{
+ GMX_RELEASE_ASSERT(impl_->handles_.empty(),
+ "Cannot change data type after creating handles");
+ AbstractAnalysisData::setMultipoint(bMultipoint);
+ impl_->storage_.setMultipoint(bMultipoint);
}
virtual ~AnalysisData();
/*! \brief
- * Sets the number of columns in the data and type of the data.
+ * Sets the number of columns in the data.
+ */
+ void setColumnCount(int ncol);
+ /*! \brief
+ * Sets whether the data contains multiple points per column per frame.
*
* \see isMultipoint()
*/
- void setColumns(int ncol, bool multipoint = false);
+ void setMultipoint(bool bMultipoint);
/*! \brief
* Create a handle for adding data.
EXPECT_FALSE(data.isMultipoint());
EXPECT_EQ(0, data.frameCount());
- data.setColumns(1);
+ data.setColumnCount(1);
EXPECT_EQ(1, data.columnCount());
EXPECT_FALSE(data.isMultipoint());
- data.setColumns(3, true);
+ data.setColumnCount(3);
+ data.setMultipoint(true);
EXPECT_EQ(3, data.columnCount());
EXPECT_TRUE(data.isMultipoint());
- data.setColumns(1);
+ data.setColumnCount(1);
EXPECT_EQ(1, data.columnCount());
- EXPECT_FALSE(data.isMultipoint());
+ EXPECT_TRUE(data.isMultipoint());
}
/*
TEST(AnalysisDataInitializationTest, ChecksMultiColumnModules)
{
gmx::AnalysisData data;
- data.setColumns(2);
+ data.setColumnCount(2);
MockAnalysisModulePointer mod1(new MockAnalysisModule(0));
EXPECT_THROW(data.addModule(mod1), gmx::APIError);
TEST(AnalysisDataInitializationTest, ChecksMultiPointModules)
{
gmx::AnalysisData data;
- data.setColumns(1, true);
+ data.setColumnCount(1);
+ data.setMultipoint(true);
MockAnalysisModulePointer mod1(new MockAnalysisModule(0));
EXPECT_THROW(data.addModule(mod1), gmx::APIError);
{
gmx::test::AnalysisDataTestInput input(inputdata);
gmx::AnalysisData data;
- data.setColumns(input.columnCount());
+ data.setColumnCount(input.columnCount());
ASSERT_NO_THROW(addStaticCheckerModule(input, &data));
ASSERT_NO_THROW(addStaticCheckerModule(input, &data));
{
gmx::test::AnalysisDataTestInput input(inputdata);
gmx::AnalysisData data;
- data.setColumns(input.columnCount());
+ data.setColumnCount(input.columnCount());
ASSERT_NO_THROW(addStaticColumnCheckerModule(input, 0, 2, &data));
ASSERT_NO_THROW(addStaticColumnCheckerModule(input, 2, 1, &data));
{
gmx::test::AnalysisDataTestInput input(inputdata);
gmx::AnalysisData data;
- data.setColumns(input.columnCount());
+ data.setColumnCount(input.columnCount());
ASSERT_NO_THROW(addStaticCheckerModule(input, &data));
ASSERT_NO_THROW(addStaticColumnCheckerModule(input, 1, 2, &data));
{
gmx::test::AnalysisDataTestInput input(inputdata);
gmx::AnalysisData data;
- data.setColumns(input.columnCount());
+ data.setColumnCount(input.columnCount());
ASSERT_NO_THROW(addStaticStorageCheckerModule(input, -1, &data));
ASSERT_NO_THROW(presentAllData(input, &data));
{
gmx::test::AnalysisDataTestInput input(inputdata);
gmx::AnalysisData data;
- data.setColumns(input.columnCount());
+ data.setColumnCount(input.columnCount());
ASSERT_TRUE(data.requestStorage(-1));
ASSERT_NO_THROW(presentAllData(input, &data));
{
gmx::test::AnalysisDataTestInput input(inputdata);
gmx::AnalysisData data;
- data.setColumns(input.columnCount());
+ data.setColumnCount(input.columnCount());
ASSERT_NO_THROW(addStaticStorageCheckerModule(input, 1, &data));
ASSERT_NO_THROW(presentAllData(input, &data));
{
gmx::test::AnalysisDataTestInput input(multipointinputdata);
gmx::AnalysisData data;
- data.setColumns(input.columnCount(), true);
+ data.setColumnCount(input.columnCount());
+ data.setMultipoint(true);
ASSERT_NO_THROW(addStaticCheckerModule(input, &data));
ASSERT_NO_THROW(addStaticCheckerModule(input, &data));
{
gmx::test::AnalysisDataTestInput input(multipointinputdata);
gmx::AnalysisData data;
- data.setColumns(input.columnCount(), true);
+ data.setColumnCount(input.columnCount());
+ data.setMultipoint(true);
ASSERT_NO_THROW(addStaticColumnCheckerModule(input, 0, 2, &data));
ASSERT_NO_THROW(addStaticColumnCheckerModule(input, 2, 1, &data));
{
gmx::test::AnalysisDataTestInput input(inputdata);
gmx::AnalysisData data;
- data.setColumns(input.columnCount());
+ data.setColumnCount(input.columnCount());
gmx::AnalysisDataAverageModulePointer module(
new gmx::AnalysisDataAverageModule);
data.addModule(module);
{
gmx::test::AnalysisDataTestInput input(inputdata);
gmx::AnalysisData data;
- data.setColumns(input.columnCount());
+ data.setColumnCount(input.columnCount());
gmx::AnalysisDataAverageModulePointer module(new gmx::AnalysisDataAverageModule());
data.addModule(module);
module->setXAxis(0.5, 0.5);
{
gmx::test::AnalysisDataTestInput input(simpleinputdata);
gmx::AnalysisData data;
- data.setColumns(input.columnCount(), true);
+ data.setColumnCount(input.columnCount());
+ data.setMultipoint(true);
gmx::AnalysisDataSimpleHistogramModulePointer module(
new gmx::AnalysisDataSimpleHistogramModule(
gmx::histogramFromRange(1.0, 3.0).binCount(4)));
{
gmx::test::AnalysisDataTestInput input(simpleinputdata);
gmx::AnalysisData data;
- data.setColumns(input.columnCount(), true);
+ data.setColumnCount(input.columnCount());
+ data.setMultipoint(true);
gmx::AnalysisDataSimpleHistogramModulePointer module(
new gmx::AnalysisDataSimpleHistogramModule(
gmx::histogramFromRange(1.0, 3.0).binCount(4).includeAll()));
{
gmx::test::AnalysisDataTestInput input(weightedinputdata);
gmx::AnalysisData data;
- data.setColumns(input.columnCount(), true);
+ data.setColumnCount(input.columnCount());
+ data.setMultipoint(true);
gmx::AnalysisDataWeightedHistogramModulePointer module(
new gmx::AnalysisDataWeightedHistogramModule(
gmx::histogramFromRange(1.0, 3.0).binCount(4)));
{
gmx::test::AnalysisDataTestInput input(weightedinputdata);
gmx::AnalysisData data;
- data.setColumns(input.columnCount(), true);
+ data.setColumnCount(input.columnCount());
+ data.setMultipoint(true);
gmx::AnalysisDataWeightedHistogramModulePointer module(
new gmx::AnalysisDataWeightedHistogramModule(
gmx::histogramFromRange(1.0, 3.0).binCount(4).includeAll()));
{
gmx::test::AnalysisDataTestInput input(weightedinputdata);
gmx::AnalysisData data;
- data.setColumns(input.columnCount(), true);
+ data.setColumnCount(input.columnCount());
+ data.setMultipoint(true);
gmx::AnalysisDataBinAverageModulePointer module(
new gmx::AnalysisDataBinAverageModule(
gmx::histogramFromRange(1.0, 3.0).binCount(4)));
{
gmx::test::AnalysisDataTestInput input(weightedinputdata);
gmx::AnalysisData data;
- data.setColumns(input.columnCount(), true);
+ data.setColumnCount(input.columnCount());
+ data.setMultipoint(true);
gmx::AnalysisDataBinAverageModulePointer module(
new gmx::AnalysisDataBinAverageModule(
gmx::histogramFromRange(1.0, 3.0).binCount(4).includeAll()));
if (_bMulti)
{
- _data.setColumns(_sel1.size());
+ _data.setColumnCount(_sel1.size());
}
else if (_bAll)
{
{
na /= _natoms1;
}
- _data.setColumns(na + 1);
+ _data.setColumnCount(na + 1);
}
else
{
- _data.setColumns(1);
+ _data.setColumnCount(1);
}
if (_g2type == "t0")
{
GMX_THROW(InvalidInputError("The second selection does not define a single position"));
}
- _data.setColumns(4);
+ _data.setColumnCount(4);
registerAnalysisDataset(&_data, "distance");
_data.addModule(_avem);
}
// TODO: For large systems, a float may not have enough precision
- _sdata.setColumns(_sel.size());
+ _sdata.setColumnCount(_sel.size());
registerAnalysisDataset(&_sdata, "size");
snew(_totsize, _sel.size());
for (size_t g = 0; g < _sel.size(); ++g)
_sdata.addModule(plot);
}
- _cdata.setColumns(_sel.size());
+ _cdata.setColumnCount(_sel.size());
registerAnalysisDataset(&_cdata, "cfrac");
if (!_fnFrac.empty())
{
}
// TODO: For large systems, a float may not have enough precision
- _idata.setColumns(2, true);
+ _idata.setColumnCount(2);
+ _idata.setMultipoint(true);
registerAnalysisDataset(&_idata, "index");
if (!_fnIndex.empty())
{
_idata.addModule(writer);
}
- _mdata.setColumns(_sel[0].posCount());
+ _mdata.setColumnCount(_sel[0].posCount());
registerAnalysisDataset(&_mdata, "mask");
if (!_fnMask.empty())
{