Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create Loader for CrystalStructure #11268

Closed
1 task done
MichaelWedel opened this issue Oct 24, 2014 · 3 comments
Closed
1 task done

Create Loader for CrystalStructure #11268

MichaelWedel opened this issue Oct 24, 2014 · 3 comments
Assignees
Labels
Extra Attention Testers and Gate keepers should pay extra attention as this affects core aspects. Framework Issues and pull requests related to components in the Framework
Milestone

Comments

@MichaelWedel
Copy link
Contributor

This issue was originally TRAC 10426

This ticket is blocked by :

In ticket http://trac.mantidproject.org/mantid/ticket/10283 CrystalStructure was adjusted so it can be constructed from a unit cell, space group and scatterers.

In order to be able to access crystal structures in algorithms, I think it would be useful to implement something similar to LoadInstrument, let's say LoadCrystalStructure. The algorithm would read a file that contains all necessary information to construct a CrystalStructure object and store it in the selected workspace.

I have tried to find a suitable storage location for CrystalStructure and for the moment the most logical approach I could find was to store it in ExperimentInfo -> Sample.

For this, I would like to modify sample so it's able to hold a vector of CrystalStructure_sptr's (for the case of multi-phase samples). Anders already pointed out that Sample is a core part of Mantid, so if there's an alternative which does not go so deep into the framework I'd be happy to know.

I have attached a small diagram of the change I plan to make to Sample. One thing I am not sure are the changes to saveNexus/loadNexus. I checked how it's done in OrientedLattice, but in the nexus reference I could not find suitable fields (for example in NXCrystal) - how is this handled in other cases where data is stored that are not covered by the standard? Would shape_xml be an example for orientation?

For each crystal structure I would have to store a unit cell (just as in OrientedLattice), a string with the space group symbol and a string which stores information about the scatterers.


Keywords: CORE

@MichaelWedel MichaelWedel added Framework Issues and pull requests related to components in the Framework Extra Attention Testers and Gate keepers should pay extra attention as this affects core aspects. labels Jun 3, 2015
@MichaelWedel MichaelWedel self-assigned this Jun 3, 2015
@MichaelWedel MichaelWedel added this to the Release 3.5 milestone Jun 3, 2015
@mantid-builder
Copy link
Collaborator

@MichaelWedel
Copy link
Contributor Author

The CrystalStructure storage in Sample has been moved to #13905.

MichaelWedel pushed a commit that referenced this issue Jan 13, 2016
MichaelWedel pushed a commit that referenced this issue Jan 13, 2016
MichaelWedel pushed a commit that referenced this issue Jan 14, 2016
MichaelWedel pushed a commit that referenced this issue Jan 15, 2016
MichaelWedel pushed a commit that referenced this issue Jan 15, 2016
The numbers in CIFs may contain error estimates, indicated like this: 0.03(1), the strings are cut off starting with ( now.
MichaelWedel pushed a commit that referenced this issue Jan 15, 2016
This uses fewer digits now like you would probably find in a CIF file, so equivalent positions are correctly determined in hexagonal settings when something like 0.33333 is specified instead of 1/3.
@MichaelWedel
Copy link
Contributor Author

This branch has been merged, so I'm closing the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Extra Attention Testers and Gate keepers should pay extra attention as this affects core aspects. Framework Issues and pull requests related to components in the Framework
Projects
None yet
Development

No branches or pull requests

3 participants