Skip to content
Snippets Groups Projects

Add a new plugin mechanism for extender G4Shapes such as the LArWheelSolid....

Merged Joseph Boudreau requested to merge EnableG4SolidPlugins into master
1 unresolved thread

Add a new plugin mechanism for extender G4Shapes such as the LArWheelSolid. Remove the code for the LArWheelSolid from the GeoModel repository. It now lives as a plugin in the GeoModelATLAS repository.

In addition:

  • configured gmex to look for geometry plugins where they are installed.
  • configured geo2g4 to look for shape plugins where they are installed.
  • configured fullsimlight and gmgeantino to look for data files where they are installed....
  • ... IF the geant environment is not set up. (otherwise take the geant environment)

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
44 44
45 45 int main(int argc, char** argv) {
46 46
47 // JFB if the G4 environment does not already set path to these variables, look for
48 // them in standard places.
49 const std::string g4ShareDir=G4SHAREDIR;
50 setenv("G4NEUTRONHPDATA",(g4ShareDir+"/Geant4-10.6.1/data/G4NDL4.6").c_str(), 0);
51 setenv("G4LEDATA",(g4ShareDir+"/Geant4-10.6.1/data/G4EMLOW7.9.1").c_str(), 0);
52 setenv("G4LEVELGAMMADATA",(g4ShareDir+"/Geant4-10.6.1/data/PhotonEvaporation5.5").c_str(), 0);
  • Yes you are right. Maybe we wait till I arrive at CERN (or at least till next week) to figure this out. If you are eager to merge the rest of this request, let me know, I will get rid of these for now and try to work out something better with you, later.

    The intention here is for your programs to run without prior setups. If setup is run, the lines you see here have no effect, since they do not override existing environment variables. They were previously applied in my ubuntu releases... as a patch during the build procedure. I think a little more thought could improve this though.

  • I am testing the LArCustomShape plugin with fullsimlight and gmgeantino. Once this is done, this MR could be merged, but it can wait next week. I have only one doubt: once the LArCustomShape code is removed from the GeoModelDev repo, a user that wants to run FullSimLight with the whole ATLAS geometry, will need the new LArCustomShape plugin, and this means that they will need to access (and have rights access of) the GeoModelATLAS repository, build and install it, right? This makes things a little more complex than they are now. Or we can think about some more transparent way?

  • OK, keep in mind:

    • The only place in which a calculation is altered is in poly_sincos. Here I substituted an eigen matrix inversion for a root matrix inversion. If there is any suspicion of (significant) difference, this routine should be examined.

    • The whole athena repository is world-readable, why can we not make GeoModelATLAS world-readable too? Another alternative is to provide a nearly empty directory containing only a CMakeList.txt file, a script for grabbing the code out of the (open-source) ATLAS repository, and a single compiliation unit containing the plugin wrapper. This would be about three files. They could either live in GeoModel git repository, or even just on a web page. It would constitute the first time that "outsiders" could build and simulate that code. Best if we discuss it next week.

  • added 1 commit

    • a76edd7d - Do not hardwire the location of G4 data files

    Compare with previous version

  • Joseph Boudreau added 2 commits

    added 2 commits

    • 7f3a676b - Renamed Plugin--> ExtensionSolid to avoid confusion
    • f1081e2a - Renamed Plugin--> ExtensionSolid to avoid confusion

    Compare with previous version

  • Joseph Boudreau mentioned in commit c02064e1

    mentioned in commit c02064e1

  • Please register or sign in to reply
    Loading