23#ifndef VOTCA_XTP_ATOM_H
24#define VOTCA_XTP_ATOM_H
62 Eigen::Vector3d pos, std::string element);
64 Atom(
Index atom_id, std::string element, Eigen::Vector3d pos);
79 void Rotate(
const Eigen::Matrix3d& R,
const Eigen::Vector3d& refPos);
121 Index partner_atom_id) {
185 out <<
" " << atom.
getPos().x() <<
"," << atom.
getPos().y() <<
","
186 << atom.
getPos().z() <<
"\n";
202 Eigen::Vector3d
pos_ = Eigen::Vector3d::Zero();
Index bonded_partner_ids_[kMaxBondedPartners]
void setResnr(Index resnr)
static void SetupCptTable(CptTable &table)
void ReadData(const data &d)
bool hasExternalBond() const
const Index * getBondedPartnerIds() const
void setPos(const Eigen::Vector3d &r)
void WriteData(data &d) const
Eigen::Vector3d external_bond_direction_
static std::string GetElementFromString(const std::string &MDName)
Index external_bond_partner_atom_id_
Index external_bond_partner_segment_id_
const Eigen::Vector3d & getPos() const
void Translate(const Eigen::Vector3d &shift)
Atom(Index resnr, std::string md_atom_name, Index atom_id, Eigen::Vector3d pos, std::string element)
const std::string & getName() const
void setExternalBondPartnerSegmentId(Index segment_id)
const Eigen::Vector3d & getExternalBondDirection() const
void Rotate(const Eigen::Matrix3d &R, const Eigen::Vector3d &refPos)
Index getExternalBondPartnerAtomId() const
void AddBondedPartner(Index partner_id)
friend std::ostream & operator<<(std::ostream &out, const Atom &atom)
Index getExternalBondPartnerSegmentId() const
std::string identify() const
std::string getElement() const
void setExternalBondDirection(const Eigen::Vector3d &dir, Index partner_atom_id)
static constexpr Index kMaxBondedPartners
Provides a means for comparing floating point numbers.
Index ext_bond_partner_segment_id
Index bonded_partner_ids[kMaxBondedPartners]