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

#include <Doxymodules_field.h>

Inheritance diagram for F04FieldMessenger:
G4UImessenger

Public Member Functions

 F04FieldMessenger (F04GlobalField *, F04DetectorConstruction *)
 
 ~F04FieldMessenger () override
 
void SetNewValue (G4UIcommand *, G4String) override
 

Private Attributes

F04GlobalFieldfGlobalField = nullptr
 
G4UIdirectoryfDetDir = nullptr
 
G4UIcmdWithADoubleAndUnitfCaptureB1Cmd = nullptr
 
G4UIcmdWithADoubleAndUnitfCaptureB2Cmd = nullptr
 
G4UIcmdWithADoubleAndUnitfTransferBCmd = nullptr
 
G4UIcmdWithAnIntegerfStepperCMD = nullptr
 
G4UIcmdWithADoubleAndUnitfMinStepCMD = nullptr
 
G4UIcmdWithADoubleAndUnitfDeltaChordCMD = nullptr
 
G4UIcmdWithADoubleAndUnitfDeltaOneStepCMD = nullptr
 
G4UIcmdWithADoubleAndUnitfDeltaIntersectionCMD = nullptr
 
G4UIcmdWithADoubleAndUnitfEpsMinCMD = nullptr
 
G4UIcmdWithADoubleAndUnitfEpsMaxCMD = nullptr
 
F04DetectorConstructionfDetector = nullptr
 

Detailed Description

Definition at line 105 of file Doxymodules_field.h.

Constructor & Destructor Documentation

◆ F04FieldMessenger()

F04FieldMessenger::F04FieldMessenger ( F04GlobalField pEMfield,
F04DetectorConstruction detector 
)

Definition at line 44 of file F04FieldMessenger.cc.

