Changeset 1274 for trunk/source/visualization/gMocren/src
- Timestamp:
- May 27, 2010, 10:36:45 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/visualization/gMocren/src/G4GMocrenFileSceneHandler.cc
r1228 r1274 25 25 // 26 26 // 27 // $Id: G4GMocrenFileSceneHandler.cc,v 1.1 2 2009/12/03 11:44:42 akimuraExp $27 // $Id: G4GMocrenFileSceneHandler.cc,v 1.14 2010/05/11 10:44:11 allison Exp $ 28 28 // GEANT4 tag $Name: $ 29 29 // … … 93 93 94 94 //-- for a debugging 95 const bool GFDEBUG = false;96 const bool GFDEBUG_TRK = false;//true;97 const bool GFDEBUG_HIT = false;//true;95 const G4bool GFDEBUG = false; 96 const G4bool GFDEBUG_TRK = false;//true; 97 const G4bool GFDEBUG_HIT = false;//true; 98 98 const G4int GFDEBUG_DET = 0; // 0: false 99 99 … … 170 170 kbSetModalityVoxelSize = false; 171 171 172 for( int i = 0; i < 3; i++) {172 for(G4int i = 0; i < 3; i++) { 173 173 kModalitySize[i] = 0; 174 174 kNestedVolumeDimension[i] = 0; … … 182 182 { 183 183 // g4_00.gdd, g4_01.gdd, ..., g4_MAX_FILE_INDEX.gdd 184 const int MAX_FILE_INDEX = kMaxFileNum - 1 ;184 const G4int MAX_FILE_INDEX = kMaxFileNum - 1 ; 185 185 186 186 // dest directory (null if no environmental variables is set) … … 191 191 192 192 // Automatic updation of file names 193 static int currentNumber = 0;194 for( int i = currentNumber ; i < kMaxFileNum ; i++) {193 static G4int currentNumber = 0; 194 for( G4int i = currentNumber ; i < kMaxFileNum ; i++) { 195 195 196 196 // Message in the final execution … … 268 268 minmax[1] = ctdens.GetMaxCT(); 269 269 kgMocrenIO->setModalityImageMinMax(minmax); 270 std::vector< float> map;271 float dens;272 for( int i = minmax[0]; i <= minmax[1]; i++) {270 std::vector<G4float> map; 271 G4float dens; 272 for(G4int i = minmax[0]; i <= minmax[1]; i++) { 273 273 dens = ctdens.GetDensity(i); 274 274 map.push_back(dens); … … 283 283 ifile >> minmax[0] >> minmax[1]; 284 284 kgMocrenIO->setModalityImageMinMax(minmax); 285 std::vector< float> map;286 float dens;287 for( int i = minmax[0]; i <= minmax[1]; i++) {285 std::vector<G4float> map; 286 G4float dens; 287 for(G4int i = minmax[0]; i <= minmax[1]; i++) { 288 288 ifile >> dens; 289 289 map.push_back(dens); … … 329 329 kFlagSaving_g4_gdd = false; 330 330 331 std::map<Index3D, float>::iterator itr = kNestedModality.begin();331 std::map<Index3D, G4float>::iterator itr = kNestedModality.begin(); 332 332 G4int xmax=0, ymax=0, zmax=0; 333 333 for(; itr != kNestedModality.end(); itr++) { … … 347 347 348 348 G4int nxy = kModalitySize[0]*kModalitySize[1]; 349 //std::map<G4int, float>::iterator itr;350 for( int z = 0; z < kModalitySize[2]; z++) {349 //std::map<G4int, G4float>::iterator itr; 350 for(G4int z = 0; z < kModalitySize[2]; z++) { 351 351 short * modality = new short[nxy]; 352 for( int y = 0; y < kModalitySize[1]; y++) {353 for( int x = 0; x < kModalitySize[0]; x++) {354 //for( int x = kModalitySize[0]-1; x >= 0 ; x--) {352 for(G4int y = 0; y < kModalitySize[1]; y++) { 353 for(G4int x = 0; x < kModalitySize[0]; x++) { 354 //for(G4int x = kModalitySize[0]-1; x >= 0 ; x--) { 355 355 //G4int ixy = x + (kModalitySize[1]-y-1)*kModalitySize[0]; 356 356 … … 377 377 std::map<G4String, std::map<Index3D, G4double> >::iterator hitsListItr = kNestedHitsList.begin(); 378 378 379 for( int n = 0; hitsListItr != kNestedHitsList.end(); hitsListItr++, n++) {379 for(G4int n = 0; hitsListItr != kNestedHitsList.end(); hitsListItr++, n++) { 380 380 381 381 kgMocrenIO->newDoseDist(); … … 384 384 385 385 G4double minmax[2] = {DBL_MAX, -DBL_MAX}; 386 for( int z = 0 ; z < kModalitySize[2]; z++) {386 for(G4int z = 0 ; z < kModalitySize[2]; z++) { 387 387 G4double * values = new G4double[nxy]; 388 for( int y = 0; y < kModalitySize[1]; y++) {389 for( int x = 0; x < kModalitySize[0]; x++) {388 for(G4int y = 0; y < kModalitySize[1]; y++) { 389 for(G4int x = 0; x < kModalitySize[0]; x++) { 390 390 391 391 G4int ixy = x + y*kModalitySize[0]; … … 421 421 rot = kVolumeTrans3D.getRotation().inverse(); 422 422 // x 423 std::vector< float *> tracks;423 std::vector<G4float *> tracks; 424 424 unsigned char colors[3]; 425 float * trk = newfloat[6];425 G4float * trk = new G4float[6]; 426 426 tracks.push_back(trk); 427 427 … … 435 435 za -= trans; 436 436 za.transform(rot); 437 for( int i = 0; i < 3; i++) trk[i] = orig[i];438 for( int i = 0; i < 3; i++) trk[i+3] = xa[i];437 for(G4int i = 0; i < 3; i++) trk[i] = orig[i]; 438 for(G4int i = 0; i < 3; i++) trk[i+3] = xa[i]; 439 439 colors[0] = 255; colors[1] = 0; colors[2] = 0; 440 440 kgMocrenIO->addTrack(tracks, colors); 441 441 // y 442 for( int i = 0; i < 3; i++) trk[i+3] = ya[i];442 for(G4int i = 0; i < 3; i++) trk[i+3] = ya[i]; 443 443 colors[0] = 0; colors[1] = 255; colors[2] = 0; 444 444 kgMocrenIO->addTrack(tracks, colors); 445 445 // z 446 for( int i = 0; i < 3; i++) trk[i+3] = za[i];446 for(G4int i = 0; i < 3; i++) trk[i+3] = za[i]; 447 447 colors[0] = 0; colors[1] = 0; colors[2] = 255; 448 448 kgMocrenIO->addTrack(tracks, colors); … … 454 454 455 455 if(GFDEBUG_DET) G4cout << ">>>>>>>>>>>>>>>>>>>>>> ("; 456 std::vector< float> transformObjects;457 for( int i = 0; i < 3; i++) {456 std::vector<G4float> transformObjects; 457 for(G4int i = 0; i < 3; i++) { 458 458 // need to check!! 459 459 transformObjects.push_back((kVolumeSize[i]/2. - kVoxelDimension[i]/2.)); … … 533 533 534 534 if(GFDEBUG_TRK) G4cout << " trajectory points : " << G4endl; 535 std::vector< float *> trajectory;535 std::vector<G4float *> trajectory; 536 536 if(polyline.size() < 2) return; 537 537 G4Polyline::const_iterator preitr = polyline.begin(); … … 544 544 postPts -= trans; 545 545 postPts.transform(rot); 546 float * stepPts = newfloat[6];546 G4float * stepPts = new G4float[6]; 547 547 stepPts[0] = prePts.x(); 548 548 stepPts[1] = prePts.y(); … … 657 657 658 658 //---------- (3) Facet block 659 for ( int f = polyhedron.GetNoFacets(); f; f--){659 for (G4int f = polyhedron.GetNoFacets(); f; f--){ 660 660 G4int notLastEdge; 661 661 G4int index = -1; // initialization … … 764 764 G4Polyhedron * poly = box.CreatePolyhedron(); 765 765 poly->Transform(*fpObjectTransformation); 766 // int nv = poly->GetNoVertices();766 //G4int nv = poly->GetNoVertices(); 767 767 G4Point3D v1, v2; 768 768 G4int next; 769 769 //while(1) { // next flag isn't functional. 770 for( int i = 0; i < 12; i++) { // # of edges is 12.770 for(G4int i = 0; i < 12; i++) { // # of edges is 12. 771 771 poly->GetNextEdge(v1, v2, next); 772 772 if(next == 0) break; … … 927 927 } 928 928 929 for( int i = 0; i < 3; i++) {929 for(G4int i = 0; i < 3; i++) { 930 930 kNestedVolumeDimension[i] = nDaughters[i]; 931 931 //kNestedVolumeDimension[i] = nDaughters[dirAxis[i]]; … … 940 940 if(nestPara) { 941 941 G4double prexyz[3] = {0.,0.,0.}, xyz[3] = {0.,0.,0.}; 942 for( int n0 = 0; n0 < nDaughters[0]; n0++) {943 for( int n1 = 0; n1 < nDaughters[1]; n1++) {944 for( int n2 = 0; n2 < nDaughters[2]; n2++) {942 for(G4int n0 = 0; n0 < nDaughters[0]; n0++) { 943 for(G4int n1 = 0; n1 < nDaughters[1]; n1++) { 944 for(G4int n2 = 0; n2 < nDaughters[2]; n2++) { 945 945 946 946 G4GMocrenTouchable * touch = new G4GMocrenTouchable(n1, n0); … … 961 961 xyz[2] = tbox.GetZHalfLength()/mm; 962 962 if(n0 != 0 || n1 != 0 || n2 != 0) { 963 for( int i = 0; i < 3; i++) {963 for(G4int i = 0; i < 3; i++) { 964 964 if(xyz[i] != prexyz[i]) G4Exception("Error[gMocrenFileSceneHandler]: Unsupported parameterisation."); 965 965 } … … 980 980 << " density: " << dens << G4endl; 981 981 982 for( int i = 0; i < 3; i++) prexyz[i] = xyz[i];982 for(G4int i = 0; i < 3; i++) prexyz[i] = xyz[i]; 983 983 } 984 984 } … … 990 990 // mesh size 991 991 if(!kbSetModalityVoxelSize) { 992 float spacing[3] = {2*xyz[0], 2*xyz[1], 2*xyz[2]}; 992 G4float spacing[3] = {static_cast<G4float>(2*xyz[0]), 993 static_cast<G4float>(2*xyz[1]), 994 static_cast<G4float>(2*xyz[2])}; 993 995 kgMocrenIO->setVoxelSpacing(spacing); 994 996 kVoxelDimension.set(spacing[0], spacing[1], spacing[2]); … … 1014 1016 G4cout << " physical volume node id : " 1015 1017 << "size: " << npvp << ", PV name: "; 1016 for( int i = 0; i < npvp; i++) {1018 for(G4int i = 0; i < npvp; i++) { 1017 1019 G4cout << pPVModel->GetDrawnPVPath()[i].GetPhysicalVolume()->GetName() 1018 1020 << " [param:" … … 1093 1095 G4int nXY = kNestedVolumeDimension[0]*kNestedVolumeDimension[1]; 1094 1096 1095 for( int n0 = 0; n0 < kNestedVolumeDimension[0]; n0++) {1096 for( int n1 = 0; n1 < kNestedVolumeDimension[1]; n1++) {1097 for( int n2 = 0; n2 < kNestedVolumeDimension[2]; n2++) {1097 for(G4int n0 = 0; n0 < kNestedVolumeDimension[0]; n0++) { 1098 for(G4int n1 = 0; n1 < kNestedVolumeDimension[1]; n1++) { 1099 for(G4int n2 = 0; n2 < kNestedVolumeDimension[2]; n2++) { 1098 1100 1099 1101 G4int repNo = n0 + n1*nX + n2*nXY; … … 1123 1125 // mesh size 1124 1126 if(!kbSetModalityVoxelSize) { 1125 float spacing[3] = {2*phantomPara->GetVoxelHalfX(),1126 2*phantomPara->GetVoxelHalfY(),1127 2*phantomPara->GetVoxelHalfZ()};1127 G4float spacing[3] = {static_cast<G4float>(2*phantomPara->GetVoxelHalfX()), 1128 static_cast<G4float>(2*phantomPara->GetVoxelHalfY()), 1129 static_cast<G4float>(2*phantomPara->GetVoxelHalfZ())}; 1128 1130 kgMocrenIO->setVoxelSpacing(spacing); 1129 1131 kVoxelDimension.set(spacing[0], spacing[1], spacing[2]); … … 1158 1160 1159 1161 // get densities of the parameterized patient geometry 1160 for( int n0 = 0; n0 < kNestedVolumeDimension[0]; n0++) {1161 for( int n1 = 0; n1 < kNestedVolumeDimension[1]; n1++) {1162 for( int n2 = 0; n2 < kNestedVolumeDimension[2]; n2++) {1162 for(G4int n0 = 0; n0 < kNestedVolumeDimension[0]; n0++) { 1163 for(G4int n1 = 0; n1 < kNestedVolumeDimension[1]; n1++) { 1164 for(G4int n2 = 0; n2 < kNestedVolumeDimension[2]; n2++) { 1163 1165 1164 1166 G4double dens = 0.*(g/cm3); … … 1192 1194 // mesh size 1193 1195 if(!kbSetModalityVoxelSize) { 1194 float spacing[3] = {boxSize.x()*2/nVoxels[0],1195 boxSize.y()*2/nVoxels[1],1196 boxSize.z()*2/nVoxels[2]};1196 G4float spacing[3] = {static_cast<G4float>(boxSize.x()*2/nVoxels[0]), 1197 static_cast<G4float>(boxSize.y()*2/nVoxels[1]), 1198 static_cast<G4float>(boxSize.z()*2/nVoxels[2])}; 1197 1199 1198 1200 kgMocrenIO->setVoxelSpacing(spacing); … … 1292 1294 G4cout << " " << tubes.GetName() << G4endl; 1293 1295 G4Polyhedron * poly = tubes.CreatePolyhedron(); 1294 int nv = poly->GetNoVertices();1295 for( int i = 0; i < nv; i++) {1296 G4int nv = poly->GetNoVertices(); 1297 for(G4int i = 0; i < nv; i++) { 1296 1298 G4cout << " (" << poly->GetVertex(i).x() << ", " 1297 1299 << poly->GetVertex(i).y() << ", " … … 1449 1451 if(GFDEBUG_TRK) { 1450 1452 std::cout << " ::AddCompound(const G4VTrajectory&) >>>>>>>>> " << std::endl; 1451 1452 1453 G4TrajectoriesModel * pTrModel = dynamic_cast<G4TrajectoriesModel*>(fpModel); 1453 1454 if (!pTrModel) { … … 1464 1465 G4cout << " momentum: " << trj->GetInitialMomentum() << G4endl; 1465 1466 1466 int nPnt = trj->GetPointEntries();1467 G4int nPnt = trj->GetPointEntries(); 1467 1468 G4cout << " point: "; 1468 for( int i = 0; i < nPnt; i++) {1469 for(G4int i = 0; i < nPnt; i++) { 1469 1470 G4cout << trj->GetPoint(i)->GetPosition() << ", "; 1470 1471 } 1471 1472 G4cout << G4endl; 1472 1473 1474 } 1473 } 1474 G4cout << G4endl; 1475 1475 } 1476 1476 … … 1544 1544 // Get attributes 1545 1545 for(itr = attval->begin(); itr != attval->end(); itr++) { 1546 for( int i = 0; i < nhitname; i++) {1546 for(G4int i = 0; i < nhitname; i++) { 1547 1547 if(itr->GetName() == hitNames[i]) { 1548 1548 … … 1601 1601 1602 1602 1603 //for( int i = 0; i < nhitname; i++) { // this selection trusts1603 //for(G4int i = 0; i < nhitname; i++) { // this selection trusts 1604 1604 //if(scorername == hitScorerNames[i]) { // thea command /vis/scene/add/psHits hit_name. 1605 1605 … … 1630 1630 G4cout << " >>>>> " << meshname << " : " << scorername << G4endl; 1631 1631 1632 for( int i = 0; i < nhitname; i++)1632 for(G4int i = 0; i < nhitname; i++) 1633 1633 if(scorername == hitScorerNames[i]) 1634 1634 G4cout << " !!!! Hit scorer !!!! " << scorername << G4endl; … … 1702 1702 1703 1703 // edge points of the detector 1704 std::vector< float *> dedges;1704 std::vector<G4float *> dedges; 1705 1705 G4Polyhedron * poly = solid.CreatePolyhedron(); 1706 1706 detector.polyhedron = poly; … … 1717 1717 //uccolor[0] = uccolor[1] = uccolor[2] = 30; // dark grey 1718 1718 } 1719 for( int i = 0; i < 3; i++) detector.color[i] = uccolor[i];1719 for(G4int i = 0; i < 3; i++) detector.color[i] = uccolor[i]; 1720 1720 // 1721 1721 kDetectors.push_back(detector); 1722 1722 1723 1723 if(GFDEBUG_DET > 1) { 1724 G4cout << "0 color: (" << ( int)uccolor[0] << ", "1725 << ( int)uccolor[1] << ", " << (int)uccolor[2] << ")"1724 G4cout << "0 color: (" << (G4int)uccolor[0] << ", " 1725 << (G4int)uccolor[1] << ", " << (G4int)uccolor[2] << ")" 1726 1726 << G4endl; 1727 1727 } … … 1742 1742 1743 1743 // edge points of the detector 1744 std::vector< float *> dedges;1744 std::vector<G4float *> dedges; 1745 1745 G4Polyhedron * poly = itr->polyhedron; 1746 1746 poly->Transform(itr->transform3D); … … 1755 1755 while(bnext) { 1756 1756 if(!(poly->GetNextEdge(v1, v2, next))) bnext =false; 1757 float * edge = newfloat[6];1757 G4float * edge = new G4float[6]; 1758 1758 edge[0] = v1.x()/mm; 1759 1759 edge[1] = v1.y()/mm; … … 1772 1772 // 1773 1773 kgMocrenIO->addDetector(detname, dedges, uccolor); 1774 for( int i = 0; i < nedges; i++) { // # of edges is 12.1774 for(G4int i = 0; i < nedges; i++) { // # of edges is 12. 1775 1775 delete [] dedges[i]; 1776 1776 } … … 1778 1778 1779 1779 if(GFDEBUG_DET > 1) { 1780 G4cout << " color: (" << ( int)uccolor[0] << ", "1781 << ( int)uccolor[1] << ", " << (int)uccolor[2] << ")"1780 G4cout << " color: (" << (G4int)uccolor[0] << ", " 1781 << (G4int)uccolor[1] << ", " << (G4int)uccolor[2] << ")" 1782 1782 << G4endl; 1783 1783 } … … 1789 1789 kNestedVolumeDimension[1] == 0 || 1790 1790 kNestedVolumeDimension[2] == 0) { 1791 for( int i = 0; i < 3; i++) _idx3d[i] = 0;1791 for(G4int i = 0; i < 3; i++) _idx3d[i] = 0; 1792 1792 return; 1793 1793 }
Note: See TracChangeset
for help on using the changeset viewer.