LLSRT: Library for Lens System Ray Tracing
Formerly known as
LOSR: Library for Optical Systems Raytracing
- December 22, 2001: Release of version 0.2.1. Various minor bug fixes and documentation
- October 11, 2001: Release of version 0.2. Only minor bug fixes to made the library compliant with
- September 07, 2001: First public release of LLSRT (version 0.1).
LLSRT is a C++ framework dedicated to light propagation raytracing into
on-axis lense systems made of spherical surfaces. It provides essential
tools to analyse performance of given optical systems. Although very basic,
it is an open object oriented architecture that can be easily extended
and/or integrated to other projects.
LLSRT was developped to evaluate the performance of optical systems in
a process of automated optical systems design.
The implementation and notation of the library are based on chapters
5 and 6 of Elements of modern optical design, Donald C. O'Shea,
New York, Wiley, c1985. You should have consulted this reference before
using the library.
Features of the library:
- Generic representation of on-axis optical system made of spherical surfaces;
- Optional automatic correction of the aperture in respect of the physical setup
(distance and curvature) of the surfaces;
- Approximative forward and backward raytrace (y-nu trace);
- Exact forward and backward raytrace (QU trace);
- Calculation of aperture and field stop;
- Calculation of entrance and exit pupil;
- Calculation of the magnification of the system;
- Evaluation of the curvature of the last surface of the optical system to
have a clear image;
- Approximative trace of chief ray and marginal ray;
- Simple file formats and methods to read/write optical systems and traces
from/into files (C++ streams);
- Automatic and detailled API documentation using doxygen.
You can download a tarball of the library here.
To install the distribution, simply untar/ungzip the library tarball
(losr-0.2.1.tgz) into a directory. Then, edit the file losr.make by setting
the variable LOSR_PATH to your local installation path. On Linux, it should
compile without any problem. On other unices, you should edit the other make
variables to make it compliant with the OS/compiler. We didn't test it on
Win32, but it should work with little efforts.
The library had been succesfully tested on RedHat Linux 7.1 with gcc 2.96
and on RedHat Linux 6.2 with egcs-1.1.2 (gcc 2.91.66).
The makefiles provided needs gmake, gcc and perl.
The library is documented using the doxygen
documentation system. The documentation is available in html
LLSRT is released under the GNU
Library General Public License (LGPL).
LLSRT is a project of Christian Gagné
and Julie Beaulieu.
Feel free to send us comments, bug reports at email@example.com.
You are the
visitor since September 07, 2001.