File indexing completed on 2025-04-10 08:06:18
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026 #ifndef DicomBeamDevice__HH
0027 #define DicomBeamDevice__HH
0028
0029 #include "dcmtk/dcmdata/dcfilefo.h"
0030
0031 #include <iostream>
0032 #include <vector>
0033 class DicomBeamDeviceDevice;
0034 class DicomBeamDeviceControlPoint;
0035
0036 #include "dcmtk/dcmrt/seq/drtbldps.h" // for BeamLimitingDevicePositionSequence
0037 #include "dcmtk/dcmrt/seq/drtblds1.h" // for BeamLimitingDeviceSequenceInRTBeamsModule
0038
0039 class DicomBeamDevice
0040 {
0041 public:
0042 DicomBeamDevice(DRTBeamLimitingDeviceSequenceInRTBeamsModule::Item bldsItem);
0043 DicomBeamDevice(DRTBeamLimitingDevicePositionSequence::Item bldpsItem);
0044 ~DicomBeamDevice() {};
0045
0046 public:
0047 void SetSourceToBeamLimitingDeviceDistance(Float64 dat)
0048 {
0049 theSourceToBeamLimitingDeviceDistance = dat;
0050 }
0051 Float64 GetSourceToBeamLimitingDeviceDistance() const
0052 {
0053 return theSourceToBeamLimitingDeviceDistance;
0054 }
0055 void SetNumberOfLeafJawPairs(Sint32 dat) { theNumberOfLeafJawPairs = dat; }
0056 Sint32 GetNumberOfLeafJawPairs() const { return theNumberOfLeafJawPairs; }
0057 void SetType(OFString dat) { theType = dat; }
0058 OFString GetType() const { return theType; }
0059 void AddPositionBoundary(Float64 dat) { thePositionBoundaries.push_back(dat); }
0060 Float64 GetPositionBoundary(size_t ii) { return thePositionBoundaries[ii]; }
0061 void Print(std::ostream& out);
0062
0063 private:
0064 OFString theType;
0065 Float64 theSourceToBeamLimitingDeviceDistance;
0066 Sint32 theNumberOfLeafJawPairs;
0067 std::vector<Float64> thePositionBoundaries;
0068 };
0069
0070 #endif