Proposed structure for Hall-D source tree

D. Lawrence 6/1/2004


To the left is an image of the proposed directory structure for the source tree for Hall-D software. This structure would be implemented in the repository structure such that it would be reproduced in the user's $HALLD_HOME directory upon checkout.

The bin and lib directories would contain sub-directories where platform specific binaries would go.

The src/BMS directory would contain the makefiles and scripts which comprise the core of the Build Management System.

The src/libraries directory would contain a sub-directory for each detector subsystem to hold reconstruction code. The code in these directories would be made into libraries with names like libBCAL.a and libCDC.a which would be placed in the lib/$OSNAME directory.

The programs directory would basically contain all of the main() routines for the executables. The executables will have the same name as the sub-directory holding the source code for that specific directory. For example, the code in programs/Analysis/hdana would be compiled and linked into the executable bin/$OSNAME/hdana.

The programs/Calibration directory will contain all calibration programs (at least one for each detector system). The names should all start with "calib_" so they are easy to identify in directory listings and tab-completions.

The programs/Monitor directory will be similar to the Calibration directory, except programs will have names that begin with "mon_". These programs will be used for online monitoring of individual detector systems. Additional programs which combine detector information for higher level analyses (such as specific physics processes) will also reside here.

The progams/Simulation directory will contain source code specifically related to simulations.


I'm sure there are things which have been omitted. This will hopefully serve as a starting point for any discussion on this topic which will lead to a well organized source tree. Please contribute to the group discussion on the compile/link issues forum on the GlueX Portal.