1 |
#ifndef __MOLOCATOR_HPP |
2 |
|
3 |
#define __MOLOCATOR_HPP |
4 |
|
5 |
#include <vector> |
6 |
|
7 |
#include "primitives/Atom.hpp" |
8 |
#include "primitives/DirectionalAtom.hpp" |
9 |
#include "types/MoleculeStamp.hpp" |
10 |
#include "primitives/Molecule.hpp" |
11 |
#include "math/SquareMatrix3.hpp" |
12 |
#include "math/Vector3.hpp" |
13 |
#include "UseTheForce/ForceField.hpp" |
14 |
namespace oopse { |
15 |
//convert lattice vector to rotation matrix |
16 |
double getAtomMass(const std::string& at, ForceField* myFF); |
17 |
double getMolMass(MoleculeStamp *molStamp, ForceField *myFF); |
18 |
RotMat3x3d latVec2RotMat(const Vector3d& lv); |
19 |
class MoLocator{ |
20 |
public: |
21 |
MoLocator( MoleculeStamp* theStamp, ForceField* theFF); |
22 |
void placeMol( const Vector3d& offset, const Vector3d& ort, Molecule* mol); |
23 |
private: |
24 |
void calcRef( void ); |
25 |
MoleculeStamp* myStamp; |
26 |
|
27 |
ForceField* myFF; |
28 |
std::vector<Vector3d> refCoords; |
29 |
int nIntegrableObjects; |
30 |
|
31 |
}; |
32 |
|
33 |
} |
34 |
#endif |
35 |
|