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++ ){
Float64 GetTableTopLongitudinalPosition() const
OFString GetBeamLimitingDeviceRotationDirection() const
void SetTableTopLateralPosition(Float64 dat)
CLHEP::Hep3Vector G4ThreeVector
Float64 theTableTopEccentricAngle
G4ThreeVector theIsocenterPosition
Float64 GetBeamLimitingDeviceAngle() const
Float64 GetSourceToSurfaceDistance() const
void SetSurfaceEntryPoint(Float64 dat)
void SetTableTopRollRotationDirection(OFString dat)
Float64 theSurfaceEntryPoint
OFString GetTableTopEccentricRotationDirection() const
Float64 theTableTopEccentricAxisDistance
Float64 theTableTopLateralPosition
void SetGantryPitchAngle(Float32 dat)
void DumpToFile(std::ofstream &out)
Float32 theGantryPitchAngle
Float64 GetNominalBeamEnergy() const
Float32 GetTableTopRollAngle() const
void SetTableTopPitchAngle(Float32 dat)
G4ThreeVector GetIsocenterPosition() const
G4GLOB_DLL std::ostream G4cout
Float32 GetGantryPitchAngle() const
void SetTableTopVerticalPosition(Float64 dat)
void SetBeamLimitingDeviceRotationDirection(OFString dat)
void SetGantryAngle(Float64 dat)
Float64 GetTableTopEccentricAxisDistance() const
void SetPatientSupportAngle(Float64 dat)
void SetCumulativeMetersetWeight(Float64 dat)
void SetTableTopEccentricRotationDirection(OFString dat)
Float64 GetTableTopVerticalPosition() const
void SetTableTopRollAngle(Float32 dat)
void SetTableTopPitchRotationDirection(OFString dat)
Float64 GetTableTopLateralPosition() const
Float64 theSourceToSurfaceDistance
OFString GetPatientSupportRotationDirection() const
void Print(std::ostream &out)
Float64 theMetersetWeight
void SetTableTopLongitudinalPosition(Float64 dat)
Float64 GetTableTopEccentricAngle() const
Float64 theTableTopVerticalPosition
OFString GetTableTopRollRotationDirection() const
void SetPatientSupportRotationDirection(OFString dat)
Float64 thePatientSupportAngle
void SetIndex(Sint32 dat)
void SetTableTopEccentricAngle(Float64 dat)
void SetSourceToSurfaceDistance(Float64 dat)
OFString GetTableTopPitchRotationDirection() const
Float32 GetTableTopPitchAngle() const
Float64 theNominalBeamEnergy
void AddDevice(DicomBeamDevicePos *dbd)
Float64 theTableTopLongitudinalPosition
DicomBeamControlPoint(DRTControlPointSequence::Item cpItem, DicomBeamControlPoint *point0)
void SetTableTopEccentricAxisDistance(Float64 dat)
std::vector< DicomBeamDevicePos * > theDevices
Float64 GetSurfaceEntryPoint() const
void SetBeamLimitingDeviceAngle(Float64 dat)
void SetNominalBeamEnergy(Float64 dat)
void SetIsocenterPosition(G4ThreeVector dat)
Float64 theBeamLimitingDeviceAngle
Float32 theTableTopRollAngle
Float64 GetPatientSupportAngle() const
Float32 theTableTopPitchAngle