29 #include "dcmtk/dcmrt/seq/drtcps.h"
40 OFVector<Float64> fvfloat;
42 cpItem.getControlPointIndex(fint);
43 G4cout <<
" @ DicomBeamControlPoint: " << fint <<
G4endl;
44 G4cout <<
" " <<
" ControlPointIndex " << fint <<
G4endl;
46 if( cpItem.getNominalBeamEnergy(ffloat) != EC_Normal ) {
49 G4cout <<
" " <<
" NominalBeamEnergy " << ffloat <<
G4endl;
51 cpItem.getDoseRateSet(ffloat);
54 DRTBeamLimitingDevicePositionSequence beamLDPS = cpItem.getBeamLimitingDevicePositionSequence();
55 G4cout <<
" @ NUMBER OF BeamLimitingDevicePositionSequence " << beamLDPS.getNumberOfItems()
57 beamLDPS.gotoFirstItem();
58 for(
size_t i3 = 0; i3 < beamLDPS.getNumberOfItems(); i3++ ) {
59 DRTBeamLimitingDevicePositionSequence::Item bldpsItem = beamLDPS.getCurrentItem();
63 beamLDPS.gotoNextItem();
66 cpItem.getGantryAngle(ffloat);
69 cpItem.getGantryRotationDirection(fstr);
70 G4cout <<
" " <<
" GantryRotationDirection " << fstr <<
G4endl;
73 }
else if( fstr ==
"CW" || fstr ==
"NONE" || fstr ==
"") {
76 if( cpItem.getBeamLimitingDeviceAngle(ffloat) != EC_Normal ) {
79 G4cout <<
" " <<
" BeamLimitingDeviceAngle " << ffloat <<
G4endl;
81 if( cpItem.getBeamLimitingDeviceRotationDirection(fstr) != EC_Normal ) {
86 }
else if( fstr ==
"CW" || fstr ==
"NONE" || fstr ==
"") {
89 G4cout <<
" " <<
" BeamLimitingDeviceRotationDirection " << fstr <<
G4endl;
92 if( cpItem.getPatientSupportAngle(ffloat) != EC_Normal ) {
95 G4cout <<
" " <<
" PatientSupportAngle " << ffloat <<
G4endl;
97 if( cpItem.getPatientSupportRotationDirection(fstr) != EC_Normal ) {
100 G4cout <<
" " <<
" PatientSupportRotationDirection " << fstr <<
G4endl;
104 }
else if( fstr ==
"CW" || fstr ==
"NONE" || fstr ==
"") {
108 if( cpItem.getTableTopEccentricAngle(ffloat) != EC_Normal ) {
111 G4cout <<
" " <<
" TableTopEccentricAngle " << ffloat <<
G4endl;
113 if( cpItem.getTableTopEccentricRotationDirection(fstr) != EC_Normal ) {
118 }
else if( fstr ==
"CW" || fstr ==
"NONE" || fstr ==
"") {
121 G4cout <<
" " <<
" TableTopEccentricRotationDirection " << fstr <<
G4endl;
125 if( cpItem.getIsocenterPosition(fvfloat) != EC_Normal ) {
130 G4cout <<
" " <<
" IsocenterPosition " << isoCenter <<
G4endl;
133 if( cpItem.getSourceToSurfaceDistance(ffloat) != EC_Normal ) {
136 G4cout <<
" " <<
" SourceToSurfaceDistance " << ffloat <<
G4endl;
139 cpItem.getCumulativeMetersetWeight(ffloat);
140 G4cout <<
" " <<
" CumulativeMetersetWeight " << ffloat <<
G4endl;
143 if( cpItem.getGantryPitchAngle(ffloat32) != EC_Normal ) {
146 G4cout <<
" " <<
" GantryPitchAngle " << ffloat32 <<
G4endl;
149 if( cpItem.getSurfaceEntryPoint(ffloat) != EC_Normal ) {
152 G4cout <<
" " <<
" SurfaceEntryPoint " << ffloat <<
G4endl;
155 if( cpItem.getTableTopEccentricAxisDistance(ffloat) != EC_Normal ) {
158 G4cout <<
" " <<
" TableTopEccentricAxisDistance " << ffloat <<
G4endl;
161 if( cpItem.getTableTopLateralPosition(ffloat) != EC_Normal ) {
164 G4cout <<
" " <<
" TableTopLateralPosition " << ffloat <<
G4endl;
167 if( cpItem.getTableTopLongitudinalPosition(ffloat) != EC_Normal ) {
170 G4cout <<
" " <<
" TableTopLongitudinalPosition " << ffloat <<
G4endl;
173 if( cpItem.getTableTopPitchAngle(ffloat32) != EC_Normal ) {
176 G4cout <<
" " <<
" TableTopPitchAngle " << ffloat32 <<
G4endl;
178 if( cpItem.getTableTopPitchRotationDirection(fstr) != EC_Normal ) {
183 }
else if( fstr ==
"CW" || fstr ==
"NONE" || fstr ==
"") {
186 G4cout <<
" " <<
" TableTopPitchRotationDirection " << fstr <<
G4endl;
189 if( cpItem.getTableTopRollAngle(ffloat32) != EC_Normal ) {
192 G4cout <<
" " <<
" TableTopRollAngle " << ffloat32 <<
G4endl;
194 if( cpItem.getTableTopRollRotationDirection(fstr) != EC_Normal ) {
199 }
else if( fstr ==
"CW" || fstr ==
"NONE" || fstr ==
"") {
202 G4cout <<
" " <<
" TableTopRollRotationDirection " << fstr <<
G4endl;
205 if( cpItem.getTableTopVerticalPosition(ffloat) != EC_Normal ) {
208 G4cout <<
" " <<
" TableTopVerticalPosition " << ffloat <<
G4endl;
248 for(
size_t ii = 0; ii <
theDevices.size(); ii++ ){