ObjCryst++  1.5CVS
Classes | Public Member Functions | Public Attributes
ObjCryst::CIFData Class Reference

The CIFData class holds all the information from a single data_ block from a cif file. More...

List of all members.

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.
void ExtractName (const bool verbose=false)
 Extract name & formula for the crystal.
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.
void ExtractPowderPattern (const bool verbose=false)
 Extract Powder Diffraction data, with Iobs, sigma(Iobs) and either 2theta or time-of-flight position.
void ExtractSingleCrystalData (const bool verbose=false)
 Extract single crystal data, with Iobs, sigma(Iobs) and h,k,l.
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 (float &x, float &y, float &z)
 Convert from fractional to cartesian coordinates CIFData::CalcMatrices() must be called first.
void c2f (float &x, float &y, float &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< float > 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< CIFAtommvAtom
 Atoms, if any are found.
float mOrthMatrix [3][3]
 Fractionnal2Cartesian matrix.
float mOrthMatrixInvert [3][3]
 Cartesian2Fractionnal matrix.
std::vector< float > mPowderPatternObs
 Powder pattern data.
std::vector< float > mPowderPatternX
std::vector< float > 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 ?
float mWavelength
 Wavelength.

Detailed Description

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.


Member Function Documentation

void ObjCryst::CIFData::ExtractAll ( const bool  verbose = false)

Extract lattice parameters, spacegroup (symbol or number), atomic positions, chemical name and formula if available.

All other data is ignored

void ObjCryst::CIFData::ExtractAtomicPositions ( const bool  verbose = false)

Extract all atomic positions.

Will generate cartesian from fractional coordinates or vice-versa if only cartesian coordinates are available.

void ObjCryst::CIFData::ExtractPowderPattern ( const bool  verbose = false)

Extract Powder Diffraction data, with Iobs, sigma(Iobs) and either 2theta or time-of-flight position.


Member Data Documentation

std::vector<float> ObjCryst::CIFData::mvLatticePar

Lattice parameters, in ansgtroem and degrees - vector size is 0 if no parameters have been obtained yet.


The documentation for this class was generated from the following file: