FOX/ObjCryst++
1.10.X (development)
|
The CIFData class holds all the information from a single data_ block from a cif file. More...
Classes | |
struct | CIFAtom |
Atom record. More... | |
Public Member Functions | |
void | ExtractAll (const bool verbose=false) |
Extract lattice parameters, spacegroup (symbol or number), atomic positions, chemical name and formula if available. More... | |
void | ExtractName (const bool verbose=false) |
Extract name & formula for the crystal. More... | |
void | ExtractUnitCell (const bool verbose=false) |
Extract unit cell. | |
void | ExtractSpacegroup (const bool verbose=false) |
Extract spacegroup number or symbol. | |
void | ExtractAtomicPositions (const bool verbose=false) |
Extract all atomic positions. More... | |
void | ExtractAnisotropicADPs (const bool verbose=false) |
Extract anisotropic atomic displacement parameters. Isotropic ADPs. | |
void | ExtractPowderPattern (const bool verbose=false) |
Extract Powder Diffraction data, with Iobs, sigma(Iobs) and either 2theta or time-of-flight position. More... | |
void | ExtractSingleCrystalData (const bool verbose=false) |
Extract single crystal data, with Iobs, sigma(Iobs) and h,k,l. More... | |
void | Cartesian2FractionalCoord () |
Generate fractional coordinates from cartesian ones for all atoms CIFData::CalcMatrices() must be called first. | |
void | Fractional2CartesianCoord () |
Generate cartesian coordinates from fractional ones for all atoms CIFData::CalcMatrices() must be called first. | |
void | f2c (REAL &x, REAL &y, REAL &z) |
Convert from fractional to cartesian coordinates CIFData::CalcMatrices() must be called first. | |
void | c2f (REAL &x, REAL &y, REAL &z) |
Convert from cartesia to fractional coordinates CIFData::CalcMatrices() must be called first. | |
void | CalcMatrices (const bool verbose=false) |
Calculate real space transformation matrices requires unit cell parameters. | |
Public Attributes | |
std::list< std::string > | mvComment |
Comments from CIF file, in the order they were read. | |
std::map< ci_string, std::string > | mvItem |
Individual CIF items. | |
std::map< std::set< ci_string > , std::map< ci_string, std::vector< std::string > > > | mvLoop |
CIF Loop data. | |
std::vector< REAL > | mvLatticePar |
Lattice parameters, in ansgtroem and degrees - vector size is 0 if no parameters have been obtained yet. More... | |
std::string | mSpacegroupNumberIT |
Spacegroup number from International Tables (_space_group_IT_number), or -1. | |
std::string | mSpacegroupSymbolHall |
Spacegroup Hall symbol (or empty string) (_space_group_name_Hall) | |
std::string | mSpacegroupHermannMauguin |
Spacegroup Hermann-Mauguin symbol (or empty string) (_space_group_name_H-M_alt) | |
std::set< string > | mvSymmetry_equiv_pos_as_xyz |
Map of _symmetry_equiv_pos_as_xyz strings. | |
std::string | mName |
Crystal name. Or empty string if none is available. | |
std::string | mFormula |
Formula. Or empty string if none is available. | |
std::vector< CIFAtom > | mvAtom |
Atoms, if any are found. | |
REAL | mOrthMatrix [3][3] |
Fractionnal2Cartesian matrix. | |
REAL | mOrthMatrixInvert [3][3] |
Cartesian2Fractionnal matrix. | |
std::vector< REAL > | mPowderPatternObs |
Powder pattern data. | |
std::vector< REAL > | mPowderPatternX |
std::vector< REAL > | mPowderPatternSigma |
CrystVector_long | mH |
Single crystal data. | |
CrystVector_long | mK |
CrystVector_long | mL |
CrystVector_REAL | mIobs |
Single crystal data. | |
CrystVector_REAL | mSigma |
WavelengthType | mDataType |
Is this X-Ray 2theta, time-of-flight ? | |
REAL | mWavelength |
Wavelength. | |
The CIFData class holds all the information from a single data_ block from a cif file.
It is a placeholder for all comments, item and loop data, as raw strings copied from a cif file.
It is also used to interpret this data to extract parts of the cif data, i.e. only part of the core cif dictionnary are recognized. CIF tags currently recognized include ("tag1 > tag2" means tag1 is preferred to tag2 when extracting the info, only one is reported):
Cartesian coordinates are stored in Angstroems, angles in radians.
To import PowderPattern data, the following tags are used:
If another data field is needed, it is possible to directly access the string data (CIFData::mvComment , CIFData::mvItem and CIFData::mvLoop) to search for the correct tags.
void ObjCryst::CIFData::ExtractAll | ( | const bool | verbose = false | ) |
void ObjCryst::CIFData::ExtractAtomicPositions | ( | const bool | verbose = false | ) |
void ObjCryst::CIFData::ExtractName | ( | const bool | verbose = false | ) |
void ObjCryst::CIFData::ExtractPowderPattern | ( | const bool | verbose = false | ) |
void ObjCryst::CIFData::ExtractSingleCrystalData | ( | const bool | verbose = false | ) |
std::vector<REAL> ObjCryst::CIFData::mvLatticePar |