Ignore:
Timestamp:
May 27, 2010, 10:36:45 AM (14 years ago)
Author:
garnier
Message:

update...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/visualization/gMocren/src/G4GMocrenFileSceneHandler.cc

    r1228 r1274  
    2525//
    2626//
    27 // $Id: G4GMocrenFileSceneHandler.cc,v 1.12 2009/12/03 11:44:42 akimura Exp $
     27// $Id: G4GMocrenFileSceneHandler.cc,v 1.14 2010/05/11 10:44:11 allison Exp $
    2828// GEANT4 tag $Name:  $
    2929//
     
    9393
    9494//-- for a debugging
    95 const bool GFDEBUG = false;
    96 const bool GFDEBUG_TRK = false;//true;
    97 const bool GFDEBUG_HIT = false;//true;
     95const G4bool GFDEBUG = false;
     96const G4bool GFDEBUG_TRK = false;//true;
     97const G4bool GFDEBUG_HIT = false;//true;
    9898const G4int GFDEBUG_DET = 0; // 0: false
    9999
     
    170170  kbSetModalityVoxelSize = false;
    171171
    172   for(int i = 0; i < 3; i++) {
     172  for(G4int i = 0; i < 3; i++) {
    173173    kModalitySize[i] = 0;
    174174    kNestedVolumeDimension[i] = 0;
     
    182182{
    183183  // 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 ;
    185185
    186186  // dest directory (null if no environmental variables is set)
     
    191191
    192192  // 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++) {
    195195
    196196    // Message in the final execution
     
    268268    minmax[1] = ctdens.GetMaxCT();
    269269    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++) {
    273273      dens = ctdens.GetDensity(i);
    274274      map.push_back(dens);
     
    283283      ifile >> minmax[0] >> minmax[1];
    284284      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++) {
    288288        ifile >> dens;
    289289        map.push_back(dens);
     
    329329    kFlagSaving_g4_gdd = false;
    330330
    331     std::map<Index3D, float>::iterator itr = kNestedModality.begin();
     331    std::map<Index3D, G4float>::iterator itr = kNestedModality.begin();
    332332    G4int xmax=0, ymax=0, zmax=0;
    333333    for(; itr != kNestedModality.end(); itr++) {
     
    347347
    348348    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++) {
    351351      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--) {
    355355          //G4int ixy = x + (kModalitySize[1]-y-1)*kModalitySize[0];
    356356
     
    377377    std::map<G4String, std::map<Index3D, G4double> >::iterator hitsListItr = kNestedHitsList.begin();
    378378
    379     for(int n = 0; hitsListItr != kNestedHitsList.end(); hitsListItr++, n++) {
     379    for(G4int n = 0; hitsListItr != kNestedHitsList.end(); hitsListItr++, n++) {
    380380
    381381      kgMocrenIO->newDoseDist();
     
    384384
    385385      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++) {
    387387        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++) {
    390390
    391391            G4int ixy = x + y*kModalitySize[0];
     
    421421      rot = kVolumeTrans3D.getRotation().inverse();
    422422      // x
    423       std::vector<float *> tracks;
     423      std::vector<G4float *> tracks;
    424424      unsigned char colors[3];
    425       float * trk = new float[6];
     425      G4float * trk = new G4float[6];
    426426      tracks.push_back(trk);
    427427
     
    435435      za -= trans;
    436436      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];
    439439      colors[0] = 255; colors[1] = 0; colors[2] = 0;
    440440      kgMocrenIO->addTrack(tracks, colors);
    441441      // 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];
    443443      colors[0] = 0; colors[1] = 255; colors[2] = 0;
    444444      kgMocrenIO->addTrack(tracks, colors);
    445445      // 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];
    447447      colors[0] = 0; colors[1] = 0; colors[2] = 255;
    448448      kgMocrenIO->addTrack(tracks, colors);
     
    454454
    455455    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++) {
    458458      // need to check!!
    459459      transformObjects.push_back((kVolumeSize[i]/2. - kVoxelDimension[i]/2.));
     
    533533
    534534    if(GFDEBUG_TRK) G4cout << "   trajectory points : " << G4endl;
    535     std::vector<float *> trajectory;
     535    std::vector<G4float *> trajectory;
    536536    if(polyline.size() < 2) return;
    537537    G4Polyline::const_iterator preitr = polyline.begin();
     
    544544      postPts -= trans;
    545545      postPts.transform(rot);
    546       float * stepPts = new float[6];
     546      G4float * stepPts = new G4float[6];
    547547      stepPts[0] = prePts.x();
    548548      stepPts[1] = prePts.y();
     
    657657
    658658  //---------- (3) Facet block
    659   for (int f = polyhedron.GetNoFacets(); f; f--){
     659  for (G4int f = polyhedron.GetNoFacets(); f; f--){
    660660    G4int notLastEdge;
    661661    G4int index = -1; // initialization
     
    764764    G4Polyhedron * poly = box.CreatePolyhedron();
    765765    poly->Transform(*fpObjectTransformation);
    766     //int nv = poly->GetNoVertices();
     766    //G4int nv = poly->GetNoVertices();
    767767    G4Point3D v1, v2;
    768768    G4int next;
    769769    //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.
    771771      poly->GetNextEdge(v1, v2, next);
    772772      if(next == 0) break;
     
    927927      }
    928928     
    929       for(int i = 0; i < 3; i++) {
     929      for(G4int i = 0; i < 3; i++) {
    930930        kNestedVolumeDimension[i] = nDaughters[i];
    931931        //kNestedVolumeDimension[i] = nDaughters[dirAxis[i]];
     
    940940      if(nestPara) {
    941941        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++) {
    945945                 
    946946              G4GMocrenTouchable * touch = new G4GMocrenTouchable(n1, n0);
     
    961961              xyz[2] = tbox.GetZHalfLength()/mm;
    962962              if(n0 != 0 || n1 != 0 || n2 != 0) {
    963                 for(int i = 0; i < 3; i++) {
     963                for(G4int i = 0; i < 3; i++) {
    964964                  if(xyz[i] != prexyz[i]) G4Exception("Error[gMocrenFileSceneHandler]: Unsupported parameterisation.");
    965965                }
     
    980980                       << "  density: " << dens << G4endl;
    981981
    982               for(int i = 0; i < 3; i++) prexyz[i] = xyz[i];
     982              for(G4int i = 0; i < 3; i++) prexyz[i] = xyz[i];
    983983            }
    984984          }
     
    990990        // mesh size
    991991        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])};
    993995          kgMocrenIO->setVoxelSpacing(spacing);
    994996          kVoxelDimension.set(spacing[0], spacing[1], spacing[2]);
     
    10141016          G4cout << "     physical volume node id : "
    10151017                 << "size: " << npvp << ", PV name: ";
    1016           for(int i = 0; i < npvp; i++) {
     1018          for(G4int i = 0; i < npvp; i++) {
    10171019            G4cout << pPVModel->GetDrawnPVPath()[i].GetPhysicalVolume()->GetName()
    10181020                   << " [param:"
     
    10931095      G4int nXY = kNestedVolumeDimension[0]*kNestedVolumeDimension[1];
    10941096
    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++) {
    10981100
    10991101            G4int repNo = n0 + n1*nX + n2*nXY;
     
    11231125      // mesh size
    11241126      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())};
    11281130        kgMocrenIO->setVoxelSpacing(spacing);
    11291131        kVoxelDimension.set(spacing[0], spacing[1], spacing[2]);
     
    11581160
    11591161    // 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++) {
    11631165
    11641166          G4double dens = 0.*(g/cm3);
     
    11921194    // mesh size
    11931195    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])};
    11971199
    11981200      kgMocrenIO->setVoxelSpacing(spacing);
     
    12921294    G4cout << "    " << tubes.GetName() << G4endl;
    12931295    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++) {
    12961298      G4cout << "    (" << poly->GetVertex(i).x() << ", "
    12971299             << poly->GetVertex(i).y() << ", "
     
    14491451  if(GFDEBUG_TRK) {
    14501452    std::cout << " ::AddCompound(const G4VTrajectory&) >>>>>>>>> " << std::endl;
    1451 
    14521453    G4TrajectoriesModel * pTrModel = dynamic_cast<G4TrajectoriesModel*>(fpModel);
    14531454    if (!pTrModel) {
     
    14641465      G4cout << "    momentum: " << trj->GetInitialMomentum() << G4endl;
    14651466     
    1466       int nPnt = trj->GetPointEntries();
     1467      G4int nPnt = trj->GetPointEntries();
    14671468      G4cout << "    point:    ";
    1468       for(int i = 0; i < nPnt; i++) {
     1469      for(G4int i = 0; i < nPnt; i++) {
    14691470        G4cout << trj->GetPoint(i)->GetPosition() << ", ";
    14701471      }
    14711472      G4cout << G4endl;
    1472 
    1473 
    1474     }
     1473    }
     1474    G4cout << G4endl;
    14751475  }
    14761476
     
    15441544      // Get attributes
    15451545      for(itr = attval->begin(); itr != attval->end(); itr++) {
    1546         for(int i = 0; i < nhitname; i++) {
     1546        for(G4int i = 0; i < nhitname; i++) {
    15471547          if(itr->GetName() == hitNames[i]) {
    15481548
     
    16011601 
    16021602
    1603   //for(int i = 0; i < nhitname; i++) {       // this selection trusts
     1603  //for(G4int i = 0; i < nhitname; i++) {       // this selection trusts
    16041604    //if(scorername == hitScorerNames[i]) {   // thea command /vis/scene/add/psHits hit_name.
    16051605
     
    16301630    G4cout << "       >>>>> " << meshname << " : " << scorername  << G4endl;
    16311631
    1632     for(int i = 0; i < nhitname; i++)
     1632    for(G4int i = 0; i < nhitname; i++)
    16331633      if(scorername == hitScorerNames[i])
    16341634        G4cout << "       !!!! Hit scorer !!!! " << scorername << G4endl;
     
    17021702
    17031703  // edge points of the detector
    1704   std::vector<float *> dedges;
     1704  std::vector<G4float *> dedges;
    17051705  G4Polyhedron * poly = solid.CreatePolyhedron();
    17061706  detector.polyhedron = poly;
     
    17171717    //uccolor[0] = uccolor[1] = uccolor[2] = 30; // dark grey
    17181718  }
    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];
    17201720  //
    17211721  kDetectors.push_back(detector);
    17221722
    17231723  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] << ")"
    17261726           << G4endl;
    17271727  }
     
    17421742
    17431743    // edge points of the detector
    1744     std::vector<float *> dedges;
     1744    std::vector<G4float *> dedges;
    17451745    G4Polyhedron * poly = itr->polyhedron;
    17461746    poly->Transform(itr->transform3D);
     
    17551755    while(bnext) {
    17561756      if(!(poly->GetNextEdge(v1, v2, next))) bnext =false;
    1757       float * edge = new float[6];
     1757      G4float * edge = new G4float[6];
    17581758      edge[0] = v1.x()/mm;
    17591759      edge[1] = v1.y()/mm;
     
    17721772    //
    17731773    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.
    17751775      delete [] dedges[i];
    17761776    }
     
    17781778
    17791779    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] << ")"
    17821782             << G4endl;
    17831783    }
     
    17891789     kNestedVolumeDimension[1] == 0 ||
    17901790     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;
    17921792    return;
    17931793  }
Note: See TracChangeset for help on using the changeset viewer.