Skip to content

Add egs_view egsinp editor with autocompletion for all egs++ apps #1164

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

Draft
wants to merge 81 commits into
base: develop
Choose a base branch
from

Conversation

Xuan-Zheng05
Copy link

Add a new tab in egs_view that allows for editing and saving egsinp files for egs++.

The new code all over the egs++ library provide a structure by which an external library like egs_view can extract all of the input parameters. It's used for input validation, syntax highlighting, autocompletion, etc.

Recent changes include support for application inputs, run control, transport parameters. Pegless material support is in progress.

Note that this includes an astyle run on all the sources, geometries and ausgab objects, so it looks like there are more changes than there are. If you view the diff while hiding whitespace, then you will see the real changes.

This replaces PR #885.

ftessier and others added 4 commits August 2, 2023 17:32
Authors of the EGSnrc files are unequivocally identified in the git
commit log. However, we also want to preserve the names of authors and
contributors inside text files headers, as much as possible, in case the
files are extracted from the repository (or the repository eventually
moves to another version control system).

This script compares, for each modified file in a commit range (passed
as the first argument, master..HEAD by default), the commit authors of
the file against the authors and contributors listed in the file header.
It reports the missing names, and returns 1 (error) if some authors are
missing, or 0 (success) otherwise. Binary files are excluded from the
comparison, as well as files that do not contain authorship information.
The latter are reported at the end of the output, skipping over files
that do not contain author information (e.g., image files).

This script is intended to run automatically as a github action. It
implies that all commit authors should be listed under "Contributors",
regardless of the significance of the contribution, so that the script
runs cleanly. The output of the github action should always be inspected
before merging to check the files that don't contain authorship
information.
Clarify that multiple-scattering transport is triggered only if the
intended electron step is longer than a skin depth, even in bulk media
away from any region boundaries. This improves efficiency, because a
multiple-scattering step costs about the same as 3 single-scattering
steps (the default skin depth is 3 mean free paths). Below a skin depth,
it is more efficient (and more accurate) to use single-scattering.
@Xuan-Zheng05 Xuan-Zheng05 requested a review from a team as a code owner July 26, 2024 20:09
@rtownson rtownson self-assigned this Aug 6, 2024
@rtownson rtownson marked this pull request as draft August 6, 2024 15:22
@ftessier ftessier added this to the Release 2025 milestone Aug 10, 2024
Blake Walters and others added 17 commits August 30, 2024 11:50
Fix the output message in the egslst file for BEAMnrc simulations about
the number of brems events the took place. When DBS was turned on, it
would always read zero.
Fix a bug in egs_phsp_scoring where the electron energy for IAEA
phase-spaces was written as the total energy instead of the kinetic
energy. This was a critical bug.
Fix a bug where the source collection fluence was not calculated
properly when multiple transformations were performed on a single base
source.
The documentation in the source code for core EGSnrc parameters options
is updated match HEN_HOUSE/src/get_inputs.mortran
rtownson and others added 27 commits September 17, 2024 16:22
Add support for all of the geometries in the egs_view editor.
Recent changes to egs_view were missing some necessary additions to the
ui file. These have been included, along with a couple minor changes.
Also set the compiler flags to use std=c++14 instead of std=c++11.
Add egs_editor support for iaea_phsp_source. Also remove the c++14 flag
for egs_view since it should already be included for all C++ in order
for egs++ to compile.
Remove or improve debug messages. Add handling of the EDITOR_DEBUG
define for egs_editor debugging.
Add auto-completion for apps, ausgab objects, materials and run control. Add dropdown for user to select application in egs_editor. Full support for pegsless materials not quite done.
@rtownson rtownson force-pushed the add-egs-view-editor3 branch from 88fda0d to 99e2cbb Compare September 18, 2024 13:54
@rtownson
Copy link
Collaborator

Rebased on develop.

This PR still needs a bit of love to finish off. Double checking the tooltips for consistency & usefulness, showing the 'current application' in the editor, and improving the names of the examples in the drop-down.

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

Successfully merging this pull request may close these issues.

8 participants