54 |
|
|
55 |
|
class Geometry{ |
56 |
|
protected: |
57 |
< |
Geometry(){ |
58 |
< |
|
59 |
< |
setOrigin(V3Zero); |
60 |
< |
} |
57 |
> |
Geometry(){} |
58 |
|
|
59 |
|
public: |
60 |
|
|
61 |
|
//virtual destructor of Lattice |
62 |
|
virtual ~Geometry() {} |
63 |
|
|
67 |
– |
int getNumSitesPerCell() {return nCellSites;} |
68 |
– |
|
69 |
– |
void getLatticePointsPos(std::vector<Vector3d>& latticePos, int nx, int ny, int nz); |
70 |
– |
|
71 |
– |
std::vector<Vector3d> getLatticePointsOrt() {return cellSitesOrt;} |
72 |
– |
|
73 |
– |
//get lattice constant of unit cell |
74 |
– |
virtual std::vector<double> getLatticeConstant() =0; |
75 |
– |
|
76 |
– |
//set lattice constant of unit cell |
77 |
– |
virtual void setLatticeConstant(const std::vector<double>& lc)=0; |
78 |
– |
|
79 |
– |
//get origin of unit cell |
80 |
– |
Vector3d getOrigin( ) {return origin;} |
81 |
– |
|
82 |
– |
//set origin of unit cell |
83 |
– |
void setOrigin(const Vector3d& newOrigin){ |
84 |
– |
this->origin = newOrigin; |
85 |
– |
} |
86 |
– |
|
64 |
|
// Test if point is inside geometry |
65 |
< |
bool isInside(double x, double y, double z); |
65 |
> |
virtual bool isInside(double x, double y, double z); |
66 |
|
// Dump geometry to a file |
67 |
< |
void dumpGeometry(const std::string& geomFileName); |
67 |
> |
virtual void dumpGeometry(const std::string& geomFileName); |
68 |
|
|
69 |
|
|
70 |
|
protected: |
71 |
|
virtual void update() =0; |
72 |
|
|
96 |
– |
int nCellSites; |
97 |
– |
Vector3d origin; |
98 |
– |
std::vector<Vector3d> cellSitesPos; |
99 |
– |
std::vector<Vector3d> cellSitesOrt; |
100 |
– |
Vector3d cellLen; |
73 |
|
}; |
74 |
|
|
75 |
|
|