29 for (
const auto& seg : segments_) {
30 for (
const auto& site : seg) {
31 charge += site.getCharge();
39 for (
const auto& seg : segments_) {
47 w(identify(),
"type");
51 for (
const auto& seg : segments_) {
53 ww.
openChild(seg.identify() +
"_" + std::to_string(seg.getId()));
63 segments_.reserve(size);
67 if (
Index(names.size()) != size) {
68 std::stringstream message;
69 message <<
"Size inconsistency in region " << std::endl;
70 throw std::runtime_error(message.str());
72 for (
auto name : names) {
74 segments_.push_back(T(rrr));
void WriteContainer(T &container)
std::vector< std::string > getChildGroupNames() const
CheckpointReader openChild(const std::string &childName) const
CheckpointWriter openChild(const std::string &childName) const
void WriteToCpt(CheckpointWriter &w) const override
void WritePDB(csg::PDBWriter &writer) const override
void ReadFromCpt(CheckpointReader &r) override
double charge() const override
base class for all analysis tools