Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
DicomBeam Class Reference

#include <Doxymodules_medical.h>

Public Member Functions

 DicomBeam ()
 
 ~DicomBeam ()
 
void SetDoseSpecificationPoint (G4ThreeVector point)
 
void SetMeterset (Float64 dat)
 
void SetSourceAxisDistance (Float64 dat)
 
void SetNumber (Sint32 dat)
 
void SetRadiationType (OFString dat)
 
void AddDevice (DicomVBeamDevice *db)
 
void AddControlPoint (DicomBeamControlPoint *db)
 
void AddCompensator (DicomBeamCompensator *db)
 
void AddBlock (DicomBeamBlock *db)
 
void AddWedge (DicomBeamWedge *db)
 
size_t GetNControlPoints () const
 
DicomBeamControlPointGetControlPoint (size_t ii)
 
void SetControlPointMetersets ()
 
void Print (std::ostream &out)
 
void DumpToFile ()
 

Private Attributes

G4ThreeVector theDoseSpecificationPoint
 
Float64 theMeterset
 
Float64 theSourceAxisDistance
 
Sint32 theNumber
 
OFString theRadiationType
 
std::vector< DicomVBeamDevice * > theDevices
 
std::vector< DicomBeamControlPoint * > theControlPoints
 
std::vector< DicomBeamCompensator * > theCompensators
 
std::vector< DicomBeamBlock * > theBlocks
 
std::vector< DicomBeamWedge * > theWedges
 

Detailed Description

Definition at line 40 of file Doxymodules_medical.h.

Constructor & Destructor Documentation

◆ DicomBeam()

DicomBeam::DicomBeam ( )

Definition at line 33 of file DicomBeam.cc.

34{
35}

◆ ~DicomBeam()

DicomBeam::~DicomBeam ( )
inline

Definition at line 44 of file DicomBeam.hh.

44{};

Member Function Documentation

◆ SetDoseSpecificationPoint()

void DicomBeam::SetDoseSpecificationPoint ( G4ThreeVector  point)
inline

Definition at line 47 of file DicomBeam.hh.

47 {
49 }
G4ThreeVector theDoseSpecificationPoint
Definition DicomBeam.hh:91

◆ SetMeterset()

void DicomBeam::SetMeterset ( Float64  dat)
inline

Definition at line 50 of file DicomBeam.hh.

50 {
51 theMeterset = dat;
52 }
Float64 theMeterset
Definition DicomBeam.hh:92

◆ SetSourceAxisDistance()

void DicomBeam::SetSourceAxisDistance ( Float64  dat)
inline

Definition at line 53 of file DicomBeam.hh.

53 {
55 }
Float64 theSourceAxisDistance
Definition DicomBeam.hh:93

◆ SetNumber()

void DicomBeam::SetNumber ( Sint32  dat)
inline

Definition at line 56 of file DicomBeam.hh.

56 {
57 theNumber = dat;
58 }
Sint32 theNumber
Definition DicomBeam.hh:94

◆ SetRadiationType()

void DicomBeam::SetRadiationType ( OFString  dat)
inline

Definition at line 59 of file DicomBeam.hh.

59 {
60 theRadiationType = dat;
61 }
OFString theRadiationType
Definition DicomBeam.hh:95

◆ AddDevice()

void DicomBeam::AddDevice ( DicomVBeamDevice db)
inline

Definition at line 62 of file DicomBeam.hh.

62 {
63 theDevices.push_back(db);
64 }
std::vector< DicomVBeamDevice * > theDevices
Definition DicomBeam.hh:96

◆ AddControlPoint()

void DicomBeam::AddControlPoint ( DicomBeamControlPoint db)
inline

Definition at line 65 of file DicomBeam.hh.

65 {
66 theControlPoints.push_back(db);
67 }
std::vector< DicomBeamControlPoint * > theControlPoints
Definition DicomBeam.hh:97

◆ AddCompensator()

void DicomBeam::AddCompensator ( DicomBeamCompensator db)
inline

Definition at line 68 of file DicomBeam.hh.

68 {
69 theCompensators.push_back(db);
70 }
std::vector< DicomBeamCompensator * > theCompensators
Definition DicomBeam.hh:98

◆ AddBlock()

