ls1-MarDyn
ls1-MarDyn molecular dynamics code
ReplicaFiller.h
1/*
2 * Copyright (c) 2013-2017 Christoph Niethammer <christoph.niethammer@gmail.com>
3 *
4 * $COPYRIGHT$
5 *
6 * Additional copyrights may follow
7 *
8 * $HEADER
9 */
10
11#ifndef REPLICAFILLER_H_
12#define REPLICAFILLER_H_
13
14#include <memory>
15
16#include "utils/generator/ObjectFillerBase.h"
17#include "utils/generator/GridFiller.h"
18
19class InputBase;
20
21class Object;
22
25public:
26 ReplicaFiller() : _inputReader(nullptr), _origin() {}
27
28 ~~ReplicaFiller() {}
29
40 void readXML(XMLfileUnits& xmlconfig);
41
43 void init();
44
45 /* Set input reader */
46 void setInputReader(std::shared_ptr<InputBase> inputReader) { _inputReader = inputReader; }
47
48 /* Set object to fill */
49 void setObject(std::shared_ptr<Object> object);
50
51 /* Get object to fill */
52 std::shared_ptr<Object> getObject();
53
59 int getMolecule(Molecule* molecule);
60
61 std::string getPluginName() { return std::string("ReplicaFiller"); }
62
63 static ObjectFillerBase* createInstance() { return new ReplicaFiller(); }
64
65private:
66 std::shared_ptr<InputBase> _inputReader;
67 GridFiller _gridFiller;
68 std::shared_ptr<Object> _object;
69 double _origin[3];
70 unsigned int _componentid;
71};
72
73#endif // REPLICAFILLER_H_
74
FullMolecule modeled as LJ sphere with point polarities.
Definition: FullMolecule.h:18
Definition: GridFiller.h:23
interface for any kind of input class
Definition: InputBase.h:18
Definition: ObjectFillerBase.h:11
Definition: Objects.h:25
Definition: ReplicaFiller.h:24
void init()
Definition: ReplicaFiller.cpp:183
void readXML(XMLfileUnits &xmlconfig)
Read in XML configuration for ReplicaFiller and all its included objects.
Definition: ReplicaFiller.cpp:146
int getMolecule(Molecule *molecule)
Definition: ReplicaFiller.cpp:214
XML file with unit attributes abstraction.
Definition: xmlfileUnits.h:25
::xsd::cxx::tree::string< char, simple_type > string
C++ type corresponding to the string XML Schema built-in type.
Definition: vtk-punstructured.h:270