Group Transform::apply(const Group& g) { std::vector<Vec3d> vv; Vec3d vtmp; double x1, y1, z1; int s = g.n_atom_; for (int i = 0; i < s; ++i) { vtmp = g.coordinates_[i]; x1 = rotv1_ * vtmp; y1 = rotv2_ * vtmp; z1 = rotv3_ * vtmp; vtmp.set_coordinate(x1, y1, z1); vtmp += translation_; vv.push_back(vtmp); } Group gtmp(vv); return gtmp; }