Class ConvexApertureShape#

Inheritance Relationships#

Base Type#

Class Documentation#

class ConvexApertureShape : public BaseApertureShape#

ConvexApertureShape is an implementation of BaseApertureShape class and a collection of (x,y) points describing convex shape. User should define these points.

Public Functions

ConvexApertureShape()#

ConvexApertureShape constructor

virtual ~ConvexApertureShape()#

ConvexApertureShape decstructor

virtual int inside(Bunch *bunch, int count)#

Return 1 if the particular macro-particle is inside this shape

void addPoint(double x, double y)#

Adds the new aperture shape to the collection

std::vector<double> getPointsX()#

Returns vector of x-coordinates of points

std::vector<double> getPointsY()#

Returns vector of y-coordinates of points

void removeAllPoints()#

Removes all (x,y) points

int checkAllPoints()#

Checks that we have a convex shape

int checkOnePoint(int i0, int i1, int i)#

Checks that a point with index i that it is at clockwise half-plain relative to 0->1 line

int checkOnePoint(int i0, int i1, double x, double y)#

Checks that a point (x,y) that it is at clockwise half-plain relative to 0->1 line

Protected Attributes

std::vector<double> convexX#
std::vector<double> convexY#