22#ifndef VOTCA_XTP_STATICSITE_H
23#define VOTCA_XTP_STATICSITE_H
92 void setPos(
const Eigen::Vector3d& position) {
pos_ = position; }
95 void Translate(
const Eigen::VectorXd& shift);
96 virtual void Rotate(
const Eigen::Matrix3d& R,
const Eigen::Vector3d& refPos);
105 virtual Eigen::Vector3d
getDipole()
const {
return Q_.segment<3>(1); }
110 const Eigen::Matrix3d& quad_cart);
112 std::string
WriteMpsLine(std::string unit =
"bohr")
const;
120 virtual std::string
identify()
const {
return "staticsite"; }
124 out <<
" " << site.
getPos().transpose() <<
"\n";
133 Eigen::Vector3d
pos_ = Eigen::Vector3d::Zero();
Class to represent Atom/Site in electrostatic.
void setMultipole(const Vector9d &multipole, Index rank)
static Eigen::VectorXd CalculateSphericalMultipole(const Eigen::Matrix3d &quad_cart)
Eigen::Matrix3d CalculateCartesianMultipole() const
static void SetupCptTable(CptTable &table)
virtual Eigen::Vector3d getDipole() const
const std::string & getElement() const
std::string WriteMpsLine(std::string unit="bohr") const
virtual void setpolarization(const Eigen::Matrix3d &)
StaticSite(Index id, std::string element)
const Eigen::Vector3d & getPos() const
void setPos(const Eigen::Vector3d &position)
StaticSite(Index id, std::string element, Eigen::Vector3d pos)
StaticSite(const QMAtom &atom, double charge)
virtual ~StaticSite()=default
virtual std::string identify() const
StaticSite(const data &d)
void WriteData(data &d) const
virtual std::string writepolarization() const
friend std::ostream & operator<<(std::ostream &out, const StaticSite &site)
void ReadData(const data &d)
void Translate(const Eigen::VectorXd &shift)
const Vector9d & Q() const
virtual void Rotate(const Eigen::Matrix3d &R, const Eigen::Vector3d &refPos)
base class for all analysis tools
Eigen::Matrix< double, 9, 1 > Vector9d