35 radius_ = std::numeric_limits<double>::quiet_NaN();
36 #ifdef DEBUG_CONSTRUCTOR
37 std::cout<<
"CylindricalWall () finished"<<std::endl;
45 #ifdef DEBUG_CONSTRUCTOR
46 std::cout<<
"CylindricalWall (const CylindricalWall &p) finished"<<std::endl;
54 #ifdef DEBUG_CONSTRUCTOR
55 std::cout<<
"CylindricalWall (double radius) finished"<<std::endl;
85 normal_return.
Z = 0.0;
86 normal_return /= normal_return.
getLength();
114 return "CylindricalWall";
Mdouble X
the vector components
const Vec3D & getPosition() const
Returns the position of this BaseInteractable.
static Mdouble getLength(const Vec3D &a)
Calculates the length of a Vec3D: .
void oldRead(std::istream &is)
Mdouble getRadius() const
Returns the particle's radius_.
void clear()
A function that removes all data from this BaseWall, so sets handler_ to nullptr. ...
CylindricalWall * copy() const
Wall copy method. It calls the copy contrustor of this Wall, usefull for polymorfism.
void write(std::ostream &os) const
outputs wall
bool getDistanceAndNormal(const BaseParticle &P, Mdouble &distance, Vec3D &normal_return) const
Since this function should be called before calculating any Particle-Wall interactions, it can also be used to set the normal vector in case of curved walls.
Implementation of a 3D vector (by Vitaliy).
void set(Mdouble radius)
Defines a standard wall, given an outward normal vector s. t. normal*x=position.
void read(std::istream &is)
reads wall
double getRadius() const
access function for radius
void write(std::ostream &os) const
Function that writes a BaseWall to an output stream, usually a restart file.
void read(std::istream &is)
Function that reads a BaseWall from an input stream, usually a restart file.
virtual std::string getName() const
Returns the name of the object.