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

Couple of updates for a standalone external usage #101

Merged
merged 4 commits into from
Jul 18, 2023
Merged

Couple of updates for a standalone external usage #101

merged 4 commits into from
Jul 18, 2023

Conversation

mnovak42
Copy link
Owner

Contains a set of small modifications to ensure that HepEm can be utilised in external simulation projects alone, i.e. without any Geant4 (not even header) dependences. After this modifications, the content of G4HepEmRun/include provides all the run time functionalities for a complete EM shower simulation alone (i.e. without any additional dependence on Geant4 nor the corresponding g4HepEmRun library).

The external project/application needs:

  • to provide the random engine implementation (i.e. the only thing that stayed out from G4HepEmRun/include in G4HepEmRun/src as that implementation is Geant4 specific)
  • to be linked (only) with the g4HepEmData and g4HepEmDataJsonIO libraries (the former provides the data definitions used during the run while the IO makes possible to write/read these data)
  • to utilise the above IO to load the (previously generated and provided) project/application specific physics simulation related data and set up the top level HepEm data and parameter structures

Then the appropriate simulation step computations can be implemented by utilising the G4HepEmElectronManager and G4HepEmGammaManager provided by HepEm through G4HepEmRun/include.

…kes G4HepEmRun/include free from Geant4 headers.
Only the Geant4 specific random engine implementation stays out (stays
in /src) form the G4HepEmRun/inlcude after this changes. This separates
the Geant4 dependent part (i.e. the random engine specification) from
the rest of the run time funtionality.
All run time funtionalities, which is the complete physics required by
a HEP EM shower simulation, can be utilised by an external simulation
project independently from Geant4 based solely on the G4HepEmRun/includes.
The external project needs to specify the random engine (by providing the
implementaion left in the /src) and linked only with the g4HepEmData
and g4HepEmDataJsonIO libraries for the physics data structures and their
IO.
…to headers in order to install them properly.
@mnovak42 mnovak42 merged commit e4266fe into master Jul 18, 2023
3 checks passed
@mnovak42 mnovak42 deleted the updates branch July 18, 2023 11:26
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

Successfully merging this pull request may close these issues.

1 participant