|
|
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.
|