34void QMAtom::Rotate(
const Eigen::Matrix3d& R,
const Eigen::Vector3d& refPos) {
35 Eigen::Vector3d dir =
pos_ - refPos;
42 table.
addCol<std::string>(
"element", HOFFSET(
data, element));
43 table.
addCol<
double>(
"posX", HOFFSET(
data, x));
44 table.
addCol<
double>(
"posY", HOFFSET(
data, y));
45 table.
addCol<
double>(
"posZ", HOFFSET(
data, z));
48 table.
addCol<
bool>(
"has_external_bond", HOFFSET(
data, has_external_bond));
49 table.
addCol<
double>(
"ext_bond_dir.x", HOFFSET(
data, ext_bond_dir_x));
50 table.
addCol<
double>(
"ext_bond_dir.y", HOFFSET(
data, ext_bond_dir_y));
51 table.
addCol<
double>(
"ext_bond_dir.z", HOFFSET(
data, ext_bond_dir_z));
53 HOFFSET(
data, ext_bond_partner_segment_id));
63 "bonded_partner_id." + std::to_string(i),
64 HOFFSET(
data, bonded_partner_ids) + size_t(i) *
sizeof(
Index));
void addCol(const std::string &name, const size_t &offset)
Index external_bond_partner_segment_id_
Eigen::Vector3d external_bond_direction_
void WriteData(data &d) const
void Rotate(const Eigen::Matrix3d &R, const Eigen::Vector3d &refPos)
static void SetupCptTable(CptTable &table)
Index bonded_partner_ids_[kMaxBondedPartners]
void ReadData(const data &d)
QMAtom(Index index, std::string element, Eigen::Vector3d pos)
static constexpr Index kMaxBondedPartners
Charge transport classes.
Provides a means for comparing floating point numbers.
Index ext_bond_partner_segment_id
Index bonded_partner_ids[kMaxBondedPartners]