Skip to content

Instantly share code, notes, and snippets.

@davidchall
Last active May 22, 2016 15:11
Show Gist options
  • Save davidchall/40c2514658243f043bb17c0d79a1be2e to your computer and use it in GitHub Desktop.
Save davidchall/40c2514658243f043bb17c0d79a1be2e to your computer and use it in GitHub Desktop.

Revisions

  1. davidchall revised this gist May 22, 2016. 1 changed file with 6 additions and 3 deletions.
    9 changes: 6 additions & 3 deletions topas2to3
    Original file line number Diff line number Diff line change
    @@ -15,22 +15,25 @@ for file in "$@"; do
    -e 's,"G4Sphere","TsSphere",g' \
    -e 's,"Water","G4_WATER",g' \
    -e 's,"Flourine","Fluorine",g' \
    -e 's,"Dipole","DipoleMagnet",g' \
    -e 's,"Quadrupole","QuadrupoleMagnet",g' \
    -e 's,"\([A-Za-z0-9/][A-Za-z0-9/]*\)/PlusPhiSurface","\1/PhiPlusSurface",g' \
    -e 's,"\([A-Za-z0-9/][A-Za-z0-9/]*\)/MinusPhiSurface","\1/PhiMinusSurface",g' \
    -e 's,"\([A-Za-z0-9/][A-Za-z0-9/]*\)/PlusThetaSurface","\1/ThetaPlusSurface",g' \
    -e 's,"\([A-Za-z0-9/][A-Za-z0-9/]*\)/MinusThetaSurface","\1/ThetaMinusSurface",g' \
    -e 's,Ph/\([A-Za-z0-9/][A-Za-z0-9/]*\)/LamdaBins,Ph/\1/LambdaBins,g' \
    -e 's,Ge/\([A-Za-z0-9/][A-Za-z0-9/]*\)/HUtoMaterialConversionMethod,Ge/\1/ImagingToMaterialConverter,g' \
    -e 's,Ge/\([A-Za-z0-9/][A-Za-z0-9/]*\)/MagneticField,Ge/\1/Field,g' \
    -e 's,Ge/\([A-Za-z0-9/][A-Za-z0-9/]*\)/Strength,Ge/\1/MagneticFieldStrength,g' \
    -e 's,Ge/\([A-Za-z0-9/][A-Za-z0-9/]*\)/DirectionX,Ge/\1/MagneticFieldDirectionX,g' \
    -e 's,Ge/\([A-Za-z0-9/][A-Za-z0-9/]*\)/DirectionY,Ge/\1/MagneticFieldDirectionY,g' \
    -e 's,Ge/\([A-Za-z0-9/][A-Za-z0-9/]*\)/DirectionZ,Ge/\1/MagneticFieldDirectionZ,g' \
    -e 's,Ge/\([A-Za-z0-9/][A-Za-z0-9/]*\)/GradientX,Ge/\1/MagneticFieldGradientX,g' \
    -e 's,Ge/\([A-Za-z0-9/][A-Za-z0-9/]*\)/GradientY,Ge/\1/MagneticFieldGradientY,g' \
    -e 's,Ge/\([A-Za-z0-9/][A-Za-z0-9/]*\)/3DTable,Ge/\1/MagneticField3DTable,g' \
    -e 's,Ge/\([A-Za-z0-9/][A-Za-z0-9/]*\)/Stepper,Ge/\1/MagneticFieldStepper,g' \
    -e 's,Ge/\([A-Za-z0-9/][A-Za-z0-9/]*\)/StepMinimum,Ge/\1/MagneticFieldStepMinimum,g' \
    -e 's,Ge/\([A-Za-z0-9/][A-Za-z0-9/]*\)/DeltaChord,Ge/\1/MagneticFieldDeltaChord,g' \
    -e 's,Ge/\([A-Za-z0-9/][A-Za-z0-9/]*\)/Stepper,Ge/\1/FieldStepper,g' \
    -e 's,Ge/\([A-Za-z0-9/][A-Za-z0-9/]*\)/StepMinimum,Ge/\1/FieldStepMinimum,g' \
    -e 's,Ge/\([A-Za-z0-9/][A-Za-z0-9/]*\)/DeltaChord,Ge/\1/FieldDeltaChord,g' \
    -e 's,Sc/\([A-Za-z0-9/][A-Za-z0-9/]*\)/PhaseSpaceBufferSize,Sc/\1/OutputBufferSize,g' \
    -e 's,So/\([A-Za-z0-9/][A-Za-z0-9/]*\)/BeamXYDistribution,So/\1/BeamPositionDistribution,g' \
    -e 's,So/\([A-Za-z0-9/][A-Za-z0-9/]*\)/BeamShape,So/\1/BeamPositionCutoffShape,g' \
  2. davidchall revised this gist May 17, 2016. 1 changed file with 24 additions and 24 deletions.
    48 changes: 24 additions & 24 deletions topas2to3
    Original file line number Diff line number Diff line change
    @@ -15,31 +15,31 @@ for file in "$@"; do
    -e 's,"G4Sphere","TsSphere",g' \
    -e 's,"Water","G4_WATER",g' \
    -e 's,"Flourine","Fluorine",g' \
    -e 's,"\([[:alnum:]][[:alnum:]]*\)/PlusPhiSurface","\1/PhiPlusSurface",g' \
    -e 's,"\([[:alnum:]][[:alnum:]]*\)/MinusPhiSurface","\1/PhiMinusSurface",g' \
    -e 's,"\([[:alnum:]][[:alnum:]]*\)/PlusThetaSurface","\1/ThetaPlusSurface",g' \
    -e 's,"\([[:alnum:]][[:alnum:]]*\)/MinusThetaSurface","\1/ThetaMinusSurface",g' \
    -e 's,Ph/\([[:alnum:]][[:alnum:]]*\)/LamdaBins,Ph/\1/LambdaBins,g' \
    -e 's,Ge/\([[:alnum:]][[:alnum:]]*\)/HUtoMaterialConversionMethod,Ge/\1/ImagingToMaterialConverter,g' \
    -e 's,Ge/\([[:alnum:]][[:alnum:]]*\)/Strength,Ge/\1/MagneticFieldStrength,g' \
    -e 's,Ge/\([[:alnum:]][[:alnum:]]*\)/DirectionX,Ge/\1/MagneticFieldDirectionX,g' \
    -e 's,Ge/\([[:alnum:]][[:alnum:]]*\)/DirectionY,Ge/\1/MagneticFieldDirectionY,g' \
    -e 's,Ge/\([[:alnum:]][[:alnum:]]*\)/DirectionZ,Ge/\1/MagneticFieldDirectionZ,g' \
    -e 's,Ge/\([[:alnum:]][[:alnum:]]*\)/GradientX,Ge/\1/MagneticFieldGradientX,g' \
    -e 's,Ge/\([[:alnum:]][[:alnum:]]*\)/GradientY,Ge/\1/MagneticFieldGradientY,g' \
    -e 's,Ge/\([[:alnum:]][[:alnum:]]*\)/3DTable,Ge/\1/MagneticField3DTable,g' \
    -e 's,Ge/\([[:alnum:]][[:alnum:]]*\)/Stepper,Ge/\1/MagneticFieldStepper,g' \
    -e 's,Ge/\([[:alnum:]][[:alnum:]]*\)/StepMinimum,Ge/\1/MagneticFieldStepMinimum,g' \
    -e 's,Ge/\([[:alnum:]][[:alnum:]]*\)/DeltaChord,Ge/\1/MagneticFieldDeltaChord,g' \
    -e 's,Sc/\([[:alnum:]][[:alnum:]]*\)/PhaseSpaceBufferSize,Sc/\1/OutputBufferSize,g' \
    -e 's,So/\([[:alnum:]][[:alnum:]]*\)/BeamXYDistribution,So/\1/BeamPositionDistribution,g' \
    -e 's,So/\([[:alnum:]][[:alnum:]]*\)/BeamShape,So/\1/BeamPositionCutoffShape,g' \
    -e 's,So/\([[:alnum:]][[:alnum:]]*\)/BeamHWX,So/\1/BeamPositionCutoffX,g' \
    -e 's,So/\([[:alnum:]][[:alnum:]]*\)/BeamHWY,So/\1/BeamPositionCutoffY,g' \
    -e 's,So/\([[:alnum:]][[:alnum:]]*\)/BeamStandardDeviationX,So/\1/BeamPositionSpreadX,g' \
    -e 's,So/\([[:alnum:]][[:alnum:]]*\)/BeamStandardDeviationY,So/\1/BeamPositionSpreadY,g' \
    -e 's,"\([A-Za-z0-9/][A-Za-z0-9/]*\)/PlusPhiSurface","\1/PhiPlusSurface",g' \
    -e 's,"\([A-Za-z0-9/][A-Za-z0-9/]*\)/MinusPhiSurface","\1/PhiMinusSurface",g' \
    -e 's,"\([A-Za-z0-9/][A-Za-z0-9/]*\)/PlusThetaSurface","\1/ThetaPlusSurface",g' \
    -e 's,"\([A-Za-z0-9/][A-Za-z0-9/]*\)/MinusThetaSurface","\1/ThetaMinusSurface",g' \
    -e 's,Ph/\([A-Za-z0-9/][A-Za-z0-9/]*\)/LamdaBins,Ph/\1/LambdaBins,g' \
    -e 's,Ge/\([A-Za-z0-9/][A-Za-z0-9/]*\)/HUtoMaterialConversionMethod,Ge/\1/ImagingToMaterialConverter,g' \
    -e 's,Ge/\([A-Za-z0-9/][A-Za-z0-9/]*\)/Strength,Ge/\1/MagneticFieldStrength,g' \
    -e 's,Ge/\([A-Za-z0-9/][A-Za-z0-9/]*\)/DirectionX,Ge/\1/MagneticFieldDirectionX,g' \
    -e 's,Ge/\([A-Za-z0-9/][A-Za-z0-9/]*\)/DirectionY,Ge/\1/MagneticFieldDirectionY,g' \
    -e 's,Ge/\([A-Za-z0-9/][A-Za-z0-9/]*\)/DirectionZ,Ge/\1/MagneticFieldDirectionZ,g' \
    -e 's,Ge/\([A-Za-z0-9/][A-Za-z0-9/]*\)/GradientX,Ge/\1/MagneticFieldGradientX,g' \
    -e 's,Ge/\([A-Za-z0-9/][A-Za-z0-9/]*\)/GradientY,Ge/\1/MagneticFieldGradientY,g' \
    -e 's,Ge/\([A-Za-z0-9/][A-Za-z0-9/]*\)/3DTable,Ge/\1/MagneticField3DTable,g' \
    -e 's,Ge/\([A-Za-z0-9/][A-Za-z0-9/]*\)/Stepper,Ge/\1/MagneticFieldStepper,g' \
    -e 's,Ge/\([A-Za-z0-9/][A-Za-z0-9/]*\)/StepMinimum,Ge/\1/MagneticFieldStepMinimum,g' \
    -e 's,Ge/\([A-Za-z0-9/][A-Za-z0-9/]*\)/DeltaChord,Ge/\1/MagneticFieldDeltaChord,g' \
    -e 's,Sc/\([A-Za-z0-9/][A-Za-z0-9/]*\)/PhaseSpaceBufferSize,Sc/\1/OutputBufferSize,g' \
    -e 's,So/\([A-Za-z0-9/][A-Za-z0-9/]*\)/BeamXYDistribution,So/\1/BeamPositionDistribution,g' \
    -e 's,So/\([A-Za-z0-9/][A-Za-z0-9/]*\)/BeamShape,So/\1/BeamPositionCutoffShape,g' \
    -e 's,So/\([A-Za-z0-9/][A-Za-z0-9/]*\)/BeamHWX,So/\1/BeamPositionCutoffX,g' \
    -e 's,So/\([A-Za-z0-9/][A-Za-z0-9/]*\)/BeamHWY,So/\1/BeamPositionCutoffY,g' \
    -e 's,So/\([A-Za-z0-9/][A-Za-z0-9/]*\)/BeamStandardDeviationX,So/\1/BeamPositionSpreadX,g' \
    -e 's,So/\([A-Za-z0-9/][A-Za-z0-9/]*\)/BeamStandardDeviationY,So/\1/BeamPositionSpreadY,g' \
    "$file"

    # remove backup if no modifications
    diff -q "$file" "${file}.bak" > /dev/null 2>&1
    if [ $? -eq 0 ]; then
  3. davidchall revised this gist May 17, 2016. 1 changed file with 5 additions and 0 deletions.
    5 changes: 5 additions & 0 deletions topas2to3
    Original file line number Diff line number Diff line change
    @@ -16,7 +16,9 @@ for file in "$@"; do
    -e 's,"Water","G4_WATER",g' \
    -e 's,"Flourine","Fluorine",g' \
    -e 's,"\([[:alnum:]][[:alnum:]]*\)/PlusPhiSurface","\1/PhiPlusSurface",g' \
    -e 's,"\([[:alnum:]][[:alnum:]]*\)/MinusPhiSurface","\1/PhiMinusSurface",g' \
    -e 's,"\([[:alnum:]][[:alnum:]]*\)/PlusThetaSurface","\1/ThetaPlusSurface",g' \
    -e 's,"\([[:alnum:]][[:alnum:]]*\)/MinusThetaSurface","\1/ThetaMinusSurface",g' \
    -e 's,Ph/\([[:alnum:]][[:alnum:]]*\)/LamdaBins,Ph/\1/LambdaBins,g' \
    -e 's,Ge/\([[:alnum:]][[:alnum:]]*\)/HUtoMaterialConversionMethod,Ge/\1/ImagingToMaterialConverter,g' \
    -e 's,Ge/\([[:alnum:]][[:alnum:]]*\)/Strength,Ge/\1/MagneticFieldStrength,g' \
    @@ -26,6 +28,9 @@ for file in "$@"; do
    -e 's,Ge/\([[:alnum:]][[:alnum:]]*\)/GradientX,Ge/\1/MagneticFieldGradientX,g' \
    -e 's,Ge/\([[:alnum:]][[:alnum:]]*\)/GradientY,Ge/\1/MagneticFieldGradientY,g' \
    -e 's,Ge/\([[:alnum:]][[:alnum:]]*\)/3DTable,Ge/\1/MagneticField3DTable,g' \
    -e 's,Ge/\([[:alnum:]][[:alnum:]]*\)/Stepper,Ge/\1/MagneticFieldStepper,g' \
    -e 's,Ge/\([[:alnum:]][[:alnum:]]*\)/StepMinimum,Ge/\1/MagneticFieldStepMinimum,g' \
    -e 's,Ge/\([[:alnum:]][[:alnum:]]*\)/DeltaChord,Ge/\1/MagneticFieldDeltaChord,g' \
    -e 's,Sc/\([[:alnum:]][[:alnum:]]*\)/PhaseSpaceBufferSize,Sc/\1/OutputBufferSize,g' \
    -e 's,So/\([[:alnum:]][[:alnum:]]*\)/BeamXYDistribution,So/\1/BeamPositionDistribution,g' \
    -e 's,So/\([[:alnum:]][[:alnum:]]*\)/BeamShape,So/\1/BeamPositionCutoffShape,g' \
  4. davidchall revised this gist May 13, 2016. 1 changed file with 10 additions and 0 deletions.
    10 changes: 10 additions & 0 deletions topas2to3
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,9 @@
    #!/bin/sh

    # This script will (partially) convert TOPAS parameter files from v2.0 to v3.0.
    # A backup of the original file is created with a .bak extension.
    # WARNING: using this script twice on the same file will delete the backup file.

    if [ "$#" -eq 0 ]; then
    echo "Usage: $0 filename"
    fi
    @@ -30,4 +34,10 @@ for file in "$@"; do
    -e 's,So/\([[:alnum:]][[:alnum:]]*\)/BeamStandardDeviationX,So/\1/BeamPositionSpreadX,g' \
    -e 's,So/\([[:alnum:]][[:alnum:]]*\)/BeamStandardDeviationY,So/\1/BeamPositionSpreadY,g' \
    "$file"

    # remove backup if no modifications
    diff -q "$file" "${file}.bak" > /dev/null 2>&1
    if [ $? -eq 0 ]; then
    rm "${file}.bak"
    fi
    done
  5. davidchall revised this gist May 13, 2016. 1 changed file with 7 additions and 0 deletions.
    7 changes: 7 additions & 0 deletions topas2to3
    Original file line number Diff line number Diff line change
    @@ -15,6 +15,13 @@ for file in "$@"; do
    -e 's,"\([[:alnum:]][[:alnum:]]*\)/PlusThetaSurface","\1/ThetaPlusSurface",g' \
    -e 's,Ph/\([[:alnum:]][[:alnum:]]*\)/LamdaBins,Ph/\1/LambdaBins,g' \
    -e 's,Ge/\([[:alnum:]][[:alnum:]]*\)/HUtoMaterialConversionMethod,Ge/\1/ImagingToMaterialConverter,g' \
    -e 's,Ge/\([[:alnum:]][[:alnum:]]*\)/Strength,Ge/\1/MagneticFieldStrength,g' \
    -e 's,Ge/\([[:alnum:]][[:alnum:]]*\)/DirectionX,Ge/\1/MagneticFieldDirectionX,g' \
    -e 's,Ge/\([[:alnum:]][[:alnum:]]*\)/DirectionY,Ge/\1/MagneticFieldDirectionY,g' \
    -e 's,Ge/\([[:alnum:]][[:alnum:]]*\)/DirectionZ,Ge/\1/MagneticFieldDirectionZ,g' \
    -e 's,Ge/\([[:alnum:]][[:alnum:]]*\)/GradientX,Ge/\1/MagneticFieldGradientX,g' \
    -e 's,Ge/\([[:alnum:]][[:alnum:]]*\)/GradientY,Ge/\1/MagneticFieldGradientY,g' \
    -e 's,Ge/\([[:alnum:]][[:alnum:]]*\)/3DTable,Ge/\1/MagneticField3DTable,g' \
    -e 's,Sc/\([[:alnum:]][[:alnum:]]*\)/PhaseSpaceBufferSize,Sc/\1/OutputBufferSize,g' \
    -e 's,So/\([[:alnum:]][[:alnum:]]*\)/BeamXYDistribution,So/\1/BeamPositionDistribution,g' \
    -e 's,So/\([[:alnum:]][[:alnum:]]*\)/BeamShape,So/\1/BeamPositionCutoffShape,g' \
  6. davidchall revised this gist May 2, 2016. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions topas2to3
    Original file line number Diff line number Diff line change
    @@ -10,8 +10,10 @@ for file in "$@"; do
    -e 's,"G4Tubs","TsCylinder",g' \
    -e 's,"G4Sphere","TsSphere",g' \
    -e 's,"Water","G4_WATER",g' \
    -e 's,"Flourine","Fluorine",g' \
    -e 's,"\([[:alnum:]][[:alnum:]]*\)/PlusPhiSurface","\1/PhiPlusSurface",g' \
    -e 's,"\([[:alnum:]][[:alnum:]]*\)/PlusThetaSurface","\1/ThetaPlusSurface",g' \
    -e 's,Ph/\([[:alnum:]][[:alnum:]]*\)/LamdaBins,Ph/\1/LambdaBins,g' \
    -e 's,Ge/\([[:alnum:]][[:alnum:]]*\)/HUtoMaterialConversionMethod,Ge/\1/ImagingToMaterialConverter,g' \
    -e 's,Sc/\([[:alnum:]][[:alnum:]]*\)/PhaseSpaceBufferSize,Sc/\1/OutputBufferSize,g' \
    -e 's,So/\([[:alnum:]][[:alnum:]]*\)/BeamXYDistribution,So/\1/BeamPositionDistribution,g' \
  7. davidchall created this gist May 2, 2016.
    24 changes: 24 additions & 0 deletions topas2to3
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,24 @@
    #!/bin/sh

    if [ "$#" -eq 0 ]; then
    echo "Usage: $0 filename"
    fi

    for file in "$@"; do
    sed -i.bak \
    -e 's,"G4Box","TsBox",g' \
    -e 's,"G4Tubs","TsCylinder",g' \
    -e 's,"G4Sphere","TsSphere",g' \
    -e 's,"Water","G4_WATER",g' \
    -e 's,"\([[:alnum:]][[:alnum:]]*\)/PlusPhiSurface","\1/PhiPlusSurface",g' \
    -e 's,"\([[:alnum:]][[:alnum:]]*\)/PlusThetaSurface","\1/ThetaPlusSurface",g' \
    -e 's,Ge/\([[:alnum:]][[:alnum:]]*\)/HUtoMaterialConversionMethod,Ge/\1/ImagingToMaterialConverter,g' \
    -e 's,Sc/\([[:alnum:]][[:alnum:]]*\)/PhaseSpaceBufferSize,Sc/\1/OutputBufferSize,g' \
    -e 's,So/\([[:alnum:]][[:alnum:]]*\)/BeamXYDistribution,So/\1/BeamPositionDistribution,g' \
    -e 's,So/\([[:alnum:]][[:alnum:]]*\)/BeamShape,So/\1/BeamPositionCutoffShape,g' \
    -e 's,So/\([[:alnum:]][[:alnum:]]*\)/BeamHWX,So/\1/BeamPositionCutoffX,g' \
    -e 's,So/\([[:alnum:]][[:alnum:]]*\)/BeamHWY,So/\1/BeamPositionCutoffY,g' \
    -e 's,So/\([[:alnum:]][[:alnum:]]*\)/BeamStandardDeviationX,So/\1/BeamPositionSpreadX,g' \
    -e 's,So/\([[:alnum:]][[:alnum:]]*\)/BeamStandardDeviationY,So/\1/BeamPositionSpreadY,g' \
    "$file"
    done