Adding new code to ASTROTOOLS

The ASTROTOOLS product contains scientific and numerical code that is useful for multiple pipelines or multiple users. When feasible, code should be written for broad use rather than extreme optimization. DO NOT ADD CODE TO ASTROTOOLS IF IT IS FOR YOUR OWN PROJECT, AND NOT FOR GENERAL USE !!!!!

To add a routine:

(1) Check out astrotools from the CVS repository.

(2) Send mail to Philippe Canal stating that you would like check-in privilege to astrotools.

(3) Add your routines. These could be C-code and/or interfaces to C code in the "src" directory, or tcl code in the "etc" directory. If possible, these should be grouped in a file with similar routines. You can add to already-existing files. Choose descriptive names like atRegStatsFind rather than names like stats, stat-it or names pertaining to animate objects. SDSS software conventions do apply here - the easiest way to make sure you're following them is to follow the coding style of a similar routine already in astrotools.

(4) Test the routine. Put a regression test in the "test" directory. Right now, all C routines are connected to the tcl level, and the regression tests are tcl scripts. Each .tcl file or tcl*.c file has a test tcl script in the test directory - follow the example of the other tests. Put a call to your test in the testAll.tcl script so that your test will be run on build.

(5) Make www documentation. C files should be written with embedded html which is stripped out with c2html. Look at other C files for examples. The tcl scripts are documented by creating the .html file by hand and putting it in the "doc/www" directory (don't forget to add this to the cvs repository!). If the documentation is auto-generated, you must add the file under BUILD_FILES in ../doc/www/Makefile. Also add the html file under CLEAN_FILES. Then, add a link to it under the appropriate non-autogenerated .html file. The link will probably be in astrotools.tcl.html and/or astrotools.C.html.

(6) Add a line to the bottom of the RELEASENOTES file in the "doc" directory. This will tell others what is new and who is responsible for it.

(7) Check in the new version of astrotools. If there are problems or not all of the steps have been followed, someone will contact you to rectify the errors.

If you have any questions, contact Heidi Newberg at heidi@fnal.gov or the current FNAL person in charge of maintaining ASTROTOOLS.