Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/extended/medical/DICOM/dicomReader/src/DicomBeamControlPoint.cc

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /examples/extended/medical/DICOM/dicomReader/src/DicomBeamControlPoint.cc (Version 11.3.0) and /examples/extended/medical/DICOM/dicomReader/src/DicomBeamControlPoint.cc (Version 10.6.p3)


  1 //                                                  1 //
  2 // *******************************************      2 // ********************************************************************
  3 // * License and Disclaimer                         3 // * License and Disclaimer                                           *
  4 // *                                                4 // *                                                                  *
  5 // * The  Geant4 software  is  copyright of th      5 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
  6 // * the Geant4 Collaboration.  It is provided      6 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
  7 // * conditions of the Geant4 Software License      7 // * conditions of the Geant4 Software License,  included in the file *
  8 // * LICENSE and available at  http://cern.ch/      8 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
  9 // * include a list of copyright holders.           9 // * include a list of copyright holders.                             *
 10 // *                                               10 // *                                                                  *
 11 // * Neither the authors of this software syst     11 // * Neither the authors of this software system, nor their employing *
 12 // * institutes,nor the agencies providing fin     12 // * institutes,nor the agencies providing financial support for this *
 13 // * work  make  any representation or  warran     13 // * work  make  any representation or  warranty, express or implied, *
 14 // * regarding  this  software system or assum     14 // * regarding  this  software system or assume any liability for its *
 15 // * use.  Please see the license in the file      15 // * use.  Please see the license in the file  LICENSE  and URL above *
 16 // * for the full disclaimer and the limitatio     16 // * for the full disclaimer and the limitation of liability.         *
 17 // *                                               17 // *                                                                  *
 18 // * This  code  implementation is the result      18 // * This  code  implementation is the result of  the  scientific and *
 19 // * technical work of the GEANT4 collaboratio     19 // * technical work of the GEANT4 collaboration.                      *
 20 // * By using,  copying,  modifying or  distri     20 // * By using,  copying,  modifying or  distributing the software (or *
 21 // * any work based  on the software)  you  ag     21 // * any work based  on the software)  you  agree  to acknowledge its *
 22 // * use  in  resulting  scientific  publicati     22 // * use  in  resulting  scientific  publications,  and indicate your *
 23 // * acceptance of all terms of the Geant4 Sof     23 // * acceptance of all terms of the Geant4 Software license.          *
 24 // *******************************************     24 // ********************************************************************
 25 //                                                 25 //
 26 #include "DicomBeamControlPoint.hh"                26 #include "DicomBeamControlPoint.hh"
 27                                                << 
 28 #include "DicomBeamDevicePos.hh"                   27 #include "DicomBeamDevicePos.hh"
 29 #include "dcmtk/dcmrt/seq/drtcps.h"  // for Co << 
 30                                                    28 
                                                   >>  29 #include "dcmtk/dcmrt/seq/drtcps.h"    // for ControlPointSequence
 31 #include "globals.hh"                              30 #include "globals.hh"
 32                                                    31 
 33 //....oooOO0OOooo........oooOO0OOooo........oo     32 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
 34 DicomBeamControlPoint::DicomBeamControlPoint(D <<  33 DicomBeamControlPoint::DicomBeamControlPoint(DRTControlPointSequence::Item cpItem, 
 35                                              D <<  34  DicomBeamControlPoint* point0 )
 36 {                                                  35 {
 37   OFString fstr;                                   36   OFString fstr;
 38   Sint32 fint;                                     37   Sint32 fint;
 39   Float64 ffloat;                                  38   Float64 ffloat;
 40   Float32 ffloat32;                                39   Float32 ffloat32;
 41   OFVector<Float64> fvfloat;                       40   OFVector<Float64> fvfloat;
 42                                                <<  41   
 43   cpItem.getControlPointIndex(fint);               42   cpItem.getControlPointIndex(fint);
 44   G4cout << "  @ DicomBeamControlPoint: " << f     43   G4cout << "  @ DicomBeamControlPoint: " << fint << G4endl;
 45   G4cout << "   "                              <<  44   G4cout << "   " << " ControlPointIndex " << fint << G4endl;
 46          << " ControlPointIndex " << fint << G <<  45   SetIndex( fint );
 47   SetIndex(fint);                              <<  46   if( cpItem.getNominalBeamEnergy(ffloat) != EC_Normal ) {
 48   if (cpItem.getNominalBeamEnergy(ffloat) != E <<  47     if( point0 ) ffloat = point0->GetNominalBeamEnergy();
 49     if (point0) ffloat = point0->GetNominalBea << 
 50   }                                                48   }
 51   G4cout << "   "                              <<  49   G4cout << "   " << " NominalBeamEnergy " << ffloat << G4endl;
 52          << " NominalBeamEnergy " << ffloat << << 
 53   SetNominalBeamEnergy(ffloat);                    50   SetNominalBeamEnergy(ffloat);
 54   cpItem.getDoseRateSet(ffloat);  // != EC_Nor <<  51   cpItem.getDoseRateSet(ffloat); // != EC_Normal ) {
 55   G4cout << "   "                              <<  52   G4cout << "   " << " DoseRateSet " << ffloat << G4endl;
 56          << " DoseRateSet " << ffloat << G4end <<  53   
 57                                                << 
 58   DRTBeamLimitingDevicePositionSequence beamLD     54   DRTBeamLimitingDevicePositionSequence beamLDPS = cpItem.getBeamLimitingDevicePositionSequence();
 59   G4cout << "  @ NUMBER OF BeamLimitingDeviceP     55   G4cout << "  @ NUMBER OF BeamLimitingDevicePositionSequence " << beamLDPS.getNumberOfItems()
 60          << G4endl;                                56          << G4endl;
 61   beamLDPS.gotoFirstItem();                        57   beamLDPS.gotoFirstItem();
 62   for (size_t i3 = 0; i3 < beamLDPS.getNumberO <<  58   for( size_t i3 = 0; i3 < beamLDPS.getNumberOfItems(); i3++ ) {
 63     DRTBeamLimitingDevicePositionSequence::Ite     59     DRTBeamLimitingDevicePositionSequence::Item bldpsItem = beamLDPS.getCurrentItem();
 64     DicomBeamDevicePos* dbd = new DicomBeamDev     60     DicomBeamDevicePos* dbd = new DicomBeamDevicePos(bldpsItem);
 65     AddDevice(dbd);                                61     AddDevice(dbd);
 66                                                <<  62  
 67     beamLDPS.gotoNextItem();                       63     beamLDPS.gotoNextItem();
 68   }                                                64   }
 69                                                <<  65   
 70   cpItem.getGantryAngle(ffloat);                   66   cpItem.getGantryAngle(ffloat);
 71   G4cout << "   "                              <<  67   G4cout << "   " << " GantryAngle " << ffloat << G4endl;
 72          << " GantryAngle " << ffloat << G4end << 
 73                                                    68 
 74   cpItem.getGantryRotationDirection(fstr);  // <<  69   cpItem.getGantryRotationDirection(fstr); //**
 75   G4cout << "   "                              <<  70   G4cout << "   " << " GantryRotationDirection " << fstr << G4endl;
 76          << " GantryRotationDirection " << fst <<  71   if( fstr == "CC" ) { // counter-clockwise
 77   if (fstr == "CC") {  // counter-clockwise    << 
 78     SetGantryAngle(-ffloat);                       72     SetGantryAngle(-ffloat);
 79   }                                            <<  73   } else if( fstr == "CW" || fstr == "NONE" || fstr == "") { // clockwise
 80   else if (fstr == "CW" || fstr == "NONE" || f << 
 81     SetGantryAngle(ffloat);                        74     SetGantryAngle(ffloat);
 82   }                                                75   }
 83   if (cpItem.getBeamLimitingDeviceAngle(ffloat <<  76   if( cpItem.getBeamLimitingDeviceAngle(ffloat) != EC_Normal ) {
 84     if (point0) ffloat = point0->GetBeamLimiti <<  77     if( point0 ) ffloat = point0->GetBeamLimitingDeviceAngle();
 85   }                                                78   }
 86   G4cout << "   "                              <<  79   G4cout << "   " << " BeamLimitingDeviceAngle " << ffloat << G4endl;
 87          << " BeamLimitingDeviceAngle " << ffl << 
 88                                                    80 
 89   if (cpItem.getBeamLimitingDeviceRotationDire <<  81   if( cpItem.getBeamLimitingDeviceRotationDirection(fstr) != EC_Normal ) {
 90     if (point0) fstr = point0->GetBeamLimiting <<  82     if( point0 ) fstr = point0->GetBeamLimitingDeviceRotationDirection();
 91   }                                                83   }
 92   if (fstr == "CC") {  // counter-clockwise    <<  84   if( fstr == "CC" ) { // counter-clockwise
 93     SetBeamLimitingDeviceAngle(-ffloat);           85     SetBeamLimitingDeviceAngle(-ffloat);
 94   }                                            <<  86   } else if( fstr == "CW" || fstr == "NONE" || fstr == "") { // clockwise
 95   else if (fstr == "CW" || fstr == "NONE" || f << 
 96     SetBeamLimitingDeviceAngle(ffloat);            87     SetBeamLimitingDeviceAngle(ffloat);
 97   }                                            <<  88   }   
 98   G4cout << "   "                              <<  89   G4cout << "   " << " BeamLimitingDeviceRotationDirection " << fstr << G4endl;
 99          << " BeamLimitingDeviceRotationDirect << 
100   SetBeamLimitingDeviceRotationDirection(fstr)     90   SetBeamLimitingDeviceRotationDirection(fstr);
101                                                    91 
102   if (cpItem.getPatientSupportAngle(ffloat) != <<  92   if( cpItem.getPatientSupportAngle(ffloat) != EC_Normal ) {
103     if (point0) fstr = point0->GetPatientSuppo <<  93     if( point0 ) fstr = point0->GetPatientSupportAngle();
104   }                                                94   }
105   G4cout << "   "                              <<  95   G4cout << "   " << " PatientSupportAngle " << ffloat << G4endl;
106          << " PatientSupportAngle " << ffloat  << 
107                                                    96 
108   if (cpItem.getPatientSupportRotationDirectio <<  97   if( cpItem.getPatientSupportRotationDirection(fstr) != EC_Normal ) {
109     if (point0) fstr = point0->GetPatientSuppo <<  98     if( point0 ) fstr = point0->GetPatientSupportRotationDirection();
110   }                                                99   }
111   G4cout << "   "                              << 100   G4cout << "   " << " PatientSupportRotationDirection " << fstr << G4endl;
112          << " PatientSupportRotationDirection  << 
113   SetPatientSupportRotationDirection(fstr);       101   SetPatientSupportRotationDirection(fstr);
114   if (fstr == "CC") {  // counter-clockwise    << 102   if( fstr == "CC" ) { // counter-clockwise
115     SetPatientSupportAngle(-ffloat);              103     SetPatientSupportAngle(-ffloat);
116   }                                            << 104   } else if( fstr == "CW" || fstr == "NONE" || fstr == "") { // clockwise
117   else if (fstr == "CW" || fstr == "NONE" || f << 
118     SetPatientSupportAngle(ffloat);               105     SetPatientSupportAngle(ffloat);
119   }                                               106   }
120                                                   107 
121   if (cpItem.getTableTopEccentricAngle(ffloat) << 108   if( cpItem.getTableTopEccentricAngle(ffloat) != EC_Normal ) {
122     if (point0) ffloat = point0->GetTableTopEc << 109     if( point0 ) ffloat = point0->GetTableTopEccentricAngle();
123   }                                               110   }
124   G4cout << "   "                              << 111   G4cout << "   " << " TableTopEccentricAngle " << ffloat << G4endl;
125          << " TableTopEccentricAngle " << fflo << 
126                                                   112 
127   if (cpItem.getTableTopEccentricRotationDirec << 113   if( cpItem.getTableTopEccentricRotationDirection(fstr) != EC_Normal ) {
128     if (point0) fstr = point0->GetTableTopEcce << 114     if( point0 ) fstr = point0->GetTableTopEccentricRotationDirection();
129   }                                               115   }
130   if (fstr == "CC") {  // counter-clockwise    << 116   if( fstr == "CC" ) { // counter-clockwise
131     SetTableTopEccentricAngle(-ffloat);           117     SetTableTopEccentricAngle(-ffloat);
132   }                                            << 118   } else if( fstr == "CW" || fstr == "NONE" || fstr == "") { // clockwise
133   else if (fstr == "CW" || fstr == "NONE" || f << 
134     SetTableTopEccentricAngle(ffloat);            119     SetTableTopEccentricAngle(ffloat);
135   }                                               120   }
136   G4cout << "   "                              << 121   G4cout << "   " << " TableTopEccentricRotationDirection " << fstr << G4endl;
137          << " TableTopEccentricRotationDirecti << 
138   SetTableTopEccentricRotationDirection(fstr);    122   SetTableTopEccentricRotationDirection(fstr);
139                                                   123 
140   G4ThreeVector isoCenter;                        124   G4ThreeVector isoCenter;
141   if (cpItem.getIsocenterPosition(fvfloat) !=  << 125   if( cpItem.getIsocenterPosition(fvfloat) != EC_Normal ) {
142     if (point0) isoCenter = point0->GetIsocent << 126     if( point0 ) isoCenter = point0->GetIsocenterPosition();
                                                   >> 127   } else {
                                                   >> 128     isoCenter = G4ThreeVector(fvfloat[0],fvfloat[1],fvfloat[2]);
143   }                                               129   }
144   else {                                       << 130   G4cout << "   " << " IsocenterPosition " << isoCenter << G4endl;
145     isoCenter = G4ThreeVector(fvfloat[0], fvfl << 
146   }                                            << 
147   G4cout << "   "                              << 
148          << " IsocenterPosition " << isoCenter << 
149   SetIsocenterPosition(isoCenter);                131   SetIsocenterPosition(isoCenter);
150                                                   132 
151   if (cpItem.getSourceToSurfaceDistance(ffloat << 133   if( cpItem.getSourceToSurfaceDistance(ffloat) != EC_Normal ) {
152     if (point0) ffloat = point0->GetSourceToSu << 134     if( point0 ) ffloat = point0->GetSourceToSurfaceDistance();
153   }                                               135   }
154   G4cout << "   "                              << 136   G4cout << "   " << " SourceToSurfaceDistance " << ffloat << G4endl;
155          << " SourceToSurfaceDistance " << ffl << 
156   SetSourceToSurfaceDistance(ffloat);             137   SetSourceToSurfaceDistance(ffloat);
157                                                   138 
158   cpItem.getCumulativeMetersetWeight(ffloat);     139   cpItem.getCumulativeMetersetWeight(ffloat);
159   G4cout << "   "                              << 140   G4cout << "   " << " CumulativeMetersetWeight " << ffloat << G4endl;
160          << " CumulativeMetersetWeight " << ff << 
161   SetCumulativeMetersetWeight(ffloat);            141   SetCumulativeMetersetWeight(ffloat);
162                                                << 142   
163   if (cpItem.getGantryPitchAngle(ffloat32) !=  << 143   if( cpItem.getGantryPitchAngle(ffloat32) != EC_Normal ) {
164     if (point0) ffloat32 = point0->GetGantryPi << 144     if( point0 ) ffloat32 = point0->GetGantryPitchAngle();
165   }                                               145   }
166   G4cout << "   "                              << 146   G4cout << "   " << " GantryPitchAngle " << ffloat32 << G4endl;
167          << " GantryPitchAngle " << ffloat32 < << 
168   SetGantryPitchAngle(ffloat32);                  147   SetGantryPitchAngle(ffloat32);
169                                                   148 
170   if (cpItem.getSurfaceEntryPoint(ffloat) != E << 149   if( cpItem.getSurfaceEntryPoint(ffloat) != EC_Normal ) {
171     if (point0) ffloat = point0->GetSurfaceEnt << 150     if( point0 ) ffloat = point0->GetSurfaceEntryPoint();
172   }                                               151   }
173   G4cout << "   "                              << 152   G4cout << "   " << " SurfaceEntryPoint " << ffloat << G4endl;
174          << " SurfaceEntryPoint " << ffloat << << 
175   SetSurfaceEntryPoint(ffloat);                   153   SetSurfaceEntryPoint(ffloat);
176                                                   154 
177   if (cpItem.getTableTopEccentricAxisDistance( << 155   if( cpItem.getTableTopEccentricAxisDistance(ffloat) != EC_Normal ) {
178     if (point0) ffloat = point0->GetTableTopEc << 156     if( point0 ) ffloat = point0->GetTableTopEccentricAxisDistance();
179   }                                               157   }
180   G4cout << "   "                              << 158   G4cout << "   " << " TableTopEccentricAxisDistance " << ffloat << G4endl;
181          << " TableTopEccentricAxisDistance "  << 
182   SetTableTopEccentricAxisDistance(ffloat);       159   SetTableTopEccentricAxisDistance(ffloat);
183                                                   160 
184   if (cpItem.getTableTopLateralPosition(ffloat << 161   if( cpItem.getTableTopLateralPosition(ffloat) != EC_Normal ) {
185     if (point0) ffloat = point0->GetTableTopLa << 162     if( point0 ) ffloat = point0->GetTableTopLateralPosition();
186   }                                               163   }
187   G4cout << "   "                              << 164   G4cout << "   " << " TableTopLateralPosition " << ffloat << G4endl;
188          << " TableTopLateralPosition " << ffl << 
189   SetTableTopLateralPosition(ffloat);             165   SetTableTopLateralPosition(ffloat);
190                                                   166 
191   if (cpItem.getTableTopLongitudinalPosition(f << 167   if( cpItem.getTableTopLongitudinalPosition(ffloat) != EC_Normal ) {
192     if (point0) ffloat = point0->GetTableTopLo << 168     if( point0 ) ffloat = point0->GetTableTopLongitudinalPosition();
193   }                                               169   }
194   G4cout << "   "                              << 170   G4cout << "   " << " TableTopLongitudinalPosition " << ffloat << G4endl;
195          << " TableTopLongitudinalPosition " < << 
196   SetTableTopLongitudinalPosition(ffloat);        171   SetTableTopLongitudinalPosition(ffloat);
197                                                   172 
198   if (cpItem.getTableTopPitchAngle(ffloat32) ! << 173   if( cpItem.getTableTopPitchAngle(ffloat32) != EC_Normal ) {
199     if (point0) ffloat32 = point0->GetTableTop << 174     if( point0 ) ffloat32 = point0->GetTableTopPitchAngle();
200   }                                               175   }
201   G4cout << "   "                              << 176   G4cout << "   " << " TableTopPitchAngle " << ffloat32 << G4endl;
202          << " TableTopPitchAngle " << ffloat32 << 
203                                                   177 
204   if (cpItem.getTableTopPitchRotationDirection << 178   if( cpItem.getTableTopPitchRotationDirection(fstr) != EC_Normal ) {
205     if (point0) fstr = point0->GetTableTopPitc << 179     if( point0 ) fstr = point0->GetTableTopPitchRotationDirection();
206   }                                               180   }
207   if (fstr == "CC") {  // counter-clockwise    << 181   if( fstr == "CC" ) { // counter-clockwise
208     SetTableTopPitchAngle(-ffloat32);             182     SetTableTopPitchAngle(-ffloat32);
209   }                                            << 183   } else if( fstr == "CW" || fstr == "NONE" || fstr == "") { // clockwise
210   else if (fstr == "CW" || fstr == "NONE" || f << 
211     SetTableTopPitchAngle(ffloat32);              184     SetTableTopPitchAngle(ffloat32);
212   }                                               185   }
213   G4cout << "   "                              << 186   G4cout << "   " << " TableTopPitchRotationDirection " << fstr << G4endl;
214          << " TableTopPitchRotationDirection " << 
215   SetTableTopPitchRotationDirection(fstr);        187   SetTableTopPitchRotationDirection(fstr);
216                                                   188 
217   if (cpItem.getTableTopRollAngle(ffloat32) != << 189   if( cpItem.getTableTopRollAngle(ffloat32) != EC_Normal ) {
218     if (point0) ffloat32 = point0->GetTableTop << 190     if( point0 ) ffloat32 = point0->GetTableTopRollAngle();
219   }                                               191   }
220   G4cout << "   "                              << 192   G4cout << "   " << " TableTopRollAngle " << ffloat32 << G4endl;
221          << " TableTopRollAngle " << ffloat32  << 
222                                                   193 
223   if (cpItem.getTableTopRollRotationDirection( << 194   if( cpItem.getTableTopRollRotationDirection(fstr) != EC_Normal ) {
224     if (point0) fstr = point0->GetTableTopRoll << 195     if( point0 ) fstr = point0->GetTableTopRollRotationDirection();
225   }                                               196   }
226   if (fstr == "CC") {  // counter-clockwise    << 197   if( fstr == "CC" ) { // counter-clockwise
227     SetTableTopRollAngle(-ffloat32);              198     SetTableTopRollAngle(-ffloat32);
228   }                                            << 199   } else if( fstr == "CW" || fstr == "NONE" || fstr == "") { // clockwise
229   else if (fstr == "CW" || fstr == "NONE" || f << 
230     SetTableTopRollAngle(ffloat32);               200     SetTableTopRollAngle(ffloat32);
231   }                                               201   }
232   G4cout << "   "                              << 202   G4cout << "   " << " TableTopRollRotationDirection " << fstr << G4endl;
233          << " TableTopRollRotationDirection "  << 
234   SetTableTopRollRotationDirection(fstr);         203   SetTableTopRollRotationDirection(fstr);
235                                                   204 
236   if (cpItem.getTableTopVerticalPosition(ffloa << 205   if( cpItem.getTableTopVerticalPosition(ffloat) != EC_Normal ) {
237     if (point0) ffloat = point0->GetTableTopVe << 206     if( point0 ) ffloat = point0->GetTableTopVerticalPosition();
238   }                                               207   }
239   G4cout << "   "                              << 208   G4cout << "   " << " TableTopVerticalPosition " << ffloat << G4endl;
240          << " TableTopVerticalPosition " << ff << 
241   SetTableTopVerticalPosition(ffloat);            209   SetTableTopVerticalPosition(ffloat);
242                                                << 210   
243   // --- get DICOM sequence attributes ---        211   // --- get DICOM sequence attributes ---
244   // t        DRTWedgePositionSequence &getWed << 212   //t        DRTWedgePositionSequence &getWedgePositionSequence()
245   // t        const DRTWedgePositionSequence & << 213   //t        const DRTWedgePositionSequence &getWedgePositionSequence() const
246 }                                                 214 }
247                                                   215 
248 //....oooOO0OOooo........oooOO0OOooo........oo    216 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
249 void DicomBeamControlPoint::Print(std::ostream << 217 void DicomBeamControlPoint::Print( std::ostream&  )
                                                   >> 218 {
                                                   >> 219 
                                                   >> 220 }
250                                                   221 
251 //....oooOO0OOooo........oooOO0OOooo........oo    222 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
252 void DicomBeamControlPoint::DumpToFile(std::of << 223 void DicomBeamControlPoint::DumpToFile( std::ofstream& fout )
253 {                                                 224 {
254   fout << ":P ControlPointIndex " << theIndex     225   fout << ":P ControlPointIndex " << theIndex << G4endl;
255   fout << ":P NominalBeamEnergy " << theNomina    226   fout << ":P NominalBeamEnergy " << theNominalBeamEnergy << G4endl;
256   fout << ":P IsocenterPositionX " << theIsoce    227   fout << ":P IsocenterPositionX " << theIsocenterPosition.x() << G4endl;
257   fout << ":P IsocenterPositionY " << theIsoce    228   fout << ":P IsocenterPositionY " << theIsocenterPosition.y() << G4endl;
258   fout << ":P IsocenterPositionZ " << theIsoce    229   fout << ":P IsocenterPositionZ " << theIsocenterPosition.z() << G4endl;
259                                                   230 
260   //  std::string iistr = std::to_string(theCo    231   //  std::string iistr = std::to_string(theControlPointIndex);
261   fout << ":P SourceToSurfaceDistance " << the    232   fout << ":P SourceToSurfaceDistance " << theSourceToSurfaceDistance << G4endl;
262   fout << ":P GantryAngle " << theGantryAngle     233   fout << ":P GantryAngle " << theGantryAngle << G4endl;
263   fout << ":P BeamLimitingDeviceAngle " << the    234   fout << ":P BeamLimitingDeviceAngle " << theBeamLimitingDeviceAngle << G4endl;
264   fout << ":P PatientSupportAngle " << thePati    235   fout << ":P PatientSupportAngle " << thePatientSupportAngle << G4endl;
265   fout << ":P TableTopEccentricAngle " << theT    236   fout << ":P TableTopEccentricAngle " << theTableTopEccentricAngle << G4endl;
266   fout << ":P SourceToSurfaceDistance " << the << 237   fout << ":P SourceToSurfaceDistance " << theSourceToSurfaceDistance<< G4endl;
267   fout << ":P MetersetWeight " << theMetersetW << 238   fout << ":P MetersetWeight " << theMetersetWeight<< G4endl;
268   fout << ":P GantryPitchAngle " << theGantryP    239   fout << ":P GantryPitchAngle " << theGantryPitchAngle << G4endl;
269   fout << ":P SurfaceEntryPoint " << theSurfac    240   fout << ":P SurfaceEntryPoint " << theSurfaceEntryPoint << G4endl;
270   fout << ":P TableTopEccentricAxisDistance "     241   fout << ":P TableTopEccentricAxisDistance " << theTableTopEccentricAxisDistance << G4endl;
271   fout << ":P TableTopLateralPosition " << the    242   fout << ":P TableTopLateralPosition " << theTableTopLateralPosition << G4endl;
272   fout << ":P TableTopLongitudinalPosition " < << 243   fout << ":P TableTopLongitudinalPosition " << theTableTopLongitudinalPosition<< G4endl; 
273   fout << ":P TableTopPitchAngle " << theTable    244   fout << ":P TableTopPitchAngle " << theTableTopPitchAngle << G4endl;
274   fout << ":P TableTopRollAngle " << theTableT    245   fout << ":P TableTopRollAngle " << theTableTopRollAngle << G4endl;
275   fout << ":P TableTopVerticalPosition " << th    246   fout << ":P TableTopVerticalPosition " << theTableTopVerticalPosition << G4endl;
276                                                   247 
277   for (size_t ii = 0; ii < theDevices.size();  << 248   for( size_t ii = 0; ii < theDevices.size(); ii++ ){
278     theDevices[ii]->DumpToFile(fout);             249     theDevices[ii]->DumpToFile(fout);
279   }                                               250   }
                                                   >> 251   
280 }                                                 252 }
281                                                   253