19#ifndef OBSERVABLES_PARTICLE_TRAITS
20#define OBSERVABLES_PARTICLE_TRAITS
26#include "system/System.hpp"
38 return box_geo.unfolded_position(p.
pos(), p.
image_box());
44#ifdef ESPRESSO_VIRTUAL_SITES
47 return decltype(p.
mass()){};
53#ifdef ESPRESSO_DIPOLES
60#ifdef ESPRESSO_DIPOLE_FIELD_TRACKING
67#ifdef ESPRESSO_ROTATION
74#ifdef ESPRESSO_ROTATION
81#ifdef ESPRESSO_ROTATION
88#ifdef ESPRESSO_ROTATION
std::shared_ptr< BoxGeometry > box_geo
This file contains all subroutines required to process rotational motion.
Utils::Vector3d convert_vector_body_to_space(const Particle &p, const Utils::Vector3d &vec)
Utils::Vector3d convert_vector_space_to_body(const Particle &p, const Utils::Vector3d &v)
auto velocity_body(Particle const &p) const
auto position(Particle const &p) const
auto dipole_field(Particle const &p) const
auto director(Particle const &p) const
auto mass(Particle const &p) const
auto angular_velocity_body(Particle const &p) const
auto position_folded(Particle const &p) const
auto id(Particle const &p) const
auto charge(Particle const &p) const
auto force(Particle const &p) const
auto angular_velocity(Particle const &p) const
auto velocity(Particle const &p) const
auto dipole_moment(Particle const &p) const
Struct holding all information for one particle.
constexpr auto const & dip_fld() const
constexpr auto calc_director() const
constexpr auto calc_dip() const
constexpr auto const & pos() const
constexpr auto const & mass() const
constexpr auto const & omega() const
constexpr auto const & force() const
constexpr auto is_virtual() const
constexpr auto const & image_box() const
constexpr auto const & id() const
constexpr auto const & q() const
constexpr auto const & v() const