#include <Doxymodules_medical.h>
Definition at line 129 of file Doxymodules_medical.h.
◆ Dose()
Definition at line 48 of file Dose.cc.
49{
50
51 fPath =
"RadioBio_Dose.out";
52
53
55
56
58}
void Initialize() override
G4UImessenger * fMessenger
◆ ~Dose()
RadioBio::Dose::~Dose |
( |
| ) |
|
|
override |
◆ AddFromAccumulable()
◆ Initialize()
void RadioBio::Dose::Initialize |
( |
| ) |
|
|
overridevirtual |
Implements RadioBio::VRadiobiologicalQuantity.
Definition at line 69 of file Dose.cc.
70{
71 if (
fVerboseLevel > 0) G4cout <<
"Dose::Initialize() called" << G4endl;
72
74
75 fEnDep.resize(VoxelNumber);
76 fDose.resize(VoxelNumber);
78}
static VoxelizedSensitiveDetector * GetInstance()
Static method to retrieve a pointer to the only object existing in the simulation.
G4int GetTotalVoxelNumber() const
Method to get the total voxel number.
◆ Compute()
void RadioBio::Dose::Compute |
( |
| ) |
|
|
overridevirtual |
Implements RadioBio::VRadiobiologicalQuantity.
Definition at line 82 of file Dose.cc.
83{
84
87 G4cout << "Dose::Compute() called but skipped as calculation not enabled" << G4endl;
88 }
89 return;
90 }
91
93
94 if (
fVerboseLevel > 0) G4cout <<
"Dose::Compute() called" << G4endl;
95
97
98 if (voxSensDet == nullptr)
99 G4Exception("Dose::Compute", "VoxNotInit", FatalException,
100 "Calculating dose without voxelized geometry pointer!");
101
102 G4double voxelMass = voxSensDet->GetVoxelMass();
103
104 for (G4int v = 0; v < voxSensDet->GetTotalVoxelNumber(); v++) {
105 if (
fVerboseLevel > 1) G4cout <<
"Calculating Dose for voxel number " << v << G4endl;
106
107
109 }
110
112}
G4bool fCalculationEnabled
◆ Reset()
void RadioBio::Dose::Reset |
( |
| ) |
|
|
overridevirtual |
◆ Store()
void RadioBio::Dose::Store |
( |
| ) |
|
|
overridevirtual |
Implements RadioBio::VRadiobiologicalQuantity.
Definition at line 116 of file Dose.cc.
117{
118
121 G4cout << "Dose::Store() called but skipped as calculation not enabled" << G4endl;
122 }
123 return;
124 }
125
127 G4Exception("Dose::Store", "DoseOverwrite", JustWarning,
128 "Overwriting Dose file. For multiple runs, change filename.");
129
131
132 std::ofstream ofs(
fPath);
133
134 if (ofs.is_open()) {
135 ofs <<
"x_index" << std::setw(
width) <<
"y_index" << std::setw(
width) <<
"z_index"
136 << std::setw(
width) <<
"Dose (Gy)" << G4endl;
137
139
140 for (G4int i = 0; i < voxSensDet->GetVoxelNumberAlongX(); i++)
141 for (G4int j = 0; j < voxSensDet->GetVoxelNumberAlongY(); j++)
142 for (G4int k = 0; k < voxSensDet->GetVoxelNumberAlongZ(); k++) {
143 G4int v = voxSensDet->GetThisVoxelNumber(i, j, k);
144 ofs << i << std::setw(
width) << j << std::setw(
width) << k << std::setw(
width)
145 <<
fDose[v] / gray << G4endl;
146 }
147 }
149 G4cout <<
"Dose: Dose written to " <<
fPath << G4endl;
150 }
152}
◆ PrintParameters()
void RadioBio::Dose::PrintParameters |
( |
| ) |
|
|
overridevirtual |
Reimplemented from RadioBio::VRadiobiologicalQuantity.
Definition at line 177 of file Dose.cc.
178{
179 G4cout << "*******************************************" << G4endl
180 << "****** Parameters of the class Dose *******" << G4endl
181 << "*******************************************" << G4endl;
183}
void PrintVirtualParameters()
◆ GetDose()
◆ SetEnergyDeposit()
void RadioBio::Dose::SetEnergyDeposit |
( |
const array_type |
Dep | ) |
|
|
inlineprivate |
◆ AddEnergyDeposit()
void RadioBio::Dose::AddEnergyDeposit |
( |
const array_type |
Dep | ) |
|
|
inlineprivate |
◆ RBE
◆ fEnDep
◆ fDose
The documentation for this class was generated from the following files: