matRad_calcSigmaRashi

Purpose ^

calculation of additional beam broadening due to the use of range shifters

Synopsis ^

function sigmaRashi = matRad_calcSigmaRashi(energy,rangeShifter,SSD)

Description ^

 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.

 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Cross-reference information ^

This function calls: This function is called by:

Source code ^

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

| Generated by m2html © 2005