radiotherapy.cpp
Go to the documentation of this file.
00001 /* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ 00002 /* 00003 * Main authors: 00004 * Guido Tack <tack@gecode.org> 00005 * 00006 * Contributing authors: 00007 * Mikael Lagerkvist <lagerkvist@gecode.org> 00008 * 00009 * Copyright: 00010 * Guido Tack, 2009 00011 * Mikael Lagerkvist, 2009 00012 * 00013 * Last modified: 00014 * $Date: 2010-10-07 11:52:01 +0200 (Thu, 07 Oct 2010) $ by $Author: schulte $ 00015 * $Revision: 11473 $ 00016 * 00017 * This file is part of Gecode, the generic constraint 00018 * development environment: 00019 * http://www.gecode.org 00020 * 00021 * Permission is hereby granted, free of charge, to any person obtaining 00022 * a copy of this software and associated documentation files (the 00023 * "Software"), to deal in the Software without restriction, including 00024 * without limitation the rights to use, copy, modify, merge, publish, 00025 * distribute, sublicense, and/or sell copies of the Software, and to 00026 * permit persons to whom the Software is furnished to do so, subject to 00027 * the following conditions: 00028 * 00029 * The above copyright notice and this permission notice shall be 00030 * included in all copies or substantial portions of the Software. 00031 * 00032 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 00033 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 00034 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 00035 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 00036 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 00037 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 00038 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 00039 * 00040 */ 00041 00042 #include <gecode/driver.hh> 00043 #include <gecode/int.hh> 00044 #include <gecode/minimodel.hh> 00045 00046 using namespace Gecode; 00047 00049 class RadiotherapyData { 00050 private: 00052 int incr_sum(int row) { 00053 int sum = intensity[row*n]; 00054 for (int i=1; i<n; i++) 00055 sum += std::max(intensity[row*n+i]-intensity[row*n+i-1],0); 00056 return sum; 00057 } 00058 public: 00059 const int m; 00060 const int n; 00061 const int* intensity; 00062 00063 int btMin; 00064 int btMax; 00065 int intsSum; 00066 00068 RadiotherapyData(int m0, int n0, const int* intensity0) 00069 : m(m0), n(n0), intensity(intensity0) { 00070 btMax = 0; 00071 intsSum = 0; 00072 for (int i=0; i<m*n; i++) { 00073 btMax = std::max(btMax, intensity[i]); 00074 intsSum += intensity[i]; 00075 } 00076 00077 btMin = 0; 00078 for (int i=0; i<m; i++) 00079 btMin = std::max(btMin, incr_sum(i)); 00080 } 00081 }; 00082 00083 namespace { 00084 extern RadiotherapyData rds[]; 00085 extern const unsigned int rds_n; 00086 } 00087 00102 class Radiotherapy : public MinimizeScript { 00103 private: 00105 const RadiotherapyData rd; 00106 00108 IntVar beamtime; 00110 IntVar K; 00112 IntVarArray N; 00114 IntVarArray q; 00115 00117 IntVar _cost; 00118 00119 public: 00121 Radiotherapy(const SizeOptions& opt) 00122 : rd(rds[opt.size()]) { 00123 00124 // Initialize variables 00125 beamtime = IntVar(*this, rd.btMin, rd.intsSum); 00126 K = IntVar(*this, 0, rd.m*rd.n); 00127 N = IntVarArray(*this, rd.btMax, 0, rd.m*rd.n); 00128 q = IntVarArray(*this, rd.m*rd.n*rd.btMax, 0, rd.m*rd.n); 00129 00130 IntArgs coeffs(rd.btMax); 00131 for (int i=0; i<rd.btMax; i++) 00132 coeffs[i] = i+1; 00133 linear(*this, coeffs, N, IRT_EQ, beamtime); 00134 linear(*this, N, IRT_EQ, K); 00135 00136 for (int i=0; i<rd.m; i++) { 00137 for (int j=0; j<rd.n; j++) { 00138 IntVarArgs qs(rd.btMax); 00139 for (int b=0; b<rd.btMax; b++) 00140 qs[b] = q[i*rd.n*rd.btMax+j*rd.btMax+b]; 00141 linear(*this, coeffs, qs, IRT_EQ, rd.intensity[i*rd.n+j], ICL_DOM); 00142 } 00143 } 00144 00145 for (int i=0; i<rd.m; i++) { 00146 for (int b=0; b<rd.btMax; b++) { 00147 IntVarArgs qs(rd.n); 00148 for (int j=0; j<rd.n; j++) 00149 qs[j] = q[i*rd.n*rd.btMax+j*rd.btMax+b]; 00150 incr_sum(N[b], qs, rd.m*rd.n); 00151 } 00152 } 00153 00154 _cost = IntVar(*this, 0, (rd.m*rd.n+1)*(rd.intsSum+1)); 00155 rel(*this, _cost == beamtime*(rd.m*rd.n+1)+K); 00156 00157 // First branch over beamtime and N 00158 IntVarArgs ba(1); ba[0] = beamtime; 00159 branch(*this, ba, INT_VAR_NONE, INT_VAL_MIN); 00160 branch(*this, N, INT_VAR_NONE, INT_VAL_SPLIT_MIN); 00161 00162 // Then perform a nested search over q 00163 NestedSearch::post(*this); 00164 00165 } 00166 00168 void incr_sum(IntVar& x, IntVarArgs& y, int mn) { 00169 IntVarArgs s(*this, y.size()-1, 0, mn); 00170 IntVarArgs t(y.size()); 00171 t[0] = y[0]; 00172 for (int i=1; i<y.size(); i++) { 00173 rel(*this, s[i-1] >= y[i]-y[i-1]); 00174 t[i] = s[i-1]; 00175 } 00176 linear(*this, t, IRT_LQ, x); 00177 } 00178 00180 Radiotherapy(bool share, Radiotherapy& s) 00181 : MinimizeScript(share,s), rd(s.rd) { 00182 beamtime.update(*this, share, s.beamtime); 00183 N.update(*this, share, s.N); 00184 K.update(*this, share, s.K); 00185 _cost.update(*this, share, s._cost); 00186 q.update(*this, share, s.q); 00187 } 00188 00190 virtual Space* 00191 copy(bool share) { 00192 return new Radiotherapy(share,*this); 00193 } 00194 00196 virtual IntVar 00197 cost(void) const { return _cost; } 00198 00200 virtual void 00201 print(std::ostream& os) const { 00202 os << std::endl 00203 << "B / K = " << beamtime << " / " << K << ",\nN = " << N << std::endl; 00204 } 00205 00207 class NestedSearch : public Brancher { 00208 private: 00210 bool done; 00212 struct Idx { 00213 int idx; 00214 int weight; 00215 00216 bool operator<(const Idx& rhs) const { return weight > rhs.weight; } 00217 }; 00219 SharedArray<Idx> index; 00221 class Choice : public Gecode::Choice { 00222 public: 00224 bool fail; 00226 Choice(const Brancher& b, bool fail0) 00227 : Gecode::Choice(b,1), fail(fail0) {} 00229 virtual size_t size(void) const { 00230 return sizeof(Choice); 00231 } 00232 }; 00234 NestedSearch(Space& home) : Brancher(home), done(false) { 00235 Radiotherapy& rt = static_cast<Radiotherapy&>(home); 00236 // Set up ordering of rows. As a heuristic, pre-order the rows 00237 // with the potentially cheapest ones first. 00238 index.init(rt.rd.m+1); 00239 for (int i = rt.rd.m; i--; ) { 00240 index[i].idx = i; 00241 index[i].weight = 0; 00242 for (int j = rt.rd.n; j--; ) 00243 index[i].weight += rt.rd.intensity[i*rt.rd.n + j] == 0; 00244 } 00245 Support::quicksort(&(index[0]), rt.rd.m); 00246 for (int i = rt.rd.m; i--; ) 00247 index[i].weight = 0; 00248 index[rt.rd.m].idx = 10; 00249 // A shared object must be disposed properly 00250 home.notice(*this, AP_DISPOSE); 00251 } 00253 NestedSearch(Space& home, bool share, NestedSearch& b) 00254 : Brancher(home, share, b), done(b.done) { 00255 index.update(home, share, b.index); 00256 } 00257 public: 00258 virtual bool status(const Space&) const { 00259 return !done; 00260 } 00261 00262 IntVarArgs getRow(Radiotherapy* row, int i) { 00263 IntVarArgs ri(row->rd.n*row->rd.btMax); 00264 for (int j=0; j<row->rd.n; j++) { 00265 for (int b=0; b<row->rd.btMax; b++) { 00266 ri[j*row->rd.btMax+b] = 00267 row->q[i*row->rd.n*row->rd.btMax+j*row->rd.btMax+b]; 00268 } 00269 } 00270 return ri; 00271 } 00272 00273 virtual Gecode::Choice* choice(Space& home) { 00274 done = true; 00275 Radiotherapy& rt = static_cast<Radiotherapy&>(home); 00276 00277 std::cout << "*"; 00278 00279 // Perform nested search for each row 00280 bool fail = false; 00281 for (int i=0; i<rt.rd.m; i++) { 00282 // Create fresh clone for row i 00283 Radiotherapy* row = static_cast<Radiotherapy*>(rt.clone()); 00284 00285 // Branch over row i 00286 branch(*row, getRow(row, index[i].idx), 00287 INT_VAR_NONE, INT_VAL_SPLIT_MIN); 00288 Search::Options o; o.clone = false; 00289 if ( Radiotherapy* newSol = dfs(row, o) ) { 00290 // Found a solution for row i, so try to find one for i+1 00291 delete newSol; 00292 std::cerr << index[i].idx; 00293 } else { 00294 // Found no solution for row i, so back to search the N variables 00295 fail = true; 00296 index[i].weight += 1; 00297 if (i && index[i] < index[i-1]) 00298 std::swap(index[i], index[i-1]); 00299 break; 00300 } 00301 } 00302 00303 return new Choice(*this, fail); 00304 } 00305 virtual ExecStatus commit(Space&, const Gecode::Choice& _c, unsigned int) { 00306 return static_cast<const Choice&>(_c).fail ? ES_FAILED : ES_OK; 00307 } 00309 virtual Actor* copy(Space& home, bool share) { 00310 return new (home) NestedSearch(home, share, *this); 00311 } 00313 static void post(Home home) { 00314 (void) new (home) NestedSearch(home); 00315 } 00317 size_t dispose(Space& home) { 00318 home.ignore(*this,AP_DISPOSE); 00319 // Periodic scaling of weights 00320 if (!--index[index.size()-1].idx) { 00321 index[index.size()-1].idx = 10; 00322 for (int i = index.size()-1; i--; ) 00323 index[i].weight *= 0.9; 00324 } 00325 (void) Brancher::dispose(home); 00326 (void) index.~SharedArray<Idx>(); 00327 return sizeof(*this); 00328 } 00329 }; 00330 00331 }; 00332 00336 int 00337 main(int argc, char* argv[]) { 00338 SizeOptions opt("Radiotherapy"); 00339 opt.solutions(0); 00340 opt.size(0); 00341 opt.parse(argc,argv); 00342 00343 if (opt.size() >= rds_n) { 00344 std::cerr << "Error: size must be between 0 and " 00345 << rds_n-1 << std::endl; 00346 return 1; 00347 } 00348 00349 MinimizeScript::run<Radiotherapy,BAB,SizeOptions>(opt); 00350 return 0; 00351 } 00352 00353 namespace { 00359 00360 // Small instance 00361 static const int intensity0[] = { 00362 7, 2, 14, 8, 9, 00363 13, 4, 1, 2, 9, 00364 5, 12, 2, 11, 9, 00365 10, 2, 4, 9, 7, 00366 10, 2, 8, 11, 1 00367 }; 00368 RadiotherapyData rd0(5,5,intensity0); 00369 00370 // Larger instance 00371 static const int intensity1[] = { 00372 6, 10, 6, 8, 10, 0, 4, 10, 0, 6, 2, 8, 0, 2, 0 , 00373 1, 8, 3, 1, 0, 8, 0, 3, 6, 10, 9, 8, 9, 6, 9 , 00374 8, 5, 6, 7, 7, 0, 6, 8, 2, 7, 5, 2, 0, 9, 2 , 00375 9, 2, 10, 5, 7, 1, 3, 7, 5, 1, 8, 2, 3, 10, 4 , 00376 8, 7, 4, 1, 6, 3, 0, 1, 2, 6, 4, 4, 0, 5, 0 , 00377 9, 0, 7, 4, 9, 7, 4, 1, 4, 1, 1, 9, 2, 9, 9 , 00378 3, 6, 10, 0, 6, 6, 10, 10, 7, 0, 10, 2, 10, 2, 4 , 00379 8, 9, 5, 2, 6, 1, 9, 0, 4, 2, 4, 1, 5, 1, 4 , 00380 6, 10, 0, 0, 7, 0, 0, 5, 8, 5, 10, 3, 2, 2, 10 , 00381 4, 3, 0, 6, 10, 7, 2, 7, 2, 9, 2, 8, 9, 7, 9 , 00382 10, 2, 0, 5, 5, 1, 3, 7, 1, 6, 5, 4, 2, 8, 1 , 00383 3, 6, 4, 3, 7, 10, 6, 7, 7, 6, 5, 9, 10, 8, 3 , 00384 9, 9, 5, 2, 4, 2, 3, 3, 1, 2, 9, 2, 5, 6, 3 , 00385 7, 5, 2, 6, 4, 8, 1, 0, 2, 4, 7, 9, 3, 3, 0 , 00386 5, 3, 8, 7, 10, 6, 7, 7, 6, 10, 4, 4, 5, 8, 0 00387 }; 00388 RadiotherapyData rd1(15,15,intensity1); 00389 00390 /* 00391 * The following 25 clinical instances were provided by 00392 * - James F. Dempsey, ViewRay, Inc. 00393 * - H. Edwin Romeijn, Department of Industrial and Operations 00394 * Engineering, The University of Michigan 00395 * - J. Cole Smith, Department of Industrial and Systems 00396 * Engineering, University of Florida 00397 * - Z. Caner Taskin, Department of Industrial and Systems 00398 * Engineering, University of Florida 00399 * - Chunhua Men, Department of Industrial and Systems Engineering, 00400 * University of Florida 00401 * They are from the articles 00402 * - "Mixed-Integer Programming Techniques for Decomposing IMRT 00403 * Fluence Maps Using Rectangular Apertures", Z. Caner Taskin, 00404 * J. Cole Smith, H. Edwin Romeijn 00405 * - "Optimal Multileaf Collimator Leaf Sequencing in IMRT Treatment 00406 * Planning", Z. Caner Tasin, J. Cole Smith, H. Edwin Romeijn, James 00407 * F. Dempsey 00408 */ 00409 static const int case1_beam1_matrix[] = { 00410 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 00411 2, 1, 0, 0, 0, 0, 0, 0, 0, 5, 0, 3, 0, 2, 00412 3, 1, 0, 0, 0, 0, 0, 0, 18, 0, 0, 4, 6, 0, 00413 2, 0, 0, 3, 11, 8, 15, 1, 11, 0, 0, 0, 10, 0, 00414 0, 0, 0, 9, 11, 14, 6, 2, 7, 0, 0, 0, 7, 0, 00415 0, 8, 2, 7, 10, 11, 7, 2, 0, 7, 0, 0, 0, 1, 00416 0, 0, 4, 1, 6, 7, 0, 0, 0, 0, 0, 0, 0, 1, 00417 0, 3, 1, 0, 4, 6, 0, 0, 0, 1, 0, 0, 0, 1, 00418 0, 1, 5, 6, 8, 8, 5, 0, 2, 0, 0, 0, 7, 0, 00419 0, 5, 2, 8, 10, 11, 5, 3, 7, 0, 2, 4, 11, 0, 00420 0, 0, 0, 1, 12, 13, 9, 7, 11, 1, 2, 3, 6, 0, 00421 0, 0, 0, 0, 0, 0, 0, 4, 20, 0, 0, 8, 5, 0, 00422 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 0, 2, 00423 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 00424 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 1 00425 }; 00426 RadiotherapyData case1_beam1(15, 14, case1_beam1_matrix); 00427 00428 static const int case1_beam2_matrix[] = { 00429 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3, 4, 0, 2, 00430 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 2, 0, 1, 00431 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 1, 0, 0, 3, 00432 0, 0, 0, 5, 5, 3, 0, 0, 3, 2, 8, 6, 0, 0, 3, 00433 0, 0, 7, 11, 10, 11, 5, 8, 4, 11, 13, 20, 0, 0, 3, 00434 0, 10, 10, 9, 7, 7, 7, 2, 9, 0, 0, 0, 9, 0, 2, 00435 0, 4, 7, 7, 5, 6, 2, 0, 4, 0, 0, 0, 3, 0, 2, 00436 0, 10, 2, 7, 1, 2, 0, 0, 0, 0, 0, 0, 0, 3, 1, 00437 0, 0, 5, 6, 3, 1, 0, 6, 8, 0, 0, 0, 0, 1, 2, 00438 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 00439 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2 00440 }; 00441 RadiotherapyData case1_beam2(11, 15, case1_beam2_matrix); 00442 00443 static const int case1_beam3_matrix[] = { 00444 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 00445 1, 2, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 1, 2, 2, 00446 1, 3, 0, 0, 0, 0, 0, 0, 0, 6, 4, 1, 12, 0, 2, 00447 2, 0, 0, 0, 0, 0, 0, 0, 0, 11, 6, 1, 9, 0, 2, 00448 2, 0, 0, 0, 0, 0, 0, 0, 2, 11, 0, 0, 0, 2, 1, 00449 0, 0, 0, 0, 0, 1, 0, 4, 0, 0, 0, 0, 0, 1, 1, 00450 0, 3, 0, 2, 6, 7, 6, 6, 4, 0, 0, 0, 0, 0, 2, 00451 0, 0, 10, 12, 11, 10, 13, 13, 12, 5, 0, 0, 0, 0, 2, 00452 0, 0, 11, 12, 10, 10, 14, 15, 15, 5, 2, 7, 12, 0, 2, 00453 0, 9, 5, 9, 7, 6, 12, 16, 13, 8, 5, 7, 7, 0, 2, 00454 2, 0, 0, 0, 0, 0, 4, 20, 12, 8, 1, 6, 8, 0, 2, 00455 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 7, 0, 2, 00456 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 00457 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 00458 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 1 00459 }; 00460 RadiotherapyData case1_beam3(15, 15, case1_beam3_matrix); 00461 00462 static const int case1_beam4_matrix[] = { 00463 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 00464 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 00465 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 00466 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 13, 0, 4, 0, 2, 00467 0, 6, 5, 5, 8, 9, 11, 20, 8, 9, 18, 10, 7, 0, 2, 00468 0, 3, 10, 9, 12, 11, 15, 15, 11, 11, 16, 15, 3, 0, 3, 00469 0, 5, 7, 12, 14, 11, 15, 15, 13, 10, 15, 10, 5, 0, 3, 00470 0, 5, 1, 9, 11, 9, 13, 9, 12, 6, 3, 0, 0, 0, 2, 00471 0, 0, 0, 0, 4, 2, 4, 0, 7, 0, 0, 0, 0, 0, 2, 00472 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 00473 2, 0, 0, 1, 7, 4, 0, 0, 0, 10, 10, 4, 0, 1, 1, 00474 2, 2, 0, 0, 0, 0, 0, 4, 0, 14, 14, 9, 0, 0, 1, 00475 2, 2, 0, 0, 0, 0, 0, 0, 0, 12, 16, 5, 1, 0, 2, 00476 2, 2, 0, 0, 0, 0, 0, 0, 1, 10, 12, 6, 3, 0, 2, 00477 1, 3, 0, 0, 0, 0, 0, 0, 2, 12, 15, 3, 0, 1, 2 00478 }; 00479 RadiotherapyData case1_beam4(15, 15, case1_beam4_matrix); 00480 00481 static const int case1_beam5_matrix[] = { 00482 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 00483 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 00484 0, 0, 6, 4, 3, 1, 0, 0, 7, 0, 0, 0, 0, 3, 2, 00485 0, 13, 6, 1, 1, 1, 5, 0, 2, 0, 0, 0, 0, 1, 2, 00486 0, 2, 12, 5, 4, 2, 2, 0, 1, 20, 11, 11, 5, 0, 2, 00487 0, 9, 12, 7, 3, 2, 7, 3, 5, 14, 12, 13, 11, 0, 2, 00488 0, 5, 11, 13, 6, 6, 5, 5, 5, 15, 11, 13, 12, 0, 2, 00489 0, 0, 0, 1, 4, 5, 0, 0, 0, 7, 9, 9, 8, 0, 2, 00490 4, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 4, 5, 0, 2, 00491 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 00492 2, 2, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 9, 0, 3 00493 }; 00494 RadiotherapyData case1_beam5(11, 15, case1_beam5_matrix); 00495 00496 static const int case2_beam1_matrix[] = { 00497 1, 1, 1, 4, 1, 0, 1, 5, 2, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 2, 00498 1, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 00499 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 2, 7, 2, 1, 00500 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 12, 12, 5, 8, 5, 3, 0, 00501 2, 1, 3, 0, 0, 0, 0, 0, 4, 20, 10, 1, 0, 8, 7, 8, 6, 7, 2, 1, 00502 1, 3, 1, 0, 3, 1, 13, 18, 14, 10, 5, 0, 3, 7, 7, 7, 6, 7, 2, 0, 00503 2, 0, 0, 0, 3, 1, 9, 8, 8, 6, 2, 3, 4, 5, 11, 10, 9, 10, 3, 0, 00504 2, 0, 0, 0, 1, 1, 7, 8, 5, 4, 1, 1, 0, 4, 3, 1, 0, 0, 0, 2, 00505 2, 0, 0, 1, 0, 0, 4, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 00506 2, 0, 0, 4, 2, 0, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 00507 3, 0, 5, 6, 3, 1, 2, 5, 3, 1, 3, 0, 1, 0, 4, 5, 5, 9, 0, 1, 00508 1, 0, 2, 8, 3, 2, 3, 6, 5, 3, 4, 6, 4, 5, 10, 11, 8, 10, 4, 0, 00509 0, 0, 0, 8, 5, 4, 5, 8, 5, 7, 6, 5, 3, 5, 8, 7, 7, 10, 2, 0, 00510 3, 0, 9, 11, 5, 5, 6, 11, 7, 6, 6, 6, 4, 6, 8, 7, 7, 9, 2, 0, 00511 2, 0, 11, 11, 5, 6, 7, 9, 9, 6, 8, 5, 4, 6, 10, 6, 7, 7, 2, 0, 00512 2, 0, 6, 11, 4, 3, 1, 0, 0, 0, 0, 4, 7, 6, 2, 0, 0, 3, 0, 2, 00513 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 00514 1, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 2 00515 }; 00516 RadiotherapyData case2_beam1(18, 20, case2_beam1_matrix); 00517 00518 static const int case2_beam2_matrix[] = { 00519 2, 3, 2, 1, 5, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 3, 00520 3, 3, 3, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 00521 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 3, 2, 00522 3, 3, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 8, 5, 1, 00523 2, 3, 1, 0, 0, 0, 0, 1, 0, 0, 5, 6, 5, 5, 1, 2, 6, 2, 1, 00524 2, 2, 2, 0, 0, 0, 0, 8, 0, 4, 2, 5, 2, 7, 5, 1, 4, 2, 1, 00525 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 3, 4, 7, 4, 0, 00526 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6, 6, 7, 5, 7, 8, 7, 0, 00527 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 7, 10, 7, 2, 3, 5, 12, 6, 0, 00528 4, 0, 0, 0, 0, 6, 5, 6, 4, 8, 10, 12, 9, 7, 1, 6, 6, 6, 0, 00529 0, 0, 0, 18, 18, 3, 3, 4, 6, 9, 12, 12, 7, 5, 0, 0, 0, 0, 2, 00530 0, 0, 0, 20, 11, 0, 1, 4, 5, 10, 10, 8, 6, 1, 6, 3, 4, 1, 3, 00531 0, 0, 0, 16, 11, 0, 3, 2, 7, 11, 10, 13, 7, 2, 2, 0, 0, 0, 2, 00532 3, 0, 0, 14, 10, 1, 5, 2, 8, 15, 9, 9, 13, 5, 0, 0, 0, 0, 3, 00533 2, 0, 0, 16, 9, 5, 5, 4, 7, 18, 0, 0, 0, 0, 0, 0, 0, 1, 2, 00534 2, 0, 0, 15, 10, 7, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 00535 2, 0, 0, 0, 18, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2 00536 }; 00537 RadiotherapyData case2_beam2(17, 19, case2_beam2_matrix); 00538 00539 static const int case2_beam3_matrix[] = { 00540 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 00541 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 00542 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 4, 3, 2, 6, 2, 2, 00543 1, 0, 0, 0, 0, 0, 0, 4, 2, 10, 11, 12, 7, 7, 4, 0, 4, 1, 00544 2, 0, 0, 0, 0, 0, 0, 4, 6, 9, 10, 12, 6, 5, 4, 4, 3, 2, 00545 2, 0, 0, 0, 0, 14, 0, 7, 2, 9, 8, 8, 3, 6, 4, 4, 2, 2, 00546 3, 0, 0, 0, 10, 11, 0, 0, 1, 7, 4, 2, 2, 0, 0, 0, 2, 2, 00547 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 00548 0, 0, 0, 0, 4, 1, 1, 0, 2, 2, 0, 0, 2, 0, 3, 0, 1, 2, 00549 0, 0, 0, 0, 5, 5, 7, 7, 8, 9, 5, 8, 1, 1, 0, 0, 0, 3, 00550 0, 0, 8, 0, 10, 10, 12, 15, 16, 10, 7, 6, 0, 3, 0, 0, 0, 3, 00551 0, 0, 20, 4, 12, 12, 11, 19, 17, 17, 11, 9, 12, 12, 11, 13, 3, 1, 00552 0, 0, 0, 11, 8, 10, 11, 15, 18, 12, 5, 3, 6, 8, 11, 12, 9, 0, 00553 1, 0, 0, 6, 10, 1, 3, 17, 17, 13, 5, 1, 4, 16, 8, 15, 3, 1, 00554 2, 0, 0, 8, 0, 0, 0, 0, 0, 11, 6, 0, 6, 0, 0, 0, 0, 3, 00555 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 00556 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 00557 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2 00558 }; 00559 RadiotherapyData case2_beam3(18, 18, case2_beam3_matrix); 00560 00561 static const int case2_beam4_matrix[] = { 00562 3, 0, 5, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 2, 2, 00563 0, 0, 5, 2, 2, 0, 7, 3, 3, 0, 0, 0, 0, 0, 0, 3, 1, 2, 00564 0, 0, 0, 4, 3, 0, 8, 11, 9, 4, 0, 2, 0, 0, 0, 0, 4, 1, 00565 0, 0, 9, 5, 5, 2, 12, 13, 10, 7, 3, 1, 4, 0, 0, 0, 0, 3, 00566 0, 16, 9, 4, 10, 7, 15, 16, 8, 5, 6, 4, 7, 10, 0, 11, 0, 2, 00567 0, 0, 12, 6, 12, 12, 18, 18, 14, 9, 7, 7, 8, 12, 13, 12, 10, 0, 00568 0, 0, 0, 8, 13, 15, 18, 20, 12, 13, 12, 12, 12, 13, 11, 10, 8, 0, 00569 0, 0, 0, 3, 5, 14, 17, 16, 11, 8, 4, 10, 12, 11, 14, 9, 1, 3, 00570 0, 0, 0, 0, 0, 3, 14, 8, 5, 4, 5, 9, 4, 0, 0, 0, 0, 3, 00571 4, 3, 0, 0, 1, 0, 8, 3, 3, 0, 0, 0, 0, 0, 2, 0, 0, 3, 00572 1, 7, 0, 0, 1, 2, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 00573 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, 5, 1, 4, 1, 4, 0, 0, 2, 00574 2, 5, 4, 0, 0, 0, 0, 0, 0, 0, 8, 10, 7, 0, 6, 1, 4, 1, 00575 2, 4, 4, 0, 0, 0, 0, 0, 0, 4, 5, 5, 6, 1, 6, 6, 2, 2, 00576 2, 4, 3, 2, 0, 0, 0, 0, 4, 3, 12, 2, 1, 7, 3, 4, 2, 2, 00577 2, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 3, 7, 3, 12, 5, 5, 1, 00578 2, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 2, 2, 00579 3, 3, 5, 0, 3, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 3 00580 }; 00581 RadiotherapyData case2_beam4(18, 18, case2_beam4_matrix); 00582 00583 static const int case2_beam5_matrix[] = { 00584 0, 0, 0, 15, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 00585 0, 0, 2, 10, 16, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 00586 0, 0, 6, 9, 15, 3, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 3, 00587 2, 4, 9, 12, 15, 3, 4, 0, 3, 0, 2, 17, 13, 0, 0, 0, 2, 3, 00588 0, 5, 12, 14, 17, 5, 2, 0, 0, 8, 17, 16, 13, 4, 0, 0, 0, 3, 00589 0, 6, 13, 16, 17, 5, 2, 2, 4, 5, 12, 10, 10, 13, 6, 0, 0, 3, 00590 0, 0, 20, 17, 18, 8, 4, 5, 6, 10, 14, 13, 11, 2, 1, 4, 0, 3, 00591 0, 0, 0, 14, 18, 11, 8, 9, 9, 10, 13, 12, 8, 8, 5, 6, 5, 0, 00592 0, 0, 0, 2, 11, 10, 6, 3, 1, 6, 10, 11, 5, 8, 9, 8, 9, 0, 00593 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 3, 10, 4, 5, 3, 1, 00594 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 6, 6, 2, 2, 2, 2, 1, 00595 0, 0, 0, 0, 0, 0, 1, 0, 3, 3, 4, 3, 4, 1, 0, 0, 2, 0, 00596 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 4, 1, 2, 00597 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 0, 0, 8, 3, 1, 00598 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 2, 00599 1, 3, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 00600 1, 2, 1, 4, 8, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 00601 }; 00602 RadiotherapyData case2_beam5(17, 18, case2_beam5_matrix); 00603 00604 static const int case3_beam1_matrix[] = { 00605 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 00606 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 13, 8, 8, 1, 0, 0, 0, 00607 1, 2, 0, 0, 0, 0, 0, 0, 11, 9, 5, 5, 4, 5, 0, 2, 0, 00608 1, 0, 0, 0, 0, 0, 8, 13, 9, 6, 4, 4, 4, 8, 0, 2, 0, 00609 0, 2, 17, 10, 13, 14, 10, 8, 7, 6, 4, 4, 5, 8, 0, 2, 0, 00610 0, 12, 20, 9, 14, 15, 7, 2, 5, 5, 5, 3, 4, 9, 0, 1, 1, 00611 0, 17, 13, 10, 15, 16, 5, 1, 5, 7, 5, 6, 4, 8, 0, 2, 1, 00612 1, 0, 15, 9, 15, 20, 6, 1, 4, 7, 7, 6, 5, 9, 7, 1, 1, 00613 0, 0, 2, 7, 16, 9, 5, 0, 3, 7, 5, 5, 4, 7, 4, 5, 0, 00614 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 4, 2, 6, 5, 4, 0, 00615 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, 3, 3, 3, 6, 5, 4, 0, 00616 0, 0, 0, 5, 7, 5, 8, 0, 2, 7, 5, 4, 5, 7, 4, 5, 0, 00617 0, 4, 9, 8, 16, 19, 5, 1, 3, 7, 6, 5, 6, 9, 6, 1, 1, 00618 0, 13, 12, 8, 14, 14, 4, 2, 0, 8, 4, 5, 5, 8, 2, 0, 2, 00619 0, 20, 11, 7, 14, 15, 3, 0, 0, 6, 3, 3, 5, 9, 0, 1, 1, 00620 0, 6, 17, 4, 14, 14, 6, 1, 1, 5, 2, 3, 5, 7, 0, 1, 0, 00621 0, 0, 0, 11, 6, 13, 7, 2, 2, 5, 2, 4, 3, 6, 0, 2, 0, 00622 1, 0, 0, 0, 6, 0, 8, 2, 3, 5, 3, 7, 4, 7, 0, 0, 0, 00623 0, 0, 0, 0, 0, 0, 6, 0, 4, 4, 7, 10, 4, 0, 0, 0, 0, 00624 0, 0, 0, 0, 0, 0, 0, 0, 2, 8, 5, 0, 10, 0, 1, 0, 0, 00625 0, 0, 0, 0, 0, 0, 0, 0, 6, 2, 0, 0, 0, 0, 1, 0, 0, 00626 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 00627 }; 00628 RadiotherapyData case3_beam1(22, 17, case3_beam1_matrix); 00629 00630 static const int case3_beam2_matrix[] = { 00631 0, 0, 1, 1, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00632 0, 0, 8, 0, 1, 4, 5, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 00633 2, 0, 0, 0, 3, 2, 2, 1, 1, 0, 0, 1, 4, 7, 11, 9, 0, 0, 0, 00634 2, 0, 0, 0, 3, 2, 2, 0, 2, 4, 1, 4, 7, 11, 10, 20, 1, 0, 0, 00635 3, 0, 2, 0, 2, 2, 2, 1, 7, 8, 5, 9, 13, 16, 13, 14, 12, 0, 0, 00636 2, 0, 1, 0, 3, 2, 4, 5, 15, 16, 12, 11, 15, 17, 15, 14, 9, 0, 3, 00637 2, 0, 11, 0, 6, 3, 0, 5, 17, 16, 10, 10, 13, 17, 13, 14, 7, 1, 3, 00638 2, 0, 5, 0, 8, 1, 0, 2, 16, 16, 9, 8, 10, 14, 12, 13, 12, 0, 3, 00639 0, 0, 0, 2, 8, 1, 0, 7, 15, 17, 7, 8, 10, 12, 9, 12, 5, 1, 0, 00640 0, 0, 0, 0, 5, 0, 2, 7, 15, 13, 5, 4, 9, 7, 4, 0, 0, 2, 0, 00641 0, 0, 0, 0, 4, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 00642 0, 0, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00643 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00644 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00645 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 00646 }; 00647 RadiotherapyData case3_beam2(15, 19, case3_beam2_matrix); 00648 00649 static const int case3_beam3_matrix[] = { 00650 0, 0, 0, 0, 0, 0, 0, 0, 15, 8, 10, 0, 0, 0, 0, 0, 0, 00651 0, 0, 0, 0, 0, 0, 0, 15, 10, 7, 10, 7, 18, 0, 0, 0, 0, 00652 0, 3, 5, 5, 3, 0, 7, 8, 12, 9, 12, 11, 20, 0, 0, 0, 0, 00653 0, 0, 0, 4, 5, 2, 6, 5, 12, 9, 12, 12, 14, 3, 0, 1, 0, 00654 0, 0, 0, 7, 2, 4, 7, 9, 11, 9, 10, 10, 7, 5, 0, 0, 0, 00655 0, 0, 1, 7, 1, 2, 7, 8, 10, 4, 5, 1, 0, 0, 0, 0, 0, 00656 0, 0, 0, 3, 0, 3, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 00657 0, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 00658 3, 2, 4, 0, 0, 0, 0, 0, 0, 0, 2, 4, 4, 7, 10, 8, 0, 00659 0, 0, 4, 4, 0, 0, 0, 9, 6, 7, 7, 10, 6, 13, 8, 10, 0, 00660 0, 6, 12, 12, 0, 0, 0, 15, 9, 11, 15, 16, 15, 17, 4, 17, 0, 00661 0, 5, 14, 12, 5, 0, 9, 18, 15, 18, 19, 18, 16, 17, 6, 14, 0, 00662 0, 14, 7, 13, 3, 2, 16, 17, 13, 17, 17, 16, 17, 12, 8, 12, 0, 00663 0, 4, 14, 8, 5, 1, 10, 12, 7, 19, 17, 18, 15, 13, 0, 0, 3, 00664 0, 0, 6, 10, 0, 0, 0, 4, 5, 16, 17, 16, 13, 15, 2, 0, 3, 00665 0, 0, 0, 0, 0, 0, 0, 0, 5, 17, 15, 16, 12, 15, 2, 2, 0, 00666 1, 0, 0, 0, 0, 0, 2, 2, 0, 7, 15, 9, 11, 13, 7, 1, 0, 00667 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 15, 0, 3, 0, 00668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 2, 0, 00669 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0 00670 }; 00671 RadiotherapyData case3_beam3(20, 17, case3_beam3_matrix); 00672 00673 static const int case3_beam4_matrix[] = { 00674 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 00675 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 3, 0, 00676 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 12, 0, 3, 0, 00677 2, 0, 0, 0, 0, 0, 2, 0, 10, 9, 20, 0, 0, 15, 0, 3, 0, 00678 0, 0, 0, 14, 0, 0, 0, 3, 7, 11, 16, 16, 6, 16, 2, 2, 0, 00679 0, 0, 10, 9, 5, 0, 0, 16, 7, 10, 17, 16, 13, 11, 12, 0, 0, 00680 0, 9, 10, 10, 5, 2, 11, 9, 9, 12, 16, 18, 12, 13, 3, 0, 3, 00681 0, 5, 11, 10, 6, 4, 10, 15, 10, 13, 17, 18, 16, 5, 11, 0, 2, 00682 0, 1, 13, 11, 7, 2, 19, 12, 14, 12, 16, 18, 16, 12, 7, 11, 0, 00683 0, 0, 14, 6, 7, 0, 0, 11, 13, 13, 17, 16, 16, 11, 7, 11, 0, 00684 0, 0, 5, 0, 0, 0, 0, 7, 4, 8, 11, 12, 12, 10, 7, 9, 0, 00685 2, 0, 0, 0, 0, 0, 0, 1, 2, 2, 5, 5, 7, 7, 8, 1, 1, 00686 3, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 6, 5, 11, 0, 2, 00687 0, 6, 3, 2, 2, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00688 0, 0, 0, 0, 4, 4, 7, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 00689 0, 0, 0, 0, 4, 6, 2, 9, 12, 6, 5, 5, 5, 0, 0, 0, 1, 00690 0, 0, 0, 4, 2, 4, 0, 7, 10, 8, 10, 10, 5, 0, 0, 1, 0, 00691 1, 0, 0, 3, 0, 0, 0, 0, 6, 5, 11, 9, 11, 0, 0, 0, 0, 00692 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 13, 13, 0, 0, 0, 0 00693 }; 00694 RadiotherapyData case3_beam4(19, 17, case3_beam4_matrix); 00695 00696 static const int case3_beam5_matrix[] = { 00697 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00698 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00699 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00700 0, 0, 7, 1, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 00701 0, 0, 0, 0, 0, 0, 1, 15, 0, 0, 0, 0, 4, 5, 0, 0, 0, 3, 0, 00702 0, 0, 0, 0, 1, 0, 0, 13, 2, 0, 5, 9, 9, 9, 1, 7, 0, 3, 0, 00703 1, 0, 1, 2, 5, 0, 0, 3, 5, 0, 8, 10, 9, 12, 10, 17, 4, 2, 0, 00704 3, 0, 0, 0, 5, 1, 0, 8, 9, 2, 10, 13, 12, 14, 12, 14, 10, 1, 3, 00705 3, 0, 0, 0, 3, 2, 2, 11, 11, 8, 14, 15, 16, 17, 15, 15, 5, 2, 3, 00706 3, 0, 2, 2, 2, 1, 3, 9, 8, 7, 7, 15, 13, 19, 18, 13, 15, 1, 0, 00707 3, 0, 0, 2, 0, 2, 2, 6, 1, 3, 1, 7, 9, 12, 11, 19, 0, 0, 0, 00708 3, 0, 0, 4, 0, 2, 3, 2, 1, 1, 0, 3, 4, 7, 20, 0, 0, 0, 0, 00709 3, 0, 16, 0, 3, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00710 4, 0, 16, 3, 4, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00711 0, 1, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 00712 }; 00713 RadiotherapyData case3_beam5(15, 19, case3_beam5_matrix); 00714 00715 static const int case4_beam1_matrix[] = { 00716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 00717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 5, 8, 10, 0, 0, 0, 0, 2, 00718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 2, 9, 2, 0, 2, 1, 2, 00719 0, 0, 0, 0, 0, 0, 0, 10, 17, 12, 0, 7, 5, 0, 0, 1, 6, 7, 4, 4, 3, 1, 00720 2, 0, 0, 0, 20, 0, 0, 0, 0, 0, 2, 1, 3, 1, 1, 1, 6, 7, 6, 4, 0, 1, 00721 2, 1, 0, 8, 6, 0, 0, 0, 0, 0, 0, 2, 3, 2, 2, 1, 6, 7, 7, 7, 0, 0, 00722 2, 0, 11, 5, 2, 4, 6, 0, 0, 3, 4, 2, 6, 1, 2, 1, 8, 5, 8, 8, 2, 0, 00723 1, 0, 1, 1, 0, 0, 2, 4, 7, 2, 0, 1, 3, 1, 5, 0, 11, 4, 7, 9, 2, 0, 00724 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 6, 1, 10, 3, 7, 8, 3, 0, 00725 1, 0, 0, 0, 0, 0, 3, 5, 8, 0, 1, 1, 2, 1, 7, 1, 11, 3, 6, 8, 4, 0, 00726 1, 0, 7, 4, 2, 6, 6, 0, 6, 3, 2, 4, 7, 6, 10, 2, 11, 3, 6, 7, 4, 0, 00727 0, 8, 16, 13, 0, 0, 0, 0, 0, 0, 2, 3, 6, 6, 7, 3, 10, 3, 5, 7, 4, 0, 00728 2, 0, 0, 0, 16, 0, 0, 0, 0, 0, 3, 2, 4, 7, 9, 4, 9, 3, 5, 6, 4, 0, 00729 0, 0, 0, 0, 0, 0, 0, 12, 6, 8, 5, 4, 5, 8, 6, 3, 8, 3, 5, 6, 3, 0, 00730 0, 0, 0, 0, 0, 0, 0, 14, 15, 10, 0, 3, 9, 8, 4, 2, 7, 3, 4, 5, 1, 0, 00731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 4, 2, 7, 2, 4, 5, 0, 2, 00732 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 4, 1, 8, 2, 3, 2, 2, 2, 00733 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 12, 5, 0, 0, 0, 0, 0, 2, 00734 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 0, 0, 0 00735 }; 00736 RadiotherapyData case4_beam1(19, 22, case4_beam1_matrix); 00737 00738 static const int case4_beam2_matrix[] = { 00739 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00740 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 3, 2, 9, 17, 10, 11, 6, 0, 0, 5, 0, 00741 0, 0, 0, 0, 0, 0, 7, 6, 0, 0, 0, 0, 1, 2, 7, 14, 16, 14, 16, 7, 5, 5, 0, 4, 00742 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 5, 10, 16, 20, 12, 17, 8, 13, 13, 0, 4, 00743 0, 3, 7, 2, 0, 5, 5, 0, 6, 2, 0, 0, 3, 12, 16, 17, 17, 10, 19, 9, 11, 13, 0, 4, 00744 3, 0, 19, 9, 11, 10, 3, 2, 0, 7, 7, 13, 20, 14, 17, 15, 18, 7, 18, 11, 11, 15, 0, 4, 00745 0, 3, 4, 9, 10, 9, 0, 2, 0, 2, 0, 13, 13, 13, 14, 14, 17, 4, 17, 11, 11, 16, 0, 4, 00746 0, 1, 0, 0, 0, 6, 0, 0, 1, 1, 0, 5, 13, 9, 11, 9, 12, 5, 14, 11, 10, 18, 0, 4, 00747 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 10, 9, 8, 7, 12, 2, 13, 10, 11, 17, 0, 4, 00748 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 8, 2, 0, 4, 13, 8, 12, 19, 0, 4, 00749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 3, 0, 0, 0, 0, 5, 8, 15, 0, 2, 0, 00750 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 5, 0, 00751 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 3, 0, 0 00752 }; 00753 RadiotherapyData case4_beam2(13, 24, case4_beam2_matrix); 00754 00755 static const int case4_beam3_matrix[] = { 00756 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 00757 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 00758 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 3, 2, 0, 0, 0, 0, 0, 0, 0, 00759 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 5, 4, 3, 0, 0, 0, 0, 0, 0, 1, 0, 00760 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 4, 4, 6, 3, 1, 0, 0, 5, 5, 0, 0, 1, 0, 00761 1, 0, 0, 0, 11, 0, 9, 8, 5, 6, 3, 5, 6, 2, 0, 0, 1, 3, 4, 7, 0, 0, 0, 00762 2, 2, 0, 0, 7, 11, 0, 6, 8, 5, 6, 2, 3, 0, 0, 0, 2, 1, 5, 3, 3, 0, 0, 00763 1, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3, 1, 3, 2, 2, 0, 0, 00764 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 7, 2, 0, 3, 1, 2, 0, 0, 00765 1, 0, 6, 2, 4, 7, 3, 0, 0, 0, 3, 4, 6, 8, 6, 6, 4, 0, 2, 1, 3, 0, 2, 00766 0, 7, 6, 7, 7, 13, 14, 9, 10, 6, 6, 8, 8, 9, 8, 6, 5, 0, 2, 0, 2, 0, 2, 00767 0, 7, 8, 8, 8, 12, 12, 14, 10, 8, 7, 8, 7, 7, 7, 5, 6, 0, 1, 0, 2, 0, 2, 00768 0, 0, 0, 1, 7, 20, 13, 8, 17, 11, 6, 6, 5, 6, 9, 7, 7, 0, 1, 0, 3, 0, 2, 00769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 6, 5, 6, 7, 8, 8, 0, 1, 1, 4, 0, 2, 00770 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 8, 0, 3, 2, 4, 0, 2, 00771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 4, 5, 0, 0, 00772 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 00773 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 00774 }; 00775 RadiotherapyData case4_beam3(18, 23, case4_beam3_matrix); 00776 00777 static const int case4_beam4_matrix[] = { 00778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 7, 1, 2, 0, 0, 00779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 6, 0, 5, 0, 3, 1, 3, 1, 0, 00780 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 7, 8, 10, 0, 2, 1, 4, 0, 0, 00781 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 8, 9, 8, 1, 2, 1, 4, 0, 2, 00782 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 7, 6, 4, 9, 9, 7, 0, 2, 2, 3, 0, 0, 00783 0, 0, 0, 0, 3, 17, 8, 9, 15, 14, 6, 10, 5, 5, 7, 5, 5, 1, 2, 3, 3, 0, 2, 00784 0, 0, 2, 7, 12, 20, 19, 16, 12, 12, 12, 9, 8, 8, 5, 2, 5, 0, 2, 3, 4, 0, 3, 00785 0, 12, 10, 13, 9, 15, 15, 11, 11, 14, 8, 10, 10, 10, 5, 4, 3, 0, 2, 4, 4, 0, 0, 00786 0, 2, 13, 4, 6, 12, 10, 6, 4, 7, 5, 6, 8, 8, 5, 4, 2, 0, 3, 3, 4, 0, 0, 00787 1, 0, 4, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5, 3, 1, 0, 3, 3, 2, 0, 0, 00788 2, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 4, 4, 0, 0, 0, 00789 2, 3, 0, 0, 13, 0, 2, 9, 0, 8, 7, 8, 2, 0, 0, 0, 4, 2, 6, 4, 4, 0, 0, 00790 0, 0, 0, 0, 0, 0, 4, 7, 1, 3, 7, 9, 7, 4, 0, 0, 1, 7, 5, 5, 0, 1, 0, 00791 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 9, 7, 8, 7, 1, 0, 0, 0, 0, 0, 0, 1, 0, 00792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 11, 2, 0, 0, 0, 0, 0, 0, 0, 0, 00793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 9, 6, 0, 0, 0, 0, 0, 0, 0, 00794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 7, 0, 0, 0, 0, 0, 0, 0 00795 }; 00796 RadiotherapyData case4_beam4(17, 23, case4_beam4_matrix); 00797 00798 static const int case4_beam5_matrix[] = { 00799 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 4, 0, 0, 00800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 00801 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 6, 0, 0, 0, 6, 2, 10, 0, 3, 0, 0, 00802 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 7, 9, 5, 6, 0, 12, 10, 7, 15, 0, 3, 0, 00803 4, 0, 0, 0, 12, 0, 0, 0, 0, 9, 7, 10, 4, 4, 0, 8, 0, 15, 12, 10, 11, 0, 3, 0, 00804 2, 0, 5, 12, 8, 0, 0, 9, 6, 14, 14, 8, 10, 8, 5, 5, 3, 18, 13, 12, 15, 0, 4, 0, 00805 0, 19, 19, 15, 19, 1, 0, 17, 10, 14, 15, 13, 12, 9, 5, 8, 5, 20, 13, 13, 13, 0, 4, 1, 00806 3, 3, 14, 0, 10, 0, 15, 8, 5, 9, 2, 5, 10, 11, 5, 9, 7, 20, 15, 11, 11, 0, 4, 0, 00807 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 8, 14, 9, 18, 11, 10, 11, 0, 4, 0, 00808 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 0, 3, 4, 11, 12, 12, 13, 8, 11, 0, 4, 0, 00809 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4, 0, 2, 0, 2, 10, 9, 13, 6, 0, 0, 2, 3, 0, 00810 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 6, 4, 0, 0, 0, 0, 4, 0, 0 00811 }; 00812 RadiotherapyData case4_beam5(12, 24, case4_beam5_matrix); 00813 00814 static const int case5_beam1_matrix[] = { 00815 1, 2, 1, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 00816 1, 2, 0, 0, 0, 0, 0, 0, 0, 4, 0, 11, 0, 0, 0, 1, 00817 1, 2, 0, 0, 0, 0, 0, 0, 1, 9, 8, 1, 8, 4, 5, 0, 00818 1, 2, 0, 0, 5, 0, 4, 4, 1, 7, 4, 5, 5, 5, 4, 0, 00819 0, 1, 0, 8, 2, 2, 1, 1, 0, 0, 0, 0, 2, 5, 1, 1, 00820 0, 0, 2, 2, 4, 4, 4, 2, 0, 0, 0, 0, 0, 6, 3, 1, 00821 0, 1, 3, 2, 3, 5, 4, 1, 2, 2, 4, 2, 2, 6, 4, 1, 00822 0, 0, 0, 0, 1, 0, 0, 1, 0, 2, 4, 2, 0, 0, 0, 1, 00823 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 1, 00824 0, 0, 1, 3, 3, 0, 2, 2, 1, 3, 6, 0, 0, 0, 0, 1, 00825 0, 3, 2, 4, 7, 5, 2, 4, 4, 8, 0, 0, 2, 10, 3, 1, 00826 0, 3, 3, 7, 9, 7, 4, 3, 0, 0, 0, 0, 0, 6, 4, 0, 00827 2, 0, 1, 7, 0, 0, 0, 4, 0, 0, 0, 5, 0, 8, 3, 1, 00828 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 6, 0, 2, 1, 1, 00829 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 00830 }; 00831 RadiotherapyData case5_beam1(15, 16, case5_beam1_matrix); 00832 00833 static const int case5_beam2_matrix[] = { 00834 2, 2, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 1, 2, 00835 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 00836 2, 3, 4, 0, 0, 0, 0, 5, 5, 5, 0, 0, 5, 0, 1, 0, 1, 00837 2, 2, 4, 0, 0, 0, 0, 0, 2, 2, 3, 0, 3, 0, 1, 5, 0, 00838 2, 2, 2, 0, 0, 0, 0, 0, 0, 8, 4, 0, 2, 2, 3, 8, 0, 00839 3, 1, 1, 0, 0, 0, 3, 1, 2, 13, 14, 13, 4, 10, 2, 16, 0, 00840 3, 2, 0, 0, 0, 0, 0, 0, 9, 19, 16, 6, 8, 18, 2, 9, 0, 00841 3, 0, 0, 8, 8, 1, 6, 7, 6, 20, 8, 0, 0, 0, 0, 1, 2, 00842 4, 2, 2, 17, 2, 0, 0, 0, 3, 13, 0, 1, 0, 1, 4, 0, 2, 00843 2, 6, 0, 8, 0, 0, 3, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 00844 0, 0, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 00845 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 00846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2 00847 }; 00848 RadiotherapyData case5_beam2(13, 17, case5_beam2_matrix); 00849 00850 static const int case5_beam3_matrix[] = { 00851 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 00852 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5, 4, 1, 00853 1, 2, 0, 0, 0, 0, 0, 0, 0, 10, 11, 5, 10, 3, 4, 1, 00854 1, 2, 1, 2, 0, 0, 0, 3, 0, 0, 11, 5, 4, 0, 2, 0, 00855 2, 1, 0, 9, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 00856 1, 3, 3, 0, 0, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 00857 3, 0, 0, 4, 8, 6, 2, 7, 6, 9, 0, 0, 0, 0, 0, 2, 00858 0, 0, 0, 12, 13, 11, 9, 12, 10, 7, 9, 5, 3, 10, 4, 0, 00859 0, 0, 10, 14, 13, 10, 12, 15, 9, 11, 12, 8, 7, 8, 9, 0, 00860 2, 0, 7, 13, 12, 12, 11, 14, 10, 10, 10, 1, 6, 7, 8, 0, 00861 0, 1, 0, 9, 19, 11, 18, 14, 8, 0, 0, 0, 0, 7, 0, 0, 00862 0, 0, 0, 0, 8, 20, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 00863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 00864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 2, 1, 2 00865 }; 00866 RadiotherapyData case5_beam3(14, 16, case5_beam3_matrix); 00867 00868 static const int case5_beam4_matrix[] = { 00869 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 00870 0, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 00871 0, 0, 11, 5, 3, 3, 12, 10, 20, 1, 0, 4, 6, 2, 6, 0, 00872 1, 0, 9, 7, 7, 10, 11, 8, 8, 18, 12, 8, 6, 4, 8, 0, 00873 0, 0, 9, 10, 9, 10, 12, 7, 9, 7, 6, 9, 5, 5, 6, 0, 00874 0, 0, 0, 6, 11, 7, 8, 7, 4, 10, 6, 9, 1, 0, 5, 1, 00875 3, 1, 0, 0, 5, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 2, 00876 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 00877 1, 2, 0, 0, 2, 0, 2, 0, 0, 3, 0, 1, 3, 0, 0, 1, 00878 1, 2, 0, 0, 0, 0, 0, 0, 11, 1, 6, 6, 4, 0, 3, 0, 00879 1, 2, 0, 0, 0, 0, 0, 2, 9, 6, 3, 8, 6, 0, 6, 1, 00880 1, 1, 1, 0, 0, 0, 0, 0, 6, 2, 0, 4, 1, 1, 3, 1, 00881 1, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 6, 0, 1, 1, 1, 00882 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 10, 1, 1, 0, 1 00883 }; 00884 RadiotherapyData case5_beam4(14, 16, case5_beam4_matrix); 00885 00886 static const int case5_beam5_matrix[] = { 00887 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 0, 0, 2, 00888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 00889 0, 0, 7, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 00890 2, 0, 9, 12, 3, 0, 1, 0, 0, 10, 0, 0, 0, 0, 0, 0, 1, 00891 3, 0, 10, 11, 11, 1, 9, 3, 5, 0, 6, 3, 14, 12, 0, 0, 3, 00892 2, 0, 5, 7, 12, 5, 9, 10, 4, 0, 0, 5, 20, 2, 5, 0, 0, 00893 1, 4, 0, 2, 4, 7, 3, 5, 9, 0, 0, 15, 15, 17, 4, 1, 0, 00894 2, 4, 0, 0, 0, 0, 0, 0, 6, 0, 5, 12, 9, 14, 6, 8, 0, 00895 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 6, 3, 0, 00896 2, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 00897 2, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 00898 2, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 00899 }; 00900 RadiotherapyData case5_beam5(12, 17, case5_beam5_matrix); 00902 00904 RadiotherapyData rds[] = {rd0, rd1, 00905 case1_beam1, 00906 case1_beam2, 00907 case1_beam3, 00908 case1_beam4, 00909 case1_beam5, 00910 case2_beam1, 00911 case2_beam2, 00912 case2_beam3, 00913 case2_beam4, 00914 case2_beam5, 00915 case3_beam1, 00916 case3_beam2, 00917 case3_beam3, 00918 case3_beam4, 00919 case3_beam5, 00920 case4_beam1, 00921 case4_beam2, 00922 case4_beam3, 00923 case4_beam4, 00924 case4_beam5, 00925 case5_beam1, 00926 case5_beam2, 00927 case5_beam3, 00928 case5_beam4, 00929 case5_beam5 00930 }; 00932 const unsigned int rds_n = sizeof(rds) / sizeof(RadiotherapyData); 00933 } 00934 // STATISTICS: example-any