-
Notifications
You must be signed in to change notification settings - Fork 62
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
Import geant4maker. #659
base: main
Are you sure you want to change the base?
Import geant4maker. #659
Conversation
[g4star] Update stacker and agml extension classes to enable multi engine tracking and user defined hits in the geant4 application. Few additional fixes and cleanups in the code. [g4star] Import the StGeant4Maker into the repository. Builds under root 6.24 (with some additional compilation flags). [g4star] Defer mysql load until StBFChain can do it. [g4star] Add geant4vmc, geant4mk and fastjet chain options. Load libfastjet with stargen package b/c one or more filters depends on it. (Should consider splitting filters into sep chain opt). [g4star] Cleanup commented out includes. [g4star] Reduce compile time warnings... [g4star] ... more reduction of compiler warnings ... and even more reduction of compiler warnings... [g4star] And modify cons to pickup the include paths to geant4 and geant4 vmc libraries
…e" option (which was meant as documentation).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AgMLBTofVolumeId and similarly named classes implement the unique volume IDs defined in pams/sim/g2t/g2t_volume_id.g. They provide the unique associated between hits and hardware channels.
StRoot/StGeant4Maker/AgStarDummy.cxx
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AgStarDummy inserts a few dummy routines (mangled to look like FORtran routines) which satisfy dependencies between the StarGenerator package and starsim.
@@ -167,6 +167,8 @@ class StarPrimaryMaker : public StMaker | |||
|
|||
/// Return a pointer to the event | |||
StarGenEvent *event() { return mPrimaryEvent; } | |||
/// Return a pointer to the stack |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Exposes the particle stack to StGeant4Maker for PushPrimaries.
|
||
} | ||
|
||
std::map<TString, AgMLExtension*> AgMLExtension::mExtensionMap; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The GEANT3 VMC took use of both the "user" and "framework" extensions to TGeoVolume, leaving us with the only option of keeping a map between volume names and extension data.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
does this mean we did not have btof and eemc in AgML format before? (I though we did)
I assume you are referring to the "volume ID" classes? No. These are new classes to support the geant4star application. |
If you have a chance please try to build with this dependencies
Geant3-3-9-p1 is currently missing from the spack repo so, I'll need to add it |
Hi Dmitri,
Will do. The changes in Geant3-3-9-p1 are w/ respect to sensitive
detector functionality,
not interface, so building against it will at least allow me to test a
pure G4 simulation.
Thanks,
Jason
…On 2024-03-06 09:28, Dmitri Smirnov wrote:
If you have a chance please try to build with this dependencies
module load geant4-vmc-5-0-p5-root-6.24.06 geant4-10.5.1
geant3-3-8-root-6.24.06
Geant3-3-9-p1 is currently missing from the spack repo so, I'll need
to add it
--
Reply to this email directly, view it on GitHub [1], or unsubscribe
[2].
You are receiving this because you authored the thread.Message ID:
***@***.***>
Links:
------
[1]
#659 (comment)
[2]
https://github.com/notifications/unsubscribe-auth/ANL4LVED3RAU7JXGIH4UKPDYW4RXBAVCNFSM6AAAAABDTP5ZLOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBQHE4TGNBTGA
|
geant3@3-9-p1 is also available on the SDCC machines now. So, the following modules can be used for testing:
|
With the last three pushes, code compiles and runs the TPC to completion. Albeit with no hits generated. Reason TBC. |
4012f0c
to
e6b4a73
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This auto generated file should not be modified
StRoot/StBFChain/doc/index.html
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This auto generated file should not be modified
…t ROOT version 6.24.
…athu2k/star-sw-1 into import-geant4maker-rebased
…in the StEEmcUtil library. SMH.
…g strings for some reason. It also does not play nice with the ROOT_VERSION macro. So we do this the ugly way.
...
…tions to the geant4star script.
…n use the external CLHEP library via spack. NOTE... this may not be correct / consistent for G4. We may need to revisit.
… have the geant3 library available.
Draft PR for geant4star. Supersedes #617.
Branch was rebased against current main (02/21/24). Plus few additional fixes to get it to run (up to loading G3) in the current environment.
NOTE: The code should be functional, but requires two modules which we don't currently have in spack, plus an update to a newer version of the geant4 library. Specifically, we need to add a GEANT3 VMC library, and update the Geant 4 VMC library to one which supports multi-engine simulations.
These versions have been tested together by the VMC team.
I should also mention that we are at a point of divergence in the ROOT / VMC development. Currently we are using the VMC version 1.1, which is built with ROOT. The next version is 2.0, which is shipped separately. The GEANT3 VMC 3.9p1 release includes fixes to sensitive volumes which we require, and is the last version able to run with VMC 1.1. Any move to a new version of ROOT, VMC and/or Geant (either G3 or G4) likely entails advancing to a new version of all of these packages... with the possible exception of ROOT.
Code compiles against root 6.24 in our production environment: