Notes from the Mu2e meeting April 2, 2010.
Current implementation of Mu2e code has 3 parts:
- MU2E_EXTERNALS - CLHEP ROOT BOOST
- ups/upd - G4 HepPDT
- tightly coupled to ROOT
Framework uses CLHEP, but not tightly coupled
In the long term, Rob would like Mu2e to have 2 parts rather than 3:
Everything that is not part of Mu2e code is handled by "externals",
but continues to live in separate places.
The idea is that this looks like one place to Offline.
In the long run, both Offline and Framework will have:
These are release versions in the SRT sense.
This is created by a user to build their code against a
particular base release.
There should be some command that automatically creates a
basic test release.
Both Offline and Framework are currently using scons and need to migrate to cmake. After some discussion about my desire to submit fragmentary changes somewhere without affecting users, it was decided that I should start by doing the cmake migration in Framework rather than in Offline.
The target is to migrate Offline to cmake in the fall. There will be other changes that are also targeted for this time. (Like the class that manages the state of multiple random number engines.)
Framework currently has a tight coupling to ROOT. It also has a loose dependency on CLHEP. There was a discussion about decoupling the Framework from CLHEP. Mark thinks this can be done.
When developing implementing cmake, be sure to use the "out of source build" (e.g., cmake ../path).