#!/bin/bash echo "view6 produces a series of XY slices a different z locations." function print_the_help { echo "USAGE: $0 <PRIM_FILE> " echo " OPTIONS: " echo " -t,--tag filename tag (default: view1)" exit } FILE_TAG="view06" INPUT_FILE="../../g4_0000.prim" POSITIONAL=() while [[ $# -gt 0 ]] do key="$1" case $key in -h|--help) shift # past argument print_the_help ;; -t|--tag) FILE_TAG="$2" shift # past argument shift # past value ;; -i|--input) INPUT_FILE="$2" shift # past argument shift # past value ;; *) # unknown option #POSITIONAL+=("$1") # save it in an array for later echo "unknown option $1" print_the_help shift # past argument ;; esac done set -- "${POSITIONAL[@]}" # restore positional parameters # #SiTracker Endcap layer 1 zstart = 200mm ( 30 mm thick ) #SiTracker Endcap layer 2 zstart = 365mm ( 70 mm thick ) #SiTracker Endcap layer 3 zstart = 530mm ( 70 mm thick ) #SiTracker Endcap layer 4 zstart = 695mm ( 90 mm thick ) #SiTracker Endcap layer 5 zstart = 860mm ( 90 mm thick ) dawncut 0 0 -1 1000 ${INPUT_FILE} ${FILE_TAG}a_temp0.prim dawncut 0 0 1 1000 ${FILE_TAG}a_temp0.prim ${FILE_TAG}_input.prim INPUT_FILE=${FILE_TAG}_input.prim # units are mm dawncut 0 0 -1 1 ${INPUT_FILE} ${FILE_TAG}a_temp0.prim dawncut 0 0 1 1 ${FILE_TAG}a_temp0.prim ${FILE_TAG}a.prim ../../bin/dawn_tweak --mag 14 dawn -d ${FILE_TAG}a.prim ps2pdf ${FILE_TAG}a.eps ${FILE_TAG}a_full.pdf gs -o ${FILE_TAG}a.pdf -sDEVICE=pdfwrite \ -c "[/CropBox [50 175 550 675] /PAGES pdfmark" \ -f ${FILE_TAG}a_full.pdf pdftoppm ${FILE_TAG}a.pdf ${FILE_TAG}a -png -singlefile -cropbox #SiTracker Endcap layer 5 zstart = 860mm ( 90 mm thick ) dawncut 0 0 1 945 ${INPUT_FILE} ${FILE_TAG}b_temp0.prim dawncut 0 0 -1 -865 ${FILE_TAG}b_temp0.prim ${FILE_TAG}b.prim ../../bin/dawn_tweak --mag 14 dawn -d ${FILE_TAG}b.prim ps2pdf ${FILE_TAG}b.eps ${FILE_TAG}b_full.pdf gs -o ${FILE_TAG}b.pdf -sDEVICE=pdfwrite \ -c "[/CropBox [50 175 550 675] /PAGES pdfmark" \ -f ${FILE_TAG}b_full.pdf pdftoppm ${FILE_TAG}b.pdf ${FILE_TAG}b -png -singlefile -cropbox #SiTracker Endcap layer 4 zstart = 695mm ( 90 mm thick ) dawncut 0 0 1 780 ${INPUT_FILE} ${FILE_TAG}c_temp0.prim dawncut 0 0 -1 -700 ${FILE_TAG}c_temp0.prim ${FILE_TAG}c.prim ../../bin/dawn_tweak --mag 14 dawn -d ${FILE_TAG}c.prim ps2pdf ${FILE_TAG}c.eps ${FILE_TAG}c_full.pdf gs -o ${FILE_TAG}c.pdf -sDEVICE=pdfwrite \ -c "[/CropBox [50 175 550 675] /PAGES pdfmark" \ -f ${FILE_TAG}c_full.pdf pdftoppm ${FILE_TAG}c.pdf ${FILE_TAG}c -png -singlefile -cropbox #SiTracker Endcap layer 3 zstart = 530mm ( 70 mm thick ) # slice at z = -1m dawncut 0 0 1 595 ${INPUT_FILE} ${FILE_TAG}d_temp0.prim dawncut 0 0 -1 -535 ${FILE_TAG}d_temp0.prim ${FILE_TAG}d.prim dawn -d ${FILE_TAG}d.prim ps2pdf ${FILE_TAG}d.eps ${FILE_TAG}d_full.pdf gs -o ${FILE_TAG}d.pdf -sDEVICE=pdfwrite \ -c "[/CropBox [50 175 550 675] /PAGES pdfmark" \ -f ${FILE_TAG}d_full.pdf pdftoppm ${FILE_TAG}d.pdf ${FILE_TAG}d -png -singlefile -cropbox #SiTracker Endcap layer 2 zstart = 365mm ( 70 mm thick ) # slice at z = -2m dawncut 0 0 1 430 ${INPUT_FILE} ${FILE_TAG}e_temp0.prim dawncut 0 0 -1 -370 ${FILE_TAG}e_temp0.prim ${FILE_TAG}e.prim ../../bin/dawn_tweak --mag 14 dawn -d ${FILE_TAG}e.prim ps2pdf ${FILE_TAG}e.eps ${FILE_TAG}e_full.pdf gs -o ${FILE_TAG}e.pdf -sDEVICE=pdfwrite \ -c "[/CropBox [50 175 550 675] /PAGES pdfmark" \ -f ${FILE_TAG}e_full.pdf pdftoppm ${FILE_TAG}e.pdf ${FILE_TAG}e -png -singlefile -cropbox #SiTracker Endcap layer 1 zstart = 200mm ( 30 mm thick ) dawncut 0 0 1 225 ${INPUT_FILE} ${FILE_TAG}f_temp0.prim dawncut 0 0 -1 205 ${FILE_TAG}f_temp0.prim ${FILE_TAG}f.prim ../../bin/dawn_tweak --mag 14 dawn -d ${FILE_TAG}f.prim ps2pdf ${FILE_TAG}f.eps ${FILE_TAG}f_full.pdf gs -o ${FILE_TAG}f.pdf -sDEVICE=pdfwrite \ -c "[/CropBox [50 175 550 675] /PAGES pdfmark" \ -f ${FILE_TAG}f_full.pdf pdftoppm ${FILE_TAG}f.pdf ${FILE_TAG}f -png -singlefile -cropbox #https://geant4.kek.jp/~tanaka/DAWN/About_DAWNCUT.html # % dawncut a b c d input-file [output-file] # # input-file : Source DAWN-format file describing a 3D scene. # # output-file: Output DAWN-format file describing a plane-clipped # 3D scene. The default output stream is stdout. # # a, b, c, d : Parameters a, b, c, and d are double values to # define a clipping plane described with the following # equation: # # ax + by + cz + d = 0. # # Vector (a,b,c) defines the normal vector of # the clipping plane. # 3D scene data in the half space at the front side # of the clipping plane are clipped out and erased. # The normal vector (a,b,c) needs not be a unit vector. # If it is a unit vector, parameter "d" gives distance # between the clipping plane and origin (0,0,0).