One of the most powerful uses of Open GENIE is not as a stand-alone data analysis tool but as a software component. As a component it can form a useful part of any other software tool with which you might develop data analysis or conversion programs.
Here are some of the uses to which you might put Open GENIE as a component:
![]() | As means of reading and writing NeXus format data files. |
![]() | A way of reading any sort of ASCII file for analysis or conversion. |
![]() | A way of calling an Open GENIE PROCEDURE or MODULE to perform a part of your analysis. |
![]() | A means of accessing data transparently across different computers. |
![]() | A free front end graphics application controlled by your own code and displaying your data. |
![]() | A means of "gluing" together two otherwise incompatible packages. |
In engineering, nuts, bolts and wheels are examples of components. They provide some fairly obvious functions which are useful in an infinite variety of mechanical devices. One thing which greatly increases the usability of a component is some degree of standardization. For a bolt, this will mean that the thread type and size are designed to match those of corresponding nuts from different suppliers (at least those adhering to the same standard).
A software component is much the same, it provides a generally useful function which can be re-used without modification in any number of programs. It is standardized in such a way that it can be used without any modification in existing programs and programs which have not been written yet. The component standard adopted for Open GENIE was originally invented by Microsoft and is called COM or DCOM, it is used widely in PC programs but can also be used on UNIX (is free on Linux) and is being built into the Compaq (ex. Digital) VMS operating system.
As a component, Open GENIE can be called from a variety of languages, on the PC, Visual Basic and Java, FORTRAN and C++ are all supported as well as simple scripting languages like JavaScript and VBscript. On VMS C++ is the only directly supported language (but FORTRAN can still call VMS).
The Open GENIE component is what is described as an "automation" component. This term describes a way in which some other program can start up, control, and finally stop the component. In the process it might have read several files, refined a crystal structure interactively and displayed the result on a screen - i.e. done something useful!
So far this has been a bit vague on details, what might you actually need to do to use the Open GENIE component? The rest of this section gives some simple examples of the use of the Open GENIE component from different languages. For full details of the programming interface to the Open GENIE component, see the IGDAI function reference.
These examples are designed to show you some of the basic ways you can get started programming an automated Open GENIE.
asdf
asdf