-
Notifications
You must be signed in to change notification settings - Fork 55
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
Implements general rotation order #610
base: develop
Are you sure you want to change the base?
Conversation
FYI, this will not be valid GDML anymore. It will make schema validation always fail (unless you update the DTD in a derived schema and maintain that too). No other tools that interpret GDML (such are ROOT, FreeCAD) will be able to be used again. Be sure you know what you're doing when you merge this. |
@wdconinc Thank you for your comment. Does remoll/Geant4 parser do the schema validation by default? If we only ever use the gdml for remoll, only within remoll then it should be ok right? |
Any rotation can be written as a rotation around three orthogonal axes, so there is a conversion, but it's probably not what you want to implement:
produces:
Easier may be to put the x rotations in e.g. geometry/detector/ThinQuartz/DetectorArray/FFSeg1_R5-FF-Quartz_L.gdml, and only do the z rotation in geometry/detector/ThinQuartz/DetectorArray/DetectorArray.gdml. That keeps the geometry modular. |
@pranphy : We should discuss Wouter's suggestion at the simulation meeting today. |
A new tag
<orotation>
is created that can be used in GDML files for ordered rotation.this would allow the rotation 𝑅𝑧(90) → 𝑅𝑥(45) → 𝑅𝑦(25). The value of order parameter can be
any of the six permutations of string “xyz”.
Example:
▶ Yellow: Unrotated
▶ Green: 𝑅𝑥(90) → 𝑅𝑦(45) → 𝑅𝑧(0)
▶ Orange: 𝑅𝑦(45) → 𝑅𝑥(90) → 𝑅𝑧(0)
▶ there is a translation between them
Ref: DocDB:1199