class Site : public feasst::PropertiedEntity, public feasst::TypedEntity

Sites are used for interaction potentials. They contain information associated with their positions and identity. This Site base class contains only those site properties which are unique to this particular site and not the same for every site of the same type.

Public Functions

void set_position(const Position &position)

Set the Position.

void add_position(const Position &position)

Add to the position.

const Position &position() const

Return the Position.

const double position(const int dimension) const

Return the Position in a given dimension.

Site(const Position position)

Construct with a position.

void displace(const Position displacement)

Displace the Position of the Site.

void add_property(const std::string name, const double value)

Add a property with the given name and value.

bool is_physical() const

Return true if the site is physically present. These are used, for example, in particle regrowth.

void set_physical(const bool physical = true)

Set as physical/nonphysical (default: physical).

void add_cell(const int cell)

Add a cell.

void set_cell(const int index, const int cell)

Set a cell.

int cell(const int index) const

Return a cell.

int num_cells() const

Return the number of cells.

void set_anisotropic(const bool aniso = false)

Set if anisotropic (default: false).

void set_euler(const Euler &euler)

Set the Euler angles (and sets the site anisotropic).

const Euler &euler() const

Return the Euler angles.

bool is_anisotropic() const

Return true if the site is anisotropic.