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

Fix radiative splitting ao #1011

Open
wants to merge 6 commits into
base: develop
Choose a base branch
from
Open

Commits on Aug 3, 2023

  1. Fix minor typo in comment

     Changes to be committed:
    	modified:   egs++/ausgab_objects/egs_fluence_scoring/egs_fluence_scoring.h
    mainegra authored and ftessier committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    15016ee View commit details
    Browse the repository at this point in the history
  2. Add virtual methods for radiative splitting AO

    - Added virtual methods setRussianRoulette and splitTopParticleIsotropically
      needed by the radiative splitting object.
    
     Changes to be committed:
    	modified:   egs++/egs_application.h
    mainegra authored and ftessier committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    b1d4f9e View commit details
    Browse the repository at this point in the history
  3. Declare methods for radiative splitting AO

    - Added two new methods needed by the radiative splitting object and
      provided more information in comments.
    
    - Turn ON/OFF EGSnrc internal radiative splitting (UBS)
      void setRadiativeSplitting( const EGS_Float &nsplit );
    
    - Turn ON/OFF EGSnrc internal Russian Roultette + UBS
      void setRussianRoulette( const EGS_Float &iSwitchRR );
    
    - Split particle uniformly in 4Pi
      void splitTopParticleIsotropically( const EGS_Float &fsplit );
    
     Changes to be committed:
    	modified:   egs++/egs_advanced_application.h
    mainegra authored and ftessier committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    4238595 View commit details
    Browse the repository at this point in the history
  4. Define methods for radiative splitting AO

    - Added two new methods needed by the radiative splitting object and
      provided more information in comments.
    
    - Turn ON/OFF EGSnrc internal radiative splitting (UBS)
      void setRadiativeSplitting( const EGS_Float &nsplit );
    
    - Turn ON/OFF EGSnrc internal Russian Roultette + UBS
      void setRussianRoulette( const EGS_Float &iSwitchRR );
    
    - Split particle uniformly in 4Pi
      void splitTopParticleIsotropically( const EGS_Float &fsplit );
    
     Changes to be committed:
    	modified:   egs++/egs_advanced_application.cpp
    mainegra authored and ftessier committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    7cea1ae View commit details
    Browse the repository at this point in the history
  5. Implement radiative splitting + RR

    Initial radiative splitting naively just turned ON EGSnrc internal
    flag nbr_split to split brems and annihilation events uniformly.
    However no charged particle RR was played after pair production (i_play_RR)
    nor were secondary photons, produced by charged particles surviving RR after
    bremsstrahlung, split.
    --------------------
    Radiative splitting:
    --------------------
    now turned ON before a bremsstrahlung event for a primary or a fat charged
    particle. It is turned OFF after the brems event to avoid higher order
    splitting. Fluorescent fat photons, generated by fat charged particles
    (survived RR) are also split.
    
    NOTE: Not done for annihilation yet! Coming up!
    
    This time RR is turned ON using EGSnrc internal flag i_play_RR so that RR is
    played after pair events. RR can be turned OFF by entering a negative splitting number.
    
    NOTE2: Brems events play RR intrinsically hence it can't be turned OFF.
           Setting i_plpay_RR affects pair production ONLY.
    
     Changes to be committed:
    	modified:   egs++/ausgab_objects/egs_radiative_splitting/egs_radiative_splitting.cpp
    	modified:   egs++/ausgab_objects/egs_radiative_splitting/egs_radiative_splitting.h
    mainegra authored and ftessier committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    fe362fd View commit details
    Browse the repository at this point in the history
  6. Turn ON radiative splitting for annihilation

    - Split annihilation in flight and at rest events for primary and fat positrons.
    mainegra authored and ftessier committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    4214601 View commit details
    Browse the repository at this point in the history