BALL 1.5.0
Loading...
Searching...
No Matches
crystalGenerator.h
Go to the documentation of this file.
1// -*- Mode: C++; tab-width: 2; -*-
2// vi: set ts=2:
3
4#ifndef BALL_XRAY_CRYSTALGENERATOR_H
5#define BALL_XRAY_CRYSTALGENERATOR_H
6
7#ifndef BALL_KERNEL_ATOMCONTAINER_H
9#endif
10
11#ifndef BALL_KERNEL_SYSTEM_H
12#include <BALL/KERNEL/system.h>
13#endif
14
15#ifndef BALL_DATATYPE_REGULARDATA3D_H
17#endif
18
19#ifndef BALL_XRAY_CRYSTALINFO_H
21#endif
22
23#ifndef BALL_STRUCTURE_GEOMETRICTRANSFORMATIONS_H
25#endif
26
27#ifndef BALL_STRUCTURE_GEOMETRICPROPERTIES_H
29#endif
30
31#ifndef BALL_MATHS_BOX3_H
32# include <BALL/MATHS/box3.h>
33#endif
34
35namespace BALL
36{
41 {
42 public:
43
44
48
52 {
53 NCS_ASU = 0,
54 ASU = 1,
55 UNITCELL = 2
56 };
57
61 {
64 static const string SPACE_GROUP_FILE;
65 };
66
70 {
73 static const string SPACE_GROUP_FILE;
74 };
75
84
91
96
98 void setSpaceGroupFilename(String& filename){filename_ = filename;};
99
101 const String& getSpaceGroupFilename() const {return filename_;};
102 void setCrystalInfo(boost::shared_ptr<CrystalInfo> ci_ptr);
103 void setSystem(System* system_ptr);
104
105 std::list<System*> generatePacking(Index a_loweridx, Index a_upperidx, Index b_loweridx, Index b_upperid, Index c_loweridx, Index c_upperid);
106
110 std::list<System*> generateSymMoleculesWithinDistance(float angstrom);
111
113
114 protected:
115
117 bool buildASU_();
119
122
124
127 boost::shared_ptr<CrystalInfo> ci_ptr_;
129 };
130} // namespace BALL
131
132#endif // BALL_XRAY_CRYSTALINFO_H
bool correctASUPositions_(System *raw_cell)
System * generateAsymmetricUnit()
boost::shared_ptr< CrystalInfo > ci_ptr_
std::list< System * > generateSymMoleculesWithinDistance(float angstrom)
Box3 getUnitCellBox(Index a, Index b, Index c)
const String & getSpaceGroupFilename() const
void setSpaceGroupFilename(String &filename)
void setSystem(System *system_ptr)
GeometricCenterProcessor center_processor_
std::list< System * > generatePacking(Index a_loweridx, Index a_upperidx, Index b_loweridx, Index b_upperid, Index c_loweridx, Index c_upperid)
TransformationProcessor transformer_
CrystalGenerator(const CrystalGenerator &cg)
void setCrystalInfo(boost::shared_ptr< CrystalInfo > ci_ptr)
System * generateUnitCell()
System * generateUnitCell(Index a, Index b, Index c)
static const string SPACE_GROUP_FILE
static const string SPACE_GROUP_FILE
#define BALL_EXPORT