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

#include <Doxymodules_medical.h>

Inheritance diagram for RadioBio::DetectorMessenger:
G4UImessenger

Public Member Functions

 DetectorMessenger (DetectorConstruction *)
 
 ~DetectorMessenger () override
 
void SetNewValue (G4UIcommand *, G4String) override
 

Private Attributes

DetectorConstructionfDetector = nullptr
 
G4UIdirectoryfGeometryDir = nullptr
 
G4UIcmdWithAStringfMaterCmd = nullptr
 
G4UIcmdWithADoubleAndUnitfSizeCmd = nullptr
 
G4UIcmdWith3VectorAndUnitfSizeVectorCmd = nullptr
 
G4UIcmdWithADoubleAndUnitfSizeXCmd = nullptr
 
G4UIcmdWithADoubleAndUnitfSizeYCmd = nullptr
 
G4UIcmdWithADoubleAndUnitfSizeZCmd = nullptr
 

Detailed Description

Definition at line 128 of file Doxymodules_medical.h.

Constructor & Destructor Documentation

◆ DetectorMessenger()

RadioBio::DetectorMessenger::DetectorMessenger ( DetectorConstruction Det)

Definition at line 46 of file DetectorMessenger.cc.

46 : fDetector(Det)
47{
48 fGeometryDir = new G4UIdirectory("/detectorGeom/");
49 fGeometryDir->SetGuidance("commands to change geometry material and size");
50
51 fMaterCmd = new G4UIcmdWithAString("/detectorGeom/setMat", this);
52 fMaterCmd->SetGuidance("Select material of the box.");
53 fMaterCmd->SetParameterName("choice", false);
54 fMaterCmd->AvailableForStates(G4State_PreInit, G4State_Idle);
55 fMaterCmd->SetToBeBroadcasted(false);
56
57 fSizeCmd = new G4UIcmdWithADoubleAndUnit("/detectorGeom/setSize", this);
58 fSizeCmd->SetGuidance("Set size of the cubic box");
59 fSizeCmd->SetParameterName("Size", false);
60 fSizeCmd->SetRange("Size>0.");
61 fSizeCmd->SetUnitCategory("Length");
62 fSizeCmd->AvailableForStates(G4State_PreInit, G4State_Idle);
63 fSizeCmd->SetToBeBroadcasted(false);
64
65 fSizeVectorCmd = new G4UIcmdWith3VectorAndUnit("/detectorGeom/setBoxSizes", this);
66 fSizeVectorCmd->SetGuidance("Insert sizes X Y and Z");
67 fSizeVectorCmd->SetParameterName("SizeAlongX", "SizeAlongY", "SizeAlongZ", false);
68 fSizeVectorCmd->SetRange("SizeAlongX>0. && SizeAlongY>0. && SizeAlongZ>0.");
69 fSizeVectorCmd->SetUnitCategory("Length");
70 fSizeVectorCmd->AvailableForStates(G4State_PreInit, G4State_Idle);
71 fSizeVectorCmd->SetToBeBroadcasted(false);
72
73 fSizeXCmd = new G4UIcmdWithADoubleAndUnit("/detectorGeom/setSizeX", this);
74 fSizeXCmd->SetGuidance("Set X size of the box");
75 fSizeXCmd->SetParameterName("Size", false);
76 fSizeXCmd->SetRange("Size>0.");
77 fSizeXCmd->SetUnitCategory("Length");
78 fSizeXCmd->AvailableForStates(G4State_PreInit, G4State_Idle);
79 fSizeXCmd->SetToBeBroadcasted(false);
80
81 fSizeYCmd = new G4UIcmdWithADoubleAndUnit("/detectorGeom/setSizeY", this);
82 fSizeYCmd->SetGuidance("Set Y size of the box");
83 fSizeYCmd->SetParameterName("Size", false);
84 fSizeYCmd->SetRange("Size>0.");
85 fSizeYCmd->SetUnitCategory("Length");
86 fSizeYCmd->AvailableForStates(G4State_PreInit, G4State_Idle);
87 fSizeYCmd->SetToBeBroadcasted(false);
88
89 fSizeZCmd = new G4UIcmdWithADoubleAndUnit("/detectorGeom/setSizeZ", this);
90 fSizeZCmd->SetGuidance("Set Z size of the box");
91 fSizeZCmd->SetParameterName("Size", false);
92 fSizeZCmd->SetRange("Size>0.");
93 fSizeZCmd->SetUnitCategory("Length");
94 fSizeZCmd->AvailableForStates(G4State_PreInit, G4State_Idle);
95 fSizeZCmd->SetToBeBroadcasted(false);
96}
G4UIcmdWithAString * fMaterCmd
G4UIcmdWithADoubleAndUnit * fSizeYCmd
G4UIcmdWithADoubleAndUnit * fSizeCmd
G4UIcmdWithADoubleAndUnit * fSizeXCmd
G4UIcmdWith3VectorAndUnit * fSizeVectorCmd
G4UIcmdWithADoubleAndUnit * fSizeZCmd
DetectorConstruction * fDetector

