Why Separate HDDS?

From GlueXWiki
Jump to: navigation, search

Proposal: move HDDS code and related geometry definition files out of the src tree.

Original Motivation

  • make the builds easier
  • make must
    • go into src/programs/Simulation/hdds first
    • build some tools
    • copy files back to src/libraries/HDGEOMETRY
install: hdds-geant hdds-root hdds-mcfast hdds-root_h hddsGeant3.F hddsroot.h
        mkdir -p $(HALLD_HOME)/bin/$(BMS_OSNAME)
        cp $^ $(HALLD_HOME)/bin/$(BMS_OSNAME)
        if [ -e ../HDGeant ] ; then cp hddsGeant3.F ../HDGeant/hddsGeant3.F ; fi
        if [ -e ../../../libraries/HDGEOMETRY ] ; then cp hddsroot.h ../../../libraries/HDGEOMETRY/hddsroot.h ; fi

Other Reasons for Separation

  • Makes it obvious where the geometry is controlled
  • XML and programs are now kept in same directory, they should be separated
  • Geometry may be needed in other contexts: separation shows logical relationship
  • Geometry changes are uncoupled from tagged releases of reconstruction
  • Allows development of a separate geometry management scheme

Disadvanges of Separation

  • Creates another package to check out
  • Creates the need for a separate geometry management scheme