STAR   Computing  
STAR Offline Software Documentation
Offline Software using ROOT in STAR Maintained by G. Van Buren

This web page is devoted to documentation for STAR Offline Software. It will also list software packages which are presently providing insufficient documentation. The STAR guide for How to document software packages provides the minimal guidelines for documenting in STAR Offline Software, and additional guidelines can be found in the STAR Coding Standards.

If you are unable to find sufficient documentation for a package you would like to use starting from the Root for STAR web page, please contact Gene Van Buren (gene@bnl.gov) so that action can be taken to remedy the situation.

Please note that some packages have documentation written in LaTeX which can be accessed from the Special Documentation web page.


All Makers have the additional functionality built in for easily creating HTML documentation of their code via the MakeDoc() member function. For non-Maker code, the macro $STAR/StRoot/macros/html/make1doc.C also attempts to create HTML code documentation (not perfect):
   root4star [0] .x make1doc.C(Char_t *docname,Char_t *doctitle)
This documentation is considered detailed and at the programmer level on the Root for STAR web page.


All C/C++/Fortran codes are expected to utilize CVS Id and Log strings. Information on how to use these strings is on the STAR Coding Standards page as well. In addition to using the strings in comments, a CVS Id string is also requested as a static piece of data in each routine. Here's the guideline for doing this:
C/C++ source files (not headers),
ie files with the extension *.cc *.cxx *.c :

   static const char rcsid[] = "$Id$";

In Fortran source files (*.F *.f) :

   character*80 rcsid
   data rcsid /'$Id$'/


The following software packages have no documentation in the form of a README file or documentation directory:
StMinidaqMaker		sakrejda
StRchMaker		gans
St_ctf_Maker		ward
St_geant_Maker		nevski/fisyak
St_l3Clufi_Maker	flierl
St_mwc_Maker		morozov (v3240)
St_rl0_Maker		????
St_srs_Maker		caines
St_stk_Maker		caines
St_tpcdaq_Maker		ward
St_trg_Maker		ward
xdf2root		perev/fisyak/tull

For the following packages, the documentation content needs at least one sentence saying what the package does or where else to find more documentation:

StPadDisplayMaker	fine
St_geom_Maker		fine
St_io_Maker		fine
St_xdfin_Maker		fine

The following files have NOT used CVS Id strings whatsoever:

StChain/StEvtHddr.cxx
StChain/StEvtHddr.h
StChain/StHeader.cxx
StChain/StHeader.h
StChain/StIOInterFace.cxx
StChain/StIOInterFace.h
StDAQMaker/StDAQMaker.cxx
StDbBroker/DbEndian.h
StDbBroker/DbInit.cxx
StEclMaker/StBemcCluster.cxx
StEclMaker/StBemcCluster.h
StEclMaker/StBemcClusterCollection.cxx
StEclMaker/StBemcClusterCollection.h
StEclMaker/StBsmdeCluster.cxx
StEclMaker/StBsmdeCluster.h
StEclMaker/StBsmdeClusterCollection.cxx
StEclMaker/StBsmdeClusterCollection.h
StEclMaker/StBsmdpCluster.cxx
StEclMaker/StBsmdpCluster.h
StEclMaker/StBsmdpClusterCollection.cxx
StEclMaker/StBsmdpClusterCollection.h
StEclMaker/StEmcCluster.cxx
StEclMaker/StEmcClusterCollection.cxx
StEclMaker/StEmcClusterCollection.h
StEvent/StRunSummary.h
StHbtMaker/Conscript
StIOMaker/StIOMaker.cxx
StLaserEvent/StLaserEvent.cxx
StSpectraMaker/StEfficiency.cc
StSpectraMaker/StEfficiency.h
StSpectraMaker/StSpectraAnalysis.cc
StSpectraMaker/StSpectraAnalysis.h
StSpectraMaker/StSpectraCut.h
StSpectraMaker/StSpectraCutDCA.cc
StSpectraMaker/StSpectraCutDCA.h
StSpectraMaker/StSpectraCutNhit.cc
StSpectraMaker/StSpectraCutNhit.h
StSpectraMaker/StTpcDeviantSpectraAnalysis.cc
StSpectraMaker/StTpcDeviantSpectraAnalysis.h
StSpectraMaker/projectSpectra.C
StTreeMaker/StTreeMaker.cxx
StTrsMaker/electronicsDataSet.h
StTrsMaker/geometryDataSet.h
StTrsMaker/slowcontrolDataSet.h
St_base/StArray.h
St_base/StBufferAbc.cxx
St_base/StBufferAbc.h
St_base/StTree.cxx
St_base/StTree.h
St_base/StVirtualEventFilter.cxx
St_base/St_DefineSet.h
St_base/St_PointPosition.cxx
St_base/St_PointsArray3D.cxx
St_base/St_staf_dummies.c
St_base/Stypes.h
St_base/point3.h
St_base/tableDescriptor.h
St_geant_Maker/GtHash.cxx
St_geant_Maker/GtHash.h
St_rl0_Maker/St_rl0_Maker.cxx
St_xdfin_Maker/St_xdfin_Maker.cxx