/usr/include/BALL/XRAY/crystalGenerator.h is in libball1.4-dev 1.4.3~beta1-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | // -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
#ifndef BALL_XRAY_CRYSTALGENERATOR_H
#define BALL_XRAY_CRYSTALGENERATOR_H
#ifndef BALL_KERNEL_ATOMCONTAINER_H
#include <BALL/KERNEL/atomContainer.h>
#endif
#ifndef BALL_KERNEL_SYSTEM_H
#include <BALL/KERNEL/system.h>
#endif
#ifndef BALL_DATATYPE_REGULARDATA3D_H
#include <BALL/DATATYPE/regularData3D.h>
#endif
#ifndef BALL_XRAY_CRYSTALINFO_H
#include <BALL/XRAY/crystalInfo.h>
#endif
#ifndef BALL_STRUCTURE_GEOMETRICTRANSFORMATIONS_H
#include <BALL/STRUCTURE/geometricTransformations.h>
#endif
#ifndef BALL_STRUCTURE_GEOMETRICPROPERTIES_H
# include <BALL/STRUCTURE/geometricProperties.h>
#endif
#ifndef BALL_MATHS_BOX3_H
# include <BALL/MATHS/box3.h>
#endif
namespace BALL
{
/** CrystalGenerator Class
\ingroup XRAY
*/
class BALL_EXPORT CrystalGenerator
{
public:
/** @name Enums
*/
//@{
/**
*/
enum CellType
{
NCS_ASU = 0,
ASU = 1,
UNITCELL = 2
};
/** Option Names
*/
struct BALL_EXPORT Option
{
/** The file name for the space group to symmetry operations mappings file
*/
static const string SPACE_GROUP_FILE;
};
/** Default Names
*/
struct BALL_EXPORT Default
{
/** The default filename for the space group mappings file
*/
static const string SPACE_GROUP_FILE;
};
/** @name constructors and Destructors
*/
//@{
/** Default Constructor.
This methods creates a new CrystalGenerator object
*/
CrystalGenerator();
/** Copy Constructor.
Creates a new CrystalGenerator object from another
@param cg the CrystalGenerator to be copied from
*/
CrystalGenerator(const CrystalGenerator& cg);
/** Destructor.
*/
~CrystalGenerator();
//@}
///
void setSpaceGroupFilename(String& filename){filename_ = filename;};
///
const String& getSpaceGroupFilename() const {return filename_;};
void setCrystalInfo(boost::shared_ptr<CrystalInfo> ci_ptr);
void setSystem(System* system_ptr);
std::list<System*> generatePacking(Index a_loweridx, Index a_upperidx, Index b_loweridx, Index b_upperid, Index c_loweridx, Index c_upperid);
System* generateUnitCell(Index a, Index b, Index c);
System* generateUnitCell();
System* generateAsymmetricUnit();
std::list<System*> generateSymMoleculesWithinDistance(float angstrom);
Box3 getUnitCellBox(Index a, Index b, Index c);
protected:
bool buildUnitCell_();
bool buildASU_();
bool correctASUPositions_(System* raw_cell);
GeometricCenterProcessor center_processor_;
TransformationProcessor transformer_;
System* system_;
System* asu_;
System* unitcell_;
boost::shared_ptr<CrystalInfo> ci_ptr_;
String filename_;
};
} // namespace BALL
#endif // BALL_XRAY_CRYSTALINFO_H
|