calculation of additional beam broadening due to the use of range shifters (only for protons) call sigmaRashi = matRad_calcSigmaRashi(energy,rangeShifter,SSD) input energy: initial particle energy rangeShifter: structure defining range shifter geometry SSD: source to surface distance output sigmaRashi: sigma of range shifter (to be added ^2) in mm References https://www.ncbi.nlm.nih.gov/pubmed/12375823 https://www.ncbi.nlm.nih.gov/pubmed/12701891 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Copyright 2015 the matRad development team. This file is part of the matRad project. It is subject to the license terms in the LICENSE file found in the top-level directory of this distribution and at https://github.com/e0404/matRad/LICENSES.txt. No part of the matRad project, including this file, may be copied, modified, propagated, or distributed except according to the terms contained in the LICENSE file. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0001 function sigmaRashi = matRad_calcSigmaRashi(energy,rangeShifter,SSD) 0002 % calculation of additional beam broadening due to the use of range shifters 0003 % (only for protons) 0004 % 0005 % call 0006 % sigmaRashi = matRad_calcSigmaRashi(energy,rangeShifter,SSD) 0007 % 0008 % input 0009 % energy: initial particle energy 0010 % rangeShifter: structure defining range shifter geometry 0011 % SSD: source to surface distance 0012 % 0013 % output 0014 % sigmaRashi: sigma of range shifter (to be added ^2) in mm 0015 % 0016 % References 0017 % https://www.ncbi.nlm.nih.gov/pubmed/12375823 0018 % https://www.ncbi.nlm.nih.gov/pubmed/12701891 0019 % 0020 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0021 % 0022 % Copyright 2015 the matRad development team. 0023 % 0024 % This file is part of the matRad project. It is subject to the license 0025 % terms in the LICENSE file found in the top-level directory of this 0026 % distribution and at https://github.com/e0404/matRad/LICENSES.txt. No part 0027 % of the matRad project, including this file, may be copied, modified, 0028 % propagated, or distributed except according to the terms contained in the 0029 % LICENSE file. 0030 % 0031 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0032 0033 % distance of range shifter to patient surface 0034 rashiDist = SSD - rangeShifter.sourceRashiDistance; 0035 0036 % convert to mm 0037 zS = rashiDist / 10; % [cm] (after division) 0038 t = rangeShifter.eqThickness / 10; % [cm] (after division) 0039 0040 % --> everything here is in [cm] 0041 0042 a1 = 0.21; % [1] 0043 a2 = 0.77; % [1] 0044 c0 = 0.0191027; % [cm] 0045 c1 = 0.0204539; % [1] 0046 alpha = 0.0022; % [cm MeV ^ (-p)] % 0047 p = 1.77; % [1] % Exponent of range-energy relation 0048 0049 % convert energy to range 0050 R = alpha * (energy ^ p); 0051 0052 % check if valid computation possible or range shifter to thick 0053 if t / R >= 0.95 0054 error('Computation of range shifter sigma invalid.'); 0055 end 0056 0057 % Improved HONG's Formula 0058 s = t / R; 0059 sigmaT = (a1 * s + a2 * s ^ 2) * (c0 + c1 * R); 0060 0061 PSPpmma = 1.165; 0062 PrSFpmma = 0.816; 0063 % PSP_air = 0.00107; 0064 % PrSF_air = 991; 0065 C = 13.6; % MeV 0066 L = 36.1; % cm 0067 0068 F1part1 = (2 * C ^ 2 * alpha ^ (2 / p)) / (4 * L * (2 / p - 1)); 0069 F1part2 = (((1 - s) ^ (2 - 2 / p) - 1) / (2 / p - 2) - s); 0070 F1part3 = R ^ (2 - 2 / p); 0071 0072 F1 = F1part1 * F1part2 * F1part3; 0073 0074 F2part1 = (C ^ 2 * alpha ^ (2 / p)) / (4 * L * (2 / p - 1)); 0075 F2part2 = (((1 - s) ^ (1 - 2 / p) - 1)) / 1; 0076 F2part3 = R ^ (1 - 2 / p); 0077 0078 F2 = F2part1 * F2part2 * F2part3; 0079 0080 sigmaProjSq = PrSFpmma ^ 2 * (sigmaT ^ 2 + F1 .* zS * PSPpmma + F2 * (zS * PSPpmma) .^ 2); % [cm ^ 2] 0081 0082 % <-- below in [mm] 0083 0084 sigmaRashi = 10 * sqrt(sigmaProjSq); % [mm] (after factor 10) 0085