void parseOptions(TrajectoryAnalysisSettings *settings,
TrajectoryAnalysisRunnerCommon *common,
SelectionCollection *selections,
- int *argc, char *argv[], bool full=true);
+ int *argc, char *argv[], bool full = true);
TrajectoryAnalysisModule *module_;
bool bUseDefaultGroups_;
FileNameOptionManager fileoptManager;
SelectionOptionManager seloptManager(selections);
Options options(NULL, NULL);
- IOptionsContainer &commonOptions = options.addGroup();
- IOptionsContainer &moduleOptions = options.addGroup();
+ IOptionsContainer &commonOptions = options.addGroup();
+ IOptionsContainer &moduleOptions = options.addGroup();
options.addManager(&fileoptManager);
options.addManager(&seloptManager);
module_->initOptions(&moduleOptions, settings);
- if (full) {
+ if (full)
+ {
common->initOptions(&commonOptions);
}
selections->initOptions(&commonOptions);
options.finish();
}
- if (full) {
+ if (full)
+ {
common->optionsFinished();
}
module_->optionsFinished(settings);
const TopologyInformation &topology = common.topologyInformation();
module->initAnalysis(settings, topology);
- TrajectoryAnalysisModule::Batch batch = module->getBatch();
+ TrajectoryAnalysisModule::Batch batch = module->getBatch();
std::vector<SelectionCollection*> batchSelections;
- std::vector<Impl*> impls;
- for (size_t i = 0; i < batch.size(); i++) {
+ std::vector<Impl*> impls;
+ for (size_t i = 0; i < batch.size(); i++)
+ {
TrajectoryAnalysisModule *bmodule = batch[i];
batchSelections.push_back(new SelectionCollection());
impls.push_back(new Impl(bmodule));
std::vector<char*> modArgv = module->getArgv(i);
- int modArgc = modArgv.size();
+ int modArgc = modArgv.size();
impls.back()->parseOptions(&settings, &common, batchSelections.back(), &modArgc, modArgv.data(), false);
batch[i]->initAnalysis(settings, topology);
TrajectoryAnalysisModuleDataPointer pdata(
module->startFrames(dataOptions, selections));
- std::vector<AnalysisDataParallelOptions> batchOptions;
+ std::vector<AnalysisDataParallelOptions> batchOptions;
std::vector<TrajectoryAnalysisModuleDataPointer> batchDataPointers;
- for (size_t i = 0; i < batch.size(); i++) {
+ for (size_t i = 0; i < batch.size(); i++)
+ {
batch[i]->initAfterFirstFrame(settings, common.frame());
batchOptions.push_back(AnalysisDataParallelOptions());
batchDataPointers.push_back(batch[i]->startFrames(
- batchOptions.back(), *batchSelections[i]));
+ batchOptions.back(), *batchSelections[i]));
}
do
set_pbc(ppbc, topology.ePBC(), frame.box);
}
- for (size_t i = 0; i < batch.size(); i++) {
+ for (size_t i = 0; i < batch.size(); i++)
+ {
batchSelections[i]->evaluate(&frame, ppbc);
batch[i]->analyzeFrame(nframes, frame, ppbc, batchDataPointers[i].get());
batch[i]->finishFrameSerial(nframes);
++nframes;
}
while (common.readNextFrame());
- for (size_t i = 0; i < batch.size(); i++) {
+ for (size_t i = 0; i < batch.size(); i++)
+ {
batch[i]->finishFrames(batchDataPointers[i].get());
- if (batchDataPointers[i].get() != NULL) {
+ if (batchDataPointers[i].get() != NULL)
+ {
batchDataPointers[i]->finish();
}
batchDataPointers[i].reset();
}
// Restore the maximal groups for dynamic selections.
- for (size_t i = 0; i < batch.size(); i++) {
+ for (size_t i = 0; i < batch.size(); i++)
+ {
batchSelections[i]->evaluateFinal(nframes);
batch[i]->finishAnalysis(nframes);
batch[i]->writeOutput();
virtual void writeHelp(const CommandLineHelpContext &context) const;
private:
- const char *name_;
- const char *description_;
- bool hasFunction_;
- ModuleFactoryMethod factory_;
+ const char *name_;
+ const char *description_;
+ bool hasFunction_;
+ ModuleFactoryMethod factory_;
ModuleFactoryFunctor *functor_;
GMX_DISALLOW_COPY_AND_ASSIGN(RunnerCommandLineModule);
int TrajectoryAnalysisCommandLineRunner::Impl::RunnerCommandLineModule::run(
int argc, char *argv[])
{
- TrajectoryAnalysisModulePointer module(hasFunction_? factory_() : (*functor_)());
+ TrajectoryAnalysisModulePointer module(hasFunction_ ? factory_() : (*functor_)());
TrajectoryAnalysisCommandLineRunner runner(module.get());
return runner.run(argc, argv);
}
void TrajectoryAnalysisCommandLineRunner::Impl::RunnerCommandLineModule::writeHelp(
const CommandLineHelpContext &context) const
{
- TrajectoryAnalysisModulePointer module(hasFunction_? factory_() : (*functor_)());
+ TrajectoryAnalysisModulePointer module(hasFunction_ ? factory_() : (*functor_)());
TrajectoryAnalysisCommandLineRunner runner(module.get());
runner.writeHelp(context);
}
#include <Python.h>
#include <numpy/ndarrayobject.h>
-PyObject* array2dToNumpy(int dim1, int dim2, const void *data) {
+PyObject* array2dToNumpy(int dim1, int dim2, const void *data)
+{
npy_intp dims[] = {dim1, dim2};
#ifdef GMX_DOUBLE
- return PyArray_SimpleNewFromData(2, dims, NPY_DOUBLE, (double*) data);
+ return PyArray_SimpleNewFromData(2, dims, NPY_DOUBLE, (double*) data);
#else
- return PyArray_SimpleNewFromData(2, dims, NPY_FLOAT, (float*) data);
+ return PyArray_SimpleNewFromData(2, dims, NPY_FLOAT, (float*) data);
#endif
}
-PyObject* array1dToNumpy(int dim, const void *data) {
+PyObject* array1dToNumpy(int dim, const void *data)
+{
npy_intp n_dim = dim;
#ifdef GMX_DOUBLE
- return PyArray_SimpleNewFromData(1, &n_dim, NPY_DOUBLE, (double*) data);
+ return PyArray_SimpleNewFromData(1, &n_dim, NPY_DOUBLE, (double*) data);
#else
- return PyArray_SimpleNewFromData(1, &n_dim, NPY_FLOAT, (float*) data);
+ return PyArray_SimpleNewFromData(1, &n_dim, NPY_FLOAT, (float*) data);
#endif
}
-PyObject* iarray1dToNumpy(int dim, const int *data) {
+PyObject* iarray1dToNumpy(int dim, const int *data)
+{
npy_intp n_dim = dim;
return PyArray_SimpleNewFromData(1, &n_dim, NPY_INT, (int*) data);
}