28 lines
634 B
C++
28 lines
634 B
C++
// Copyright (2019-2023) Paul Scherrer Institute
|
|
|
|
#ifndef JUNGFRAUJOCH_CRYSTALLATTICE_H
|
|
#define JUNGFRAUJOCH_CRYSTALLATTICE_H
|
|
|
|
#include "../common/Coord.h"
|
|
#include "../common/UnitCell.h"
|
|
#include <Eigen/Dense>
|
|
|
|
class CrystalLattice {
|
|
Coord vec[3];
|
|
public:
|
|
Coord &Vec0();
|
|
Coord &Vec1();
|
|
Coord &Vec2();
|
|
|
|
CrystalLattice();
|
|
CrystalLattice(const UnitCell &cell);
|
|
CrystalLattice(const Eigen::Matrix3f &m);
|
|
CrystalLattice ReciprocalLattice() const;
|
|
UnitCell GetUnitCell();
|
|
Eigen::Matrix3f GetEigenMatrix() const;
|
|
void Save(std::vector<float> &output);
|
|
};
|
|
|
|
|
|
#endif //JUNGFRAUJOCH_CRYSTALLATTICE_H
|