| 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 |
|
|