◆ ~DetectorMessenger()

RadioBio::DetectorMessenger::~DetectorMessenger ( )
override

Definition at line 100 of file DetectorMessenger.cc.

101{
102 delete fGeometryDir;
103 delete fMaterCmd;
104 delete fSizeCmd;
105 delete fSizeVectorCmd;
106 delete fSizeXCmd;
107 delete fSizeYCmd;
108 delete fSizeZCmd;
109}

Member Function Documentation

◆ SetNewValue()

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

Definition at line 113 of file DetectorMessenger.cc.

114{
115 if (command == fMaterCmd) {
116 fDetector->SetMaterial(newValue);
117 }
118
119 if (command == fSizeCmd) {
120 fDetector->SetSize(fSizeCmd->GetNewDoubleValue(newValue));
121 }
122
123 if (command == fSizeVectorCmd) {
124 fDetector->SetSize(fSizeVectorCmd->GetNew3VectorValue(newValue));
125 }
126
127 if (command == fSizeXCmd) {
128 fDetector->SetSizeX(fSizeXCmd->GetNewDoubleValue(newValue));
129 }
130
131 if (command == fSizeYCmd) {
132 fDetector->SetSizeY(fSizeYCmd->GetNewDoubleValue(newValue));
133 }
134
135 if (command == fSizeZCmd) {
136 fDetector->SetSizeZ(fSizeZCmd->GetNewDoubleValue(newValue));
137 }
138}
void SetSizeY(G4double y)
Method to set the Y width of the world volume.
void SetSize(G4double)
Method to set the world volume to be cubical with given side.
void SetSizeZ(G4double z)
Method to set the Z width of the world volume.
void SetSizeX(G4double x)
Method to set the X width of the world volume.
void SetMaterial(G4String mat)
Method to set the world material.

Member Data Documentation

◆ fDetector

DetectorConstruction* RadioBio::DetectorMessenger::fDetector = nullptr
private

Definition at line 56 of file DetectorMessenger.hh.

◆ fGeometryDir

G4UIdirectory* RadioBio::DetectorMessenger::fGeometryDir = nullptr
private

Definition at line 59 of file DetectorMessenger.hh.

◆ fMaterCmd

G4UIcmdWithAString* RadioBio::DetectorMessenger::fMaterCmd = nullptr
private

Definition at line 62 of file DetectorMessenger.hh.

◆ fSizeCmd

G4UIcmdWithADoubleAndUnit* RadioBio::DetectorMessenger::fSizeCmd = nullptr
private

Definition at line 65 of file DetectorMessenger.hh.

◆ fSizeVectorCmd

G4UIcmdWith3VectorAndUnit* RadioBio::DetectorMessenger::fSizeVectorCmd = nullptr
private

Definition at line 68 of file DetectorMessenger.hh.

◆ fSizeXCmd

G4UIcmdWithADoubleAndUnit* RadioBio::DetectorMessenger::fSizeXCmd = nullptr
private

Definition at line 71 of file DetectorMessenger.hh.

◆ fSizeYCmd

G4UIcmdWithADoubleAndUnit* RadioBio::DetectorMessenger::fSizeYCmd = nullptr
private

Definition at line 74 of file DetectorMessenger.hh.

◆ fSizeZCmd

G4UIcmdWithADoubleAndUnit* RadioBio::DetectorMessenger::fSizeZCmd = nullptr
private

Definition at line 77 of file DetectorMessenger.hh.


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

Applications | User Support | Publications | Collaboration