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

#include <Doxymodules_medical.h>

Inheritance diagram for RadioBio::VoxelizedSensitiveDetectorMessenger:
G4UImessenger

Public Member Functions

 VoxelizedSensitiveDetectorMessenger (VoxelizedSensitiveDetector *)
 
 ~VoxelizedSensitiveDetectorMessenger () override
 
void SetNewValue (G4UIcommand *, G4String) override
 

Private Attributes

VoxelizedSensitiveDetectorfVoxelizedDetector = nullptr
 
G4UIdirectoryfVoxelsDir = nullptr
 
G4UIcmdWith3VectorAndUnitfVoxelSizeCmd = nullptr
 
G4UIcmdWithADoubleAndUnitfVoxelSizeXCmd = nullptr
 
G4UIcmdWithADoubleAndUnitfVoxelSizeYCmd = nullptr
 
G4UIcmdWithADoubleAndUnitfVoxelSizeZCmd = nullptr
 
G4UIcmdWithoutParameterfUpdateVoxCmd = nullptr
 

Detailed Description

Definition at line 149 of file Doxymodules_medical.h.

Constructor & Destructor Documentation

◆ VoxelizedSensitiveDetectorMessenger()

RadioBio::VoxelizedSensitiveDetectorMessenger::VoxelizedSensitiveDetectorMessenger ( VoxelizedSensitiveDetector VoxDet)

Definition at line 46 of file VoxelizedSensitiveDetectorMessenger.cc.

49{
50 // Diretory for voxelization commands
51 fVoxelsDir = new G4UIdirectory("/voxels/");
52 fVoxelsDir->SetGuidance("commands to change voxels size");
53
54 // Set voxel size with a ThreeVector
55 fVoxelSizeCmd = new G4UIcmdWith3VectorAndUnit("/voxels/setVoxelSizes", this);
56 fVoxelSizeCmd->SetGuidance("Insert voxel sizes X Y and Z");
57 fVoxelSizeCmd->SetParameterName("SizeAlongX", "SizeAlongY", "SizeAlongZ", false);
58 fVoxelSizeCmd->SetRange("SizeAlongX>0. && SizeAlongY>0. && SizeAlongZ>0.");
59 fVoxelSizeCmd->SetUnitCategory("Length");
60 fVoxelSizeCmd->AvailableForStates(G4State_PreInit, G4State_Idle);
61 fVoxelSizeCmd->SetToBeBroadcasted(false);
62
63 // Set X voxel size
64 fVoxelSizeXCmd = new G4UIcmdWithADoubleAndUnit("/voxels/setSizeX", this);
65 fVoxelSizeXCmd->SetGuidance("Set X width of voxels");
66 fVoxelSizeXCmd->SetParameterName("Size", false);
67 fVoxelSizeXCmd->SetRange("Size>0.");
68 fVoxelSizeXCmd->SetUnitCategory("Length");
69 fVoxelSizeXCmd->AvailableForStates(G4State_PreInit, G4State_Idle);
70 fVoxelSizeXCmd->SetToBeBroadcasted(false);
71
72 // Set Y voxel size
73 fVoxelSizeYCmd = new G4UIcmdWithADoubleAndUnit("/voxels/setSizeY", this);
74 fVoxelSizeYCmd->SetGuidance("Set Y width of voxels");
75 fVoxelSizeYCmd->SetParameterName("Size", false);
76 fVoxelSizeYCmd->SetRange("Size>0.");
77 fVoxelSizeYCmd->SetUnitCategory("Length");
78 fVoxelSizeYCmd->AvailableForStates(G4State_PreInit, G4State_Idle);
79 fVoxelSizeYCmd->SetToBeBroadcasted(false);
80
81 // Set Z voxel size
82 fVoxelSizeZCmd = new G4UIcmdWithADoubleAndUnit("/voxels/setSizeZ", this);
83 fVoxelSizeZCmd->SetGuidance("Set Z width of voxels");
84 fVoxelSizeZCmd->SetParameterName("Size", false);
85 fVoxelSizeZCmd->SetRange("Size>0.");
86 fVoxelSizeZCmd->SetUnitCategory("Length");
87 fVoxelSizeZCmd->AvailableForStates(G4State_PreInit, G4State_Idle);
88 fVoxelSizeZCmd->SetToBeBroadcasted(false);
89
90 // Update voxelized geometry
91 fUpdateVoxCmd = new G4UIcmdWithoutParameter("/voxels/update", this);
92 fUpdateVoxCmd->SetGuidance("Update voxelized geometry");
93 fUpdateVoxCmd->SetGuidance("This command MUST be applied before \"beamOn\" ");
94 fUpdateVoxCmd->SetGuidance("if you changed voxelization");
95 fUpdateVoxCmd->AvailableForStates(G4State_Idle);
96}

◆ ~VoxelizedSensitiveDetectorMessenger()

RadioBio::VoxelizedSensitiveDetectorMessenger::~VoxelizedSensitiveDetectorMessenger ( )
override

Definition at line 100 of file VoxelizedSensitiveDetectorMessenger.cc.

101{
102 delete fVoxelsDir;
103 delete fVoxelSizeCmd;
104 delete fVoxelSizeXCmd;
105 delete fVoxelSizeYCmd;
106 delete fVoxelSizeZCmd;
107 delete fUpdateVoxCmd;
108}

Member Function Documentation

◆ SetNewValue()

void RadioBio::VoxelizedSensitiveDetectorMessenger::SetNewValue ( G4UIcommand command,
G4String  newValue 
)
override

Definition at line 112 of file VoxelizedSensitiveDetectorMessenger.cc.

113{
114 if (command == fVoxelSizeCmd) {
115 fVoxelizedDetector->SetVoxelWidth(fVoxelSizeCmd->GetNew3VectorValue(newValue));
116 }
117
118 if (command == fVoxelSizeXCmd) {
119 fVoxelizedDetector->SetVoxelWidthX(fVoxelSizeXCmd->GetNewDoubleValue(newValue));
120 }
121
122 if (command == fVoxelSizeYCmd) {
123 fVoxelizedDetector->SetVoxelWidthY(fVoxelSizeYCmd->GetNewDoubleValue(newValue));
124 }
125
126 if (command == fVoxelSizeZCmd) {
127 fVoxelizedDetector->SetVoxelWidthZ(fVoxelSizeZCmd->GetNewDoubleValue(newValue));
128 }
129
130 if (command == fUpdateVoxCmd) {
132 }
133}
void SetVoxelWidthY(G4double voxWidthY)
Method to set the voxel Y width.
void SetVoxelWidth(G4ThreeVector voxWidth)
Method to set the voxel shape to be a box with given sides.
void UpdateVoxelizedGeometry()
Method to update voxelized geometry.
void SetVoxelWidthX(G4double voxWidthX)
Method to set the voxel X width.
void SetVoxelWidthZ(G4double voxWidthZ)
Method to set the voxel Z width.

Member Data Documentation

◆ fVoxelizedDetector

VoxelizedSensitiveDetector* RadioBio::VoxelizedSensitiveDetectorMessenger::fVoxelizedDetector = nullptr
private

Definition at line 59 of file VoxelizedSensitiveDetectorMessenger.hh.

◆ fVoxelsDir

G4UIdirectory* RadioBio::VoxelizedSensitiveDetectorMessenger::fVoxelsDir = nullptr
private

Definition at line 61 of file VoxelizedSensitiveDetectorMessenger.hh.

◆ fVoxelSizeCmd

G4UIcmdWith3VectorAndUnit* RadioBio::VoxelizedSensitiveDetectorMessenger::fVoxelSizeCmd = nullptr
private

Definition at line 62 of file VoxelizedSensitiveDetectorMessenger.hh.

◆ fVoxelSizeXCmd

G4UIcmdWithADoubleAndUnit* RadioBio::VoxelizedSensitiveDetectorMessenger::fVoxelSizeXCmd = nullptr
private

Definition at line 63 of file VoxelizedSensitiveDetectorMessenger.hh.

◆ fVoxelSizeYCmd

G4UIcmdWithADoubleAndUnit* RadioBio::VoxelizedSensitiveDetectorMessenger::fVoxelSizeYCmd = nullptr
private

Definition at line 64 of file VoxelizedSensitiveDetectorMessenger.hh.

◆ fVoxelSizeZCmd

G4UIcmdWithADoubleAndUnit* RadioBio::VoxelizedSensitiveDetectorMessenger::fVoxelSizeZCmd = nullptr
private

Definition at line 65 of file VoxelizedSensitiveDetectorMessenger.hh.

◆ fUpdateVoxCmd

G4UIcmdWithoutParameter* RadioBio::VoxelizedSensitiveDetectorMessenger::fUpdateVoxCmd = nullptr
private

Definition at line 66 of file VoxelizedSensitiveDetectorMessenger.hh.


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

Applications | User Support | Publications | Collaboration