Ticket #10426 (assigned)

Opened 6 years ago

Last modified 5 years ago

Create Loader for CrystalStructure

Reported by: Michael Wedel Owned by: Michael Wedel
Priority: major Milestone: Release 3.5
Component: Framework Keywords: CORE
Cc: anders.markvardsen@… Blocked By: #10283
Blocking: Tester:

Description

In 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.

Attachments

SampleCrystalStructure.png (12.7 KB) - added by Michael Wedel 6 years ago.

Change History

Changed 6 years ago by Michael Wedel

comment:1 Changed 6 years ago by Michael Wedel

  • Cc anders.markvardsen@… added

comment:2 Changed 6 years ago by Nick Draper

  • Status changed from new to assigned

comment:3 Changed 6 years ago by Michael Wedel

  • Milestone changed from Release 3.3 to Release 3.4

comment:4 Changed 6 years ago by Michael Wedel

  • Milestone changed from Release 3.4 to Release 3.5

comment:5 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 11268

Note: See TracTickets for help on using tickets.