Definition at line 66 of file IPositionBuilder.h.
◆ Lattice1DPositionBuilder()
Definition at line 96 of file IPositionBuilder.cpp.
InterferenceFunction1DLattice * clone() const override
Returns a clone of this ISampleNode object.
std::unique_ptr< InterferenceFunction1DLattice > m_iff
◆ ~Lattice1DPositionBuilder()
Lattice1DPositionBuilder::~Lattice1DPositionBuilder |
( |
| ) |
|
|
overridedefault |
◆ generatePositions()
std::vector< std::vector< double > > IPositionBuilder::generatePositions |
( |
double |
layer_size, |
|
|
double |
density = 0.0 |
|
) |
| const |
|
inherited |
Definition at line 28 of file IPositionBuilder.cpp.
35 std::random_device rd;
36 std::mt19937 gen(rd());
37 std::normal_distribution<double> dis(0.0, std::sqrt(pos_var));
38 for (
auto& position : positions) {
39 for (
auto& coordinate : position)
40 coordinate += dis(gen);
virtual std::vector< std::vector< double > > generatePositionsImpl(double layer_size, double density=0.0) const =0
virtual double positionVariance() const =0
References IPositionBuilder::generatePositionsImpl(), and IPositionBuilder::positionVariance().
◆ generatePositionsImpl()
std::vector< std::vector< double > > Lattice1DPositionBuilder::generatePositionsImpl |
( |
double |
layer_size, |
|
|
double |
density = 0.0 |
|
) |
| const |
|
overrideprivatevirtual |
Implements IPositionBuilder.
Definition at line 103 of file IPositionBuilder.cpp.
106 const double length =
m_iff->getLength();
107 const double xi =
m_iff->getXi();
112 length == 0.0 ? 2 :
static_cast<unsigned>(2.0 * layer_size * std::sqrt(2.0) / length);
114 return Generate2DLatticePoints(length, 0.0, 0.0, xi, n1, 1u);
References m_iff.
◆ positionVariance()
double Lattice1DPositionBuilder::positionVariance |
( |
| ) |
const |
|
overrideprivatevirtual |
◆ m_iff
The documentation for this class was generated from the following files: