Add a new plugin mechanism for extender G4Shapes such as the LArWheelSolid....
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
Activity
assigned to @mbandier
added 1 commit
- 787e6005 - Fix broken pipeline we hope by eliminating GeoSpecialShapes from link list
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); changed this line in version 3 of the diff
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 theLArCustomShape
code is removed from the GeoModelDev repo, a user that wants to run FullSimLight with the whole ATLAS geometry, will need the newLArCustomShape 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
mentioned in commit c02064e1