void DicomBeam::AddBlock ( DicomBeamBlock db)
inline

Definition at line 71 of file DicomBeam.hh.

71 {
72 theBlocks.push_back(db);
73 }
std::vector< DicomBeamBlock * > theBlocks
Definition DicomBeam.hh:99

◆ AddWedge()

void DicomBeam::AddWedge ( DicomBeamWedge db)
inline

Definition at line 74 of file DicomBeam.hh.

74 {
75 theWedges.push_back(db);
76 }
std::vector< DicomBeamWedge * > theWedges
Definition DicomBeam.hh:100

◆ GetNControlPoints()

size_t DicomBeam::GetNControlPoints ( ) const
inline

Definition at line 77 of file DicomBeam.hh.

77 {
78 return theControlPoints.size();
79 }

◆ GetControlPoint()

DicomBeamControlPoint * DicomBeam::GetControlPoint ( size_t  ii)
inline

Definition at line 80 of file DicomBeam.hh.

80 {
81 return theControlPoints[ii];
82 }

◆ SetControlPointMetersets()

void DicomBeam::SetControlPointMetersets ( )

Definition at line 44 of file DicomBeam.cc.

45{
46 G4double prevCumulativeMS = 0.;
47 for( size_t ii = 0; ii < theControlPoints.size(); ii++ ){
48 G4double cumulativeMS = theControlPoints[ii]->GetCumulativeMetersetWeight();
49 theControlPoints[ii]->SetMetersetWeight( (cumulativeMS - prevCumulativeMS )*theMeterset);
50 prevCumulativeMS = cumulativeMS;
51 }
52}

◆ Print()

void DicomBeam::Print ( std::ostream &  out)

Definition at line 38 of file DicomBeam.cc.

39{
40
41}

◆ DumpToFile()

void DicomBeam::DumpToFile ( )

Definition at line 55 of file DicomBeam.cc.

56{
57 std::ofstream fout("RTPlan_"+std::to_string(theNumber));
58 fout << ":P BeamMeterset " << theMeterset << G4endl;
59
60 for( size_t ii = 0; ii < theDevices.size(); ii++) {
61 theDevices[ii]->DumpToFile( fout );
62 }
63
64 for( size_t ii = 0; ii < theCompensators.size(); ii++) {
65 theCompensators[ii]->DumpToFile( fout );
66 }
67
68 for( size_t kk = 0; kk < theControlPoints.size(); kk++ ){
69 std::string kkstr = std::to_string(theControlPoints[kk]->GetIndex());
70 std::ofstream fout2("RTPlanControlPoint_"+std::to_string(theNumber)+"_"+kkstr);
71 theControlPoints[kk]->DumpToFile( fout2 );
72 }
73
74}

Member Data Documentation

◆ theDoseSpecificationPoint

G4ThreeVector DicomBeam::theDoseSpecificationPoint
private

Definition at line 91 of file DicomBeam.hh.

◆ theMeterset

Float64 DicomBeam::theMeterset
private

Definition at line 92 of file DicomBeam.hh.

◆ theSourceAxisDistance

Float64 DicomBeam::theSourceAxisDistance
private

Definition at line 93 of file DicomBeam.hh.

◆ theNumber

Sint32 DicomBeam::theNumber
private

Definition at line 94 of file DicomBeam.hh.

◆ theRadiationType

OFString DicomBeam::theRadiationType
private

Definition at line 95 of file DicomBeam.hh.

◆ theDevices

std::vector<DicomVBeamDevice*> DicomBeam::theDevices
private

Definition at line 96 of file DicomBeam.hh.

◆ theControlPoints

std::vector<DicomBeamControlPoint*> DicomBeam::theControlPoints
private

Definition at line 97 of file DicomBeam.hh.

◆ theCompensators

std::vector<DicomBeamCompensator*> DicomBeam::theCompensators
private

Definition at line 98 of file DicomBeam.hh.

◆ theBlocks

std::vector<DicomBeamBlock*> DicomBeam::theBlocks
private

Definition at line 99 of file DicomBeam.hh.

◆ theWedges

std::vector<DicomBeamWedge*> DicomBeam::theWedges
private

Definition at line 100 of file DicomBeam.hh.


The documentation for this class was generated from the following files:

Applications | User Support | Publications | Collaboration