December 18, 2006 Software

From GlueXWiki
Jump to: navigation, search


  1. Review minutes from December 11, 2006 Software meeting
  2. Background Rate Studies (Matt)
  3. Charged particle tracking slides (David)
  4. Code documentation update (Elliott) CodeAssets dmoz freshmeat
  5. Make alternatives (Elliott) dmoz FSF freshmeat google
  6. Boost library intro (Elliott) shared_ptr<>


Attendees: Elke A., Mark I., David L.(chair), Elliott W., Simon T., ON THE PHONE: Richard J., Matt S., Mihajlo K.

Review of last week's minutes

There was a discussion of Mihajlo's presentation at last week's meeting on the FCAL reconstruction. The FCAL reconstruction code was adapted from the Rad-φ code of which, Richard was one of the original authors. The "blind spot" phenomenon experienced in Rad-φ due to total internal reflection at the back of the lead-glass blocks was discussed. The reconstruction code accomodates this and the Indiana group were planning on modeling it in HDGeant. Richard pointed out that the blind spot was due to the way the PMT was coupled to the block (air-gap) and GlueX will be able to avoid this problem with a better coupling scheme.

There was also discussion about inserting a non-linearity into the detector response modeled in HDGeant for the FCAL blocks due to shower depth. Currently, the response is directly proportional to energy loss.

Background Rate Studies

Matt showed some initial results from the EM background rate Monte Carlo studies he's doing for GlueX. He used the built-in coherent bremstrahlung generator and just threw massive numbers of events and then looked at the detector responses. Richard pointed out that a factor of 125 is needed to scale rates up to the true background rate since the built-in generator cuts out un-tagged photons (I recall there was another condition, but can't remember it right now).

Some problems were noted in a few of the plots. Richard requested that the minutes make a note of finding the bug in plot 1 where he saw an inconsistency.

Matt and Richard were going to talk offline.

Charged Particle Tracking

deferred for lack of time

Source Code Documentation

Elliott reported that he made a quick web survey of source code documentation schemes. The intent was to make sure Doxygen was still active and commonly used. He found there are many options for automatically generating documentation directly from C++ source code. However, he found no compelling reason to switch from Doxygen at the moment.

Make system alternatives

Elliott reported on a quick survey he did on make systems. He found many people are dissatisfied with GNU Make and numerous alternatives exist. There does not seem to be a single alternative emerging as the true successor yet.

David remarked that some effort has already been put into our current gmake-based system(BMS). Incorporating a new system will bring a cost in development with limited benefit potential.

No is planned at this time.

Boost library

Elliott gave a brief introduction to some features found in the BOOST library for C++. While we may not wish to incorporate BOOST completely, one thing particular interest to us may be shared pointers. This is a construct that essentially allows garbage collection in C++ similar to what the system provides automatically in JAVA. The idea of the shared pointer is that it has an internal resource counter that keeps track of how often it is copied so that when the last shared pointer object referring to a given object goes out of scope, the object itself is deleted.

The group was tasked with trying to play with shared pointers some in simple example programs in order to gain some experience on which to base further discussion.

Action Items

  1. Freezing tags in subversion through hooks (David)
  2. Put tarballs of external packages on Wiki(David)
  3. SVN web interface for browsing change logs (David)
  4. Design and implement exception and logging scheme for JANA
  5. Discuss integration issues
  6. Experiment with shared pointers