4 #include <blitz/array.h>
8 #include "Interactions.h"
16 class LatticeLayer
: public Array
<Occupation
, 2> {
18 LatticeLayer
& operator=(Occupation
const& o
);
20 friend ostream
& operator<<(ostream
& output
, const LatticeLayer
&);
27 Lattice(int Longitude
= 0, int Latitude
= 0, int UnitCellSizeX
= 0, int UnitCellSizeY
= 0) :
28 Latitude(Latitude
), Longitude(Longitude
),
29 UnitCellSizeX(UnitCellSizeX
), UnitCellSizeY(UnitCellSizeY
),
31 // XXX: this is crap...!!
32 surface() { adsorbates(2,2); };
34 int Latitude
, Longitude
;
35 int UnitCellSizeX
, UnitCellSizeY
;
37 LatticeLayer adsorbates
;
40 SymmetryOperations symmetry
;
42 void extendUnitCell(void);
43 void assessInteractions(Interactions
&);
44 double getEnergy(void);
47 void extendUnitCell(LatticeLayer
, int, int);
49 friend ostream
& operator<<(ostream
& output
, const Lattice
&);