Previous Up
D Extending O'Mega
D.1 Adding A New Physics Model
Currently, this still requires to write O'Caml code. This is not as hard as it might sound, because an inspection of bin/models.ml shows that all that is required are some tables of Feynman rules that can easily be written by copying and modifyng an existing example, after consulting with src/couplings.mli or the corresponding chapter in the woven source. In fact, having the full power of O'Caml at one's disposal is very helpful for avoiding needless repetition.

Nevertheless, in the near future, there will be some special models that can read model specifications from external files. The first one of its kind will read CompHEP [17] model files. Later there will be a native O'Mega model file format, but it will probably go through some iterations.
D.2 Adding A New Target Language
This will always require to write O'Caml code, which is again not too hard. In addition a library for vertices will be required, unless the target performs complete inlining. NB: an early experiment with inlining Fortran proved to be an almost complete failure on Linux/Intel PCs. The inlined code was huge, absolutely unreadable and only marginally faster. The bulk of the computational cost is always in the vertex evaluations and function calls create in comparison negligible costs. This observation is system dependent, of course, and inlining might be beneficial for other architectures with better floating point performance, after all.
Previous Up