46 : fGlobalField(pEMfield)
47{
48 fDetector = detector;
49
50 fDetDir = new G4UIdirectory("/field/");
51 fDetDir->SetGuidance(" Field tracking control ");
52
53 fCaptureB1Cmd = new G4UIcmdWithADoubleAndUnit("/field/SetCaptureB1",this);
54 fCaptureB1Cmd->SetGuidance("Set B1 of the Capture Magnet");
55 fCaptureB1Cmd->SetParameterName("CSizeB1",false,false);
56 fCaptureB1Cmd->SetDefaultUnit("tesla");
57 fCaptureB1Cmd->SetRange("CSizeB1>0.");
58 fCaptureB1Cmd->AvailableForStates(G4State_PreInit,G4State_Idle);
59
60 fCaptureB2Cmd = new G4UIcmdWithADoubleAndUnit("/field/SetCaptureB2",this);
61 fCaptureB2Cmd->SetGuidance("Set B2 of the Capture Magnet");
62 fCaptureB2Cmd->SetParameterName("CSizeB2",false,false);
63 fCaptureB2Cmd->SetDefaultUnit("tesla");
64 fCaptureB2Cmd->SetRange("CSizeB2>0.");
65 fCaptureB2Cmd->AvailableForStates(G4State_PreInit,G4State_Idle);
66
67 fTransferBCmd = new G4UIcmdWithADoubleAndUnit("/field/SetTransferB",this);
68 fTransferBCmd->SetGuidance("Set B of the Transfer Magnet");
69 fTransferBCmd->SetParameterName("TSizeB",false,false);
70 fTransferBCmd->SetDefaultUnit("tesla");
71 fTransferBCmd->SetRange("TSizeB>0.");
72 fTransferBCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
73
74 fStepperCMD = new G4UIcmdWithAnInteger("/field/setStepperType",this);
75 fStepperCMD->SetGuidance("Select stepper type for field");
76 fStepperCMD->SetParameterName("choice",true);
77 fStepperCMD->SetDefaultValue(4);
78 fStepperCMD->AvailableForStates(G4State_PreInit,G4State_Idle);
79
80 fMinStepCMD = new G4UIcmdWithADoubleAndUnit("/field/setMinStep",this);
81 fMinStepCMD->SetGuidance("Define minimal step");
82 fMinStepCMD->SetParameterName("min step",false,false);
83 fMinStepCMD->SetDefaultUnit("mm");
84 fMinStepCMD->AvailableForStates(G4State_PreInit,G4State_Idle);
85
86 fDeltaChordCMD = new G4UIcmdWithADoubleAndUnit("/field/setDeltaChord",this);
87 fDeltaChordCMD->SetGuidance("Define delta chord");
88 fDeltaChordCMD->SetParameterName("delta chord",false,false);
89 fDeltaChordCMD->SetDefaultUnit("mm");
90 fDeltaChordCMD->AvailableForStates(G4State_PreInit,G4State_Idle);
91
93 new G4UIcmdWithADoubleAndUnit("/field/setDeltaOneStep",this);
94 fDeltaOneStepCMD->SetGuidance("Define delta one step");
95 fDeltaOneStepCMD->SetParameterName("delta one step",false,false);
96 fDeltaOneStepCMD->SetDefaultUnit("mm");
97 fDeltaOneStepCMD->AvailableForStates(G4State_PreInit,G4State_Idle);
98
100 new G4UIcmdWithADoubleAndUnit("/field/setDeltaIntersection",this);
101 fDeltaIntersectionCMD->SetGuidance("Define delta intersection");
102 fDeltaIntersectionCMD->SetParameterName("delta intersection",false,false);
103 fDeltaIntersectionCMD->SetDefaultUnit("mm");
104 fDeltaIntersectionCMD->AvailableForStates(G4State_PreInit,G4State_Idle);
105
106 fEpsMinCMD = new G4UIcmdWithADoubleAndUnit("/field/setEpsMin",this);
107 fEpsMinCMD->SetGuidance("Define eps min");
108 fEpsMinCMD->SetParameterName("eps min",false,false);
109 fEpsMinCMD->SetDefaultUnit("mm");
110 fEpsMinCMD->AvailableForStates(G4State_PreInit,G4State_Idle);
111
112 fEpsMaxCMD = new G4UIcmdWithADoubleAndUnit("/field/setEpsMax",this);
113 fEpsMaxCMD->SetGuidance("Define eps max");
114 fEpsMaxCMD->SetParameterName("eps max",false,false);
115 fEpsMaxCMD->SetDefaultUnit("mm");
116 fEpsMaxCMD->AvailableForStates(G4State_PreInit,G4State_Idle);
117}
F04DetectorConstruction * fDetector
G4UIcmdWithADoubleAndUnit * fCaptureB2Cmd
G4UIcmdWithADoubleAndUnit * fDeltaChordCMD
G4UIcmdWithAnInteger * fStepperCMD
G4UIdirectory * fDetDir
G4UIcmdWithADoubleAndUnit * fTransferBCmd
G4UIcmdWithADoubleAndUnit * fCaptureB1Cmd
G4UIcmdWithADoubleAndUnit * fDeltaIntersectionCMD
G4UIcmdWithADoubleAndUnit * fMinStepCMD
G4UIcmdWithADoubleAndUnit * fEpsMaxCMD
G4UIcmdWithADoubleAndUnit * fDeltaOneStepCMD
F04GlobalField * fGlobalField
G4UIcmdWithADoubleAndUnit * fEpsMinCMD

◆ ~F04FieldMessenger()

F04FieldMessenger::~F04FieldMessenger ( )
override

Definition at line 121 of file F04FieldMessenger.cc.

122{
123 delete fDetDir;
124
125 delete fCaptureB1Cmd;
126 delete fCaptureB2Cmd;
127 delete fTransferBCmd;
128
129 delete fStepperCMD;
130 delete fMinStepCMD;
131 delete fDeltaChordCMD;
132 delete fDeltaOneStepCMD;
134 delete fEpsMinCMD;
135 delete fEpsMaxCMD;
136}

Member Function Documentation

◆ SetNewValue()

void F04FieldMessenger::SetNewValue ( G4UIcommand command,
G4String  newValue 
)
override

Definition at line 140 of file F04FieldMessenger.cc.

