20#ifndef SHAPES_SIMPLE_PORE_HPP
21#define SHAPES_SIMPLE_PORE_HPP
32 double m_smoothing_rad;
48 m_half_length = 0.5 * m_length;
50 e_z = m_axis / m_axis.
norm();
64 c_r = m_rad + m_smoothing_rad;
65 c_z = m_half_length - m_smoothing_rad;
68 std::pair<double, double> dist_half_pore(
double r,
double z)
const;
73 double radius()
const {
return m_rad; }
79 double length()
const {
return m_length; }
Vector implementation and trait types for boost qvm interoperability.
Utils::Vector3d const & axis() const
Utils::Vector3d & center()
void set_axis(Utils::Vector3d const &axis)
double smoothing_radius() const
void set_length(double const &length)
void calculate_dist(const Utils::Vector3d &pos, double &dist, Utils::Vector3d &vec) const override
void set_smoothing_radius(double const &smoothing_radius)
void set_radius(double const &radius)