Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

detectorSimulations code currently not compatible with Geant4 version 10.0 #59

Open
evan012345 opened this issue Feb 12, 2014 · 4 comments

Comments

@evan012345
Copy link
Contributor

Hi Everyone,

For kicks I tried to compile the detectorSimulations code using the latest version of Geant4 (10.0). There are many changes in Geant4.10.0 which prevents our code from compiling. I don't think there are any major issues, just a number of small ones.

This is what I've found so far:

  1. The following headers have been removed from globals.hh.
    // Includes Physical Constants and System of Units

    include "G4PhysicalConstants.hh"

    include "G4SystemOfUnits.hh"

    Any .cc and/or .hh files which need either constants or units would need to explicitly #include whichever of those files they need. This is kinda a pain in the butt since nearly every file needs units (eg. keV, mm, ...) or contants (eg. pi, e, ...). That would mean putting both #include statements in the .hh files.

  2. The hadron physics lists names have changed from HadronPhysics... to G4HadronPhysics... We don't normally need the hadron physics lists but since they are defined in our PhysicsList we have to either remove it or change the names.

  3. Some of the EM scattering models have been removed. A single G4UrbanMscModel class provides the improved tuning of the Urban multiple-scattering model. It replaces all previous variants of the Urban model (Urban90, 93, 95 and 96), which have been removed.

I stopped trying to compile at 3 and went back to version Geant4.9.6.p02. Until we need the new features of version 10.0 (such as multi-threading) I suggest we stick to 9.6.p02. When we do switch, I suggest we all make the transition together and run the code on the same version of Geant4.

Thoughts?

Cheers,
Evan

@evan012345
Copy link
Contributor Author

The Release Notes for the latest version can be found here: http://geant4.cern.ch/support/ReleaseNotes4.10.0.html

@bkatiemills
Copy link
Member

Cool, thanks for keeping on top of this! In general, being one stable release behind is not so terrible - but more than that is unacceptable. I think we need to move to 10 as soon as we can do so without being overly disruptive because of exactly what you mention - multiple scattering (and probably a ton of other stuff) has been tuned up for 10; we should be taking advantage of those improvements ASAP, not just when we get our arms twisted into it by needing an entirely new feature.

That being said, we aren't so far behind that we can't wait a little for an auspicious time; I think everyone (@christinaburbadge, @r3dunlop and @evan012345) should finish their present projects on our stable(ish) current version, and then we can move to 10.0 when things are a bit more settled. If this becomes blocking, we can make the necessary modifications on a development branch and merge when appropriate.

Either way, we absolutely must be caught up to 10.0 before major production simulations for GRIFFIN are undertaken; users will duly expect the best models available, and we need to deliver on that.

So far, the obstacles to doing this don't sound too terrible; I would like to see this package 10.0-ready by the end of March, so we still have plenty of time to tinker before GRIFFIN startup.

@evan012345
Copy link
Contributor Author

FYI:

A correction patch "patch01" to be applied to release 10.0 of
Geant4 is now available and can be downloaded from the Geant4
web site: http://cern.ch/geant4/support/download.shtml

This patch collects a set of bug fixes introduced since last
release 10.0 of December.
For a complete summary of the fixes introduced since last patch,
see the notes at:
http://cern.ch/geant4/support/Patch4.10.0-1.txt

To install the patch, just uncompress the archive
"patch_geant4.10.00.p01" in your Geant4 installation area where the
directory geant4.10.00 is placed, and recompile from scratch all
libraries.
Alternatively, you can download the whole source tree including
also the patch ("geant4.10.00.p01" archive).

Pre-compiled binaries for the supported systems are available from
the web site, as well.

@bkatiemills
Copy link
Member

Thanks Evan - clearly the dust is still settling on 10.0. I still want this package up to speed for the latest GEANT, but I'm comfortable waiting for a couple of months of more shakedown on their end first.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants