Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   Namespace Members   Compound Members   Related Pages  

Todo List

Class ObjCryst::AsymmetricUnit
Currently the initialization of the asymmetric unit is done numerically, slowly. A faster algorithm should be used (using dichotomy), or we could switch to using a table of asymmetric units.

Class ObjCryst::Crystal
exporting (and importing) crystal structures to/from other files format than ObjCryst's XML (eg CIF, and format used by refinement software)

Member ObjCryst::Crystal::CalcDistTable(const bool fast, const REAL asymUnitMargin=4) const
sanitize the result distance table in a more usable structure than the currently used Crystal::mDistTableSq and Crystal::mDistTableIndex.

optimize again. Test if recomputation is needed using Clocks. Use a global option instead of asymUnitMargin.

Member ObjCryst::Crystal::Print(ostream &os=cout) const
one function to print on one line and a PrintLong() function

Class CrystVector
check again Blitz++ support in newer gcc versions.

Class ObjCryst::ObjRegistry
(?) create two derived classes with the same interface, one which is a const registry (the 'client' registry for RefinableObj), and one which has a non-const access to the registered objects (the 'sub-objects' in RefinableObj).

Member ObjCryst::PowderPattern::SavePowderPattern(const string &filename="powderPattern.out") const
export in other formats (.prf,...), with a list of reflection

Class ObjCryst::Radiation
also add here information about the polarization of the beam.

Class ObjCryst::RefinableObj
Define more clearly which operations are recursive (ie also modify sub-objects).

Member ObjCryst::RefinableObj::GetRestraintCost() const
Instead, we could return by default the sum of the restraints, but this is dangerous since we need to have objects using restraints fully responsible for them.

Member ObjCryst::RefinableObj::RegisterClient(RefinableObj &) const
: the clients should be const, but are not... This need to be fixed...

Member ObjCryst::RefinableObj::XMLInput(istream &is, const XMLCrystTag &tag)
Add an bool XMLInputTag(is,tag) function to recognize all the tags from the stream. So that each inherited class can use the XMLInputTag function from its parent (ie take advantage of inheritance). The children class would first try to interpret the tag, then if unsuccessful would pass it to its parent (thus allowing overloading), etc...

Member ObjCryst::RefinableObj::XMLOutput(ostream &os, int indent=0) const
Use inheritance.. as for XMLInputTag()...

Class ObjCryst::RefinablePar
: define parameters using equations between parameters.

: for complex objects with lots of parameters, give the possibility to define vectors of parameters, all with the same properties, to reduce memory usage.

Class ObjCryst::ScatteringData
Optimize computation for Bijvoet/Friedel mates. To do this, generate an internal list of 'true independent reflections', with two entries for each, for both mates, and make the 'real' reflections only a reference to these reflections.

a lot of cleaning is necessary in the computing of structure factors, for (1) the 'preparation' part (deciding what needs to be recomputed) and (2) to allow anisotropic temperature factors (or other anisotropic parts)

Member ObjCryst::ScatteringData::GenHKLFullSpace(const REAL maxTheta, const bool useMultiplicity=false)
smarter generation, using spacegroup information to remove extinct reflection rather than brute-force computation.

Member ObjCryst::ScatteringData::PrepareCalcStructFactor() const
Clean up the code, which is a really unbelievable mess (but working!)

Member ObjCryst::ScatteringData::SetIsIgnoringImagScattFact(const bool b)
this should become useless once we take fully advantage of coupled

Class ObjCryst::ScatteringPower
Anisotropic scattering (temperature factor especially) code, using derived classes

Clarify organization by removing any 'real' data from the top, abstract base class (eg remove Biso and Betaij), and by creating derived classes. Optionnaly 3 classes (used as members of ScatteringPower) could be created, TemperatureFactor, ScatteringFactor, and ResonantScatteringFactor. In any way the design of this class should not evolve, so that code using the ScatteringPower interface will remain compatible whatever modifications are made.

Member ObjCryst::SpaceGroup::ChangeToAsymmetricUnit(REAL x, REAL y, REAL z) const
SpaceGroup::IsInAsymmetricUnit()

Member ObjCryst::SpaceGroup::Print() const

Class ObjCryst::WXCrystObj
Allow the objects to be collabsable. The difficulty is that even if the object is not shown, it is not removed by the Sizer as long as it is not deleted... Needs some testing ! Otherwise it would also be possible to delete and re-create sub-objects when collapsing, but that would be more difficult.

Class ObjCryst::WXFieldRefPar
: allow acces to the parameters limits

Class ObjCryst::WXPowderPatternBackground
Display the list of background points with the refinable intensity. Add th possibility to change the points.

Class ObjCryst::WXPowderPatternGraph
display the difference pattern. Allow to zoom. Display reflection positions for crystalline phases.

Member ObjCryst::ZScatterer::ExportFenskeHallZMatrix(ostream &os)
USe more strict formatting than space-delimited.

Member ObjCryst::ZScatterer::ImportFenskeHallZMatrix(istream &is)
: identify which dihedral angles should not be limited, by analysing a coordination table.

Member ObjCryst::ZScatterer::m3DDisplayIndex
This is still experimental. This is only used for the display of ZPolyhedron, and should be more developped (and it should also be saved in XML files !)

Generated on Tue Feb 5 17:37:19 2002 for ObjCryst++ by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001