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
Support for channeling physics in Geant4 #950
Support for channeling physics in Geant4 #950
Conversation
…ial and G4LogicalCrystalVolume
Dear Markus, |
If you need to change the classes/factories, not only copy them, but also rename the classes/factories. Not that by some accident you have to deal with name clashes and unconsciously execute the wrong code. |
When you build your library you will have a stetement like this:
The dependecy on Geant4::Interface will add the proper include path. |
Dear Markus Frank,
but since orentation is a constant property I think it should be
Fixing this, it works as expected also in my application. |
Thanks @chiaramaccani |
BEGINRELEASENOTES
On request from out LHC colleagues DD4hep supports channeling physics in Geant4.
To support channeling physics in Geant4 it is necessary to enable the transparent
creation of G4ExtendedMaterial and G4LogicalCrystalVolume instances.
This can be done in DD4hep with the supply of material and volume properties in DD4hep.
Material properties can be supplied in the compact description like here:
The property starting with the tag
Geant4-plugin
is used to determine the proper pluginpreparing the G4ExtendedMaterial instance.
All properties with tags
Geant4-ignore
are not passed as material properties to Geant4.Properties starting with this tag can be used by users to configure the G4ExtendedMaterial instance.
Volumes can as well have properties as this C++ example shows:
with values supplied by XML:
For more details see the example
<DD4hep>/examples/DDG4/compact/Channeling.xml
.Again the property
Geant4-plugin
is used to call a plugin to create sub-classesof G4LogicalVolume like G4LogicalCrystalVolume.
An example was prepared in
<DD4hep>/examples/DDG4
containing:compact/Channeling.xml
src/ChannelingCrystalMaterial.cpp
src/ChannelingCrystalVolume.cpp
scripts/Channeling.py
ENDRELEASENOTES