|
| 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.
|
| |
|
|
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.
|
| |
|
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):
- crystal name: chemical_name_systematic > _chemical_name_mineral > _chemical_name_structure_type > _chemical_name_common
- crystal formula: _chemical_formula_analytical > _chemical_formula_structural > _chemical_formula_iupac > _chemical_formula_moiety
- unit cell: _cell_length{a,b,c} ; cell_angle{alpha,beta,gamma}
- spacegroup number: space_group_IT_number > _symmetry_Int_Tables_number
- spacegroup Hall symbol: _space_group_name_Hall > _symmetry_space_group_name_Hall
- spacegroup Hermann-Mauguin symbol:_space_group_name_H-M_alt > _symmetry_space_group_name_H-M
- atom coordinates: _atom_site_fract{x} ; atom_site_Cartn{x,y,z}
- atom occupancy: atom_site_occupancy
- atom label & symbol: _atom_site_type_symbol ; _atom_site_label
- atom adps: _atom_site_aniso{U,B}_{11,22,33,12,13,23} > atom_site{U,B}_iso_or_equiv
Cartesian coordinates are stored in Angstroems, angles in radians.
To import PowderPattern data, the following tags are used:
- observed intensity: pd_meas_counts_total > _pd_meas_intensity_total > _pd_proc_intensity_total > _pd_proc_intensity_net
- uncertainty on intensity: deducted from _pd_proc_ls_weight or square root of intensity
- coordinates: _pd_proc_2theta_corrected > _pd_meas_angle_2theta > _pd_meas_time_of_flight > _pd_proc_2theta_range{min,max,inc}
- intensity normalizer (optional): _pd_meas_intensity_monitor > _pd_meas_step_count_time
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.
Definition at line 62 of file CIF.h.