141{
142
143 if( command == fCaptureB1Cmd )
144 fDetector->SetCaptureMgntB1(fCaptureB1Cmd->GetNewDoubleValue(newValue));
145
146 if( command == fCaptureB2Cmd )
147 fDetector->SetCaptureMgntB2(fCaptureB2Cmd->GetNewDoubleValue(newValue));
148
149 if( command == fTransferBCmd )
150 fDetector->SetTransferMgntB(fTransferBCmd->GetNewDoubleValue(newValue));
151
152 if( command == fStepperCMD )
153 {
154 fGlobalField->SetStepperType(fStepperCMD->GetNewIntValue(newValue));
155 }
156 if( command == fMinStepCMD )
157 {
158 fGlobalField->SetMinStep(fMinStepCMD->GetNewDoubleValue(newValue));
159 }
160 if( command == fDeltaChordCMD )
161 {
162 fGlobalField->SetDeltaChord(fDeltaChordCMD->GetNewDoubleValue(newValue));
163 }
164 if( command == fDeltaOneStepCMD )
165 {
167 SetDeltaOneStep(fDeltaOneStepCMD->GetNewDoubleValue(newValue));
168 }
169 if( command == fDeltaIntersectionCMD )
170 {
172 SetDeltaIntersection(fDeltaIntersectionCMD->GetNewDoubleValue(newValue));
173 }
174 if( command == fEpsMinCMD )
175 {
176 fGlobalField->SetEpsMin(fEpsMinCMD->GetNewDoubleValue(newValue));
177 }
178 if( command == fEpsMaxCMD )
179 {
180 fGlobalField->SetEpsMax(fEpsMaxCMD->GetNewDoubleValue(newValue));
181 }
182}
void SetMinStep(G4double stp)
Set the minimum step length.
void SetEpsMin(G4double eps)
Set the minimum eps length.
void SetDeltaChord(G4double dcr)
Set the delta chord length.
void SetEpsMax(G4double eps)
Set the maximum eps length.
void SetStepperType(G4int i)
Set the Stepper types.

Member Data Documentation

◆ fGlobalField

F04GlobalField* F04FieldMessenger::fGlobalField = nullptr
private

Definition at line 56 of file F04FieldMessenger.hh.

◆ fDetDir

G4UIdirectory* F04FieldMessenger::fDetDir = nullptr
private

Definition at line 58 of file F04FieldMessenger.hh.

◆ fCaptureB1Cmd

G4UIcmdWithADoubleAndUnit* F04FieldMessenger::fCaptureB1Cmd = nullptr
private

Definition at line 60 of file F04FieldMessenger.hh.

◆ fCaptureB2Cmd

G4UIcmdWithADoubleAndUnit* F04FieldMessenger::fCaptureB2Cmd = nullptr
private

Definition at line 61 of file F04FieldMessenger.hh.

◆ fTransferBCmd

G4UIcmdWithADoubleAndUnit* F04FieldMessenger::fTransferBCmd = nullptr
private

Definition at line 62 of file F04FieldMessenger.hh.

◆ fStepperCMD

G4UIcmdWithAnInteger* F04FieldMessenger::fStepperCMD = nullptr
private

Definition at line 64 of file F04FieldMessenger.hh.

◆ fMinStepCMD

G4UIcmdWithADoubleAndUnit* F04FieldMessenger::fMinStepCMD = nullptr
private

Definition at line 65 of file F04FieldMessenger.hh.

◆ fDeltaChordCMD

G4UIcmdWithADoubleAndUnit* F04FieldMessenger::fDeltaChordCMD = nullptr
private

Definition at line 66 of file F04FieldMessenger.hh.

◆ fDeltaOneStepCMD

G4UIcmdWithADoubleAndUnit* F04FieldMessenger::fDeltaOneStepCMD = nullptr
private

Definition at line 67 of file F04FieldMessenger.hh.

◆ fDeltaIntersectionCMD

G4UIcmdWithADoubleAndUnit* F04FieldMessenger::fDeltaIntersectionCMD = nullptr
private

Definition at line 68 of file F04FieldMessenger.hh.

◆ fEpsMinCMD

G4UIcmdWithADoubleAndUnit* F04FieldMessenger::fEpsMinCMD = nullptr
private

Definition at line 69 of file F04FieldMessenger.hh.

◆ fEpsMaxCMD

G4UIcmdWithADoubleAndUnit* F04FieldMessenger::fEpsMaxCMD = nullptr
private

Definition at line 70 of file F04FieldMessenger.hh.

◆ fDetector

F04DetectorConstruction* F04FieldMessenger::fDetector = nullptr
private

Definition at line 72 of file F04FieldMessenger.hh.


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

Applications | User Support | Publications | Collaboration