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

New output table to store track vertex information #178

Closed
gipert opened this issue Dec 6, 2024 · 2 comments · Fixed by #181
Closed

New output table to store track vertex information #178

gipert opened this issue Dec 6, 2024 · 2 comments · Fixed by #181
Assignees
Labels
output Output Schemes

Comments

@gipert
Copy link
Member

gipert commented Dec 6, 2024

This would be extremely useful for validation/debugging.

  • Store the track vertices (this is currently not possible), including particle type, position, kinematics and possibly creation process
  • For the latter: come up with our (automatic) numbering
  • Implement basic filtering with macro commands, i.e. creation process, particle type, energy

Related: #162

@gipert gipert added the output Output Schemes label Dec 6, 2024
@EricMEsch
Copy link
Collaborator

EricMEsch commented Dec 6, 2024

(this is currently not possible)

You mean not possible with the current ReMaGe options? As i have implemented that for my own simulations more often than i can count 😀

I can certainly do this; I should be finishing testing the distance-to-surface one soon.

Open questions:

  • With "track vertices" you mean the creation vertex of each track? That should be done in tracking. If you mean each single step, then it should be done in stepping (but would also lead to waaayyy more clutter in the output)
  • Should this still be an OutputScheme, or part of the TrackingAction/SteppingAction? For only the Track vertices making an optional OutputScheme would be no issue with the hook in the PreUserTrackingAction() already existing, but if this should output every step information, then i would also have to add a hook into the UserSteppingAction() (which could slow down the simulation, but if you hide it behind a macro its fine i guess)
  • For the automatic numbering scheme i guess we have to discuss (or just tell me the scheme if you have already something)

@ManuelHu ManuelHu self-assigned this Dec 6, 2024
@ManuelHu
Copy link
Collaborator

ManuelHu commented Dec 6, 2024

I have already working code for this :-)

  • only the track vertices are of interest at the moment
  • yes, it will be an output scheme. There is no reason to store the info in memory if nobody wants actually to write it to output.
  • the process numbering scheme is actually quite rudimentary. As there is no global process index in geant4, we can only assign numbers ourselves. My code will also create a lookup table in the output file (*)

(*) storing strings directly is extremely ineffetive, so we just use the lookup table to store the process names once

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
output Output Schemes
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants