9#include <util/math/Constants.h>
41 void UnitCell<1>::setBasis()
46 rBasis_[0][0] = parameters_[0];
48 drBasis_[0](0,0) = 1.0;
60 lattice_ = other.lattice_;
117 if (buffer ==
"Lamellar" || buffer ==
"lamellar") {
120 UTIL_THROW(
"Invalid UnitCell<1>::LatticeSystem value input");
137 UTIL_THROW(
"Invalid value of UnitCell<1>::Lamellar");
bool isInitialized_
Has this unit cell been fully initialized?
FArray< RealVec< D >, D > rBasis_
Array of Bravais lattice basis vectors.
FSArray< double, 6 > parameters() const
Get the parameters of this unit cell.
FArray< double, 6 > parameters_
Parameters used to describe the unit cell.
void setLattice()
Compute all protected data, given latticeSystem and parameters.
int nParameter_
Number of parameters required to specify unit cell.
LatticeSystem lattice() const
Return lattice system enumeration value.
void set(UnitCell< 1 >::LatticeSystem lattice)
Set the lattice system, but not unit cell parameters.
Base template for UnitCell<D> classes, D=1, 2 or 3.
static const double Pi
Trigonometric constant Pi.
A fixed capacity (static) contiguous array with a variable logical size.
#define UTIL_CHECK(condition)
Assertion macro suitable for serial or parallel production code.
#define UTIL_THROW(msg)
Macro for throwing an Exception, reporting function, file and line number.
Periodic fields and crystallography.
PSCF package top-level namespace.
std::istream & operator>>(std::istream &in, Pair< Data > &pair)
Input a Pair from an istream.
std::ostream & operator<<(std::ostream &out, const Pair< Data > &pair)
Output a Pair to an ostream, without line breaks.