Skip to content

Comments

feat!(sim): Use g4Config.yaml instead of deprecated .C#841

Closed
olantwin wants to merge 1 commit intomasterfrom
gconfig_yaml
Closed

feat!(sim): Use g4Config.yaml instead of deprecated .C#841
olantwin wants to merge 1 commit intomasterfrom
gconfig_yaml

Conversation

@olantwin
Copy link
Contributor

@olantwin olantwin commented Aug 7, 2025

Add YAML config including all settings from .C. Set ShipStack and its options explicitly in simulation scripts.

Thorough testing needed.

Fixes #543

@olantwin olantwin requested a review from a team as a code owner August 7, 2025 22:35
@olantwin
Copy link
Contributor Author

olantwin commented Aug 8, 2025

Fails because fairtools/MCConfigurator isn't built when GEANT3 isn't found...

I'll return to this when I'm back (or left as exercise for the reader).

@olantwin
Copy link
Contributor Author

Build failure should be fixed once we switch the CI to a config using ShipSoft/shipdist#115

@olantwin olantwin force-pushed the gconfig_yaml branch 5 times, most recently from 71d6cf4 to 7fc8a1c Compare August 28, 2025 14:05
@olantwin
Copy link
Contributor Author

First results look ok. More detailed testing needed, but particle and hit distributions look normal.

@olantwin
Copy link
Contributor Author

@siilieva Probably also of interest for SND@(HL-)LHC

@olantwin
Copy link
Contributor Author

olantwin commented Feb 2, 2026

It should be possible to test whether the same set of options reach geant4 and that the stack is the same.

@olantwin olantwin force-pushed the gconfig_yaml branch 6 times, most recently from 4340bdd to fd5de32 Compare February 9, 2026 16:53
Replace g4Config.C/g4Config_basic.C with g4Config.yaml/g4Config_basic.yaml
for Geant4 VMC configuration. Add SHiP::VMCConfig class inheriting from
FairYamlVMCConfig to handle ShipStack setup and conditional
UseGeneralProcess disabling (via SET_GENERAL_PROCESS_TO_FALSE env var
for boost factor studies).

VMCConfig and SetupVMCConfig free function are registered in the ROOT
dictionary (LinkDef with namespace, class, and function pragmas) so
that PyROOT can call ROOT.SHiP.SetupVMCConfig() directly. yaml-cpp is
added as an explicit dependency to ensure rootcling receives its
include paths.

YAML configs updated to match current master: FTFP_BERT_HP_EMZ physics
list, J/psi external decayer selection.

Closes #543
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.

Using gConfig.C macro DEPRACATED

1 participant