Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
F02DetectorMessenger Class Reference

#include <F02DetectorMessenger.hh>

Inheritance diagram for F02DetectorMessenger:
G4UImessenger

Public Member Functions

 F02DetectorMessenger (F02DetectorConstruction *)
 
virtual ~F02DetectorMessenger ()
 
virtual void SetNewValue (G4UIcommand *, G4String)
 
- Public Member Functions inherited from G4UImessenger
 G4UImessenger ()
 
 G4UImessenger (const G4String &path, const G4String &dsc, G4bool commandsToBeBroadcasted=true)
 
virtual ~G4UImessenger ()
 
virtual G4String GetCurrentValue (G4UIcommand *command)
 
G4bool operator== (const G4UImessenger &messenger) const
 

Additional Inherited Members

- Protected Member Functions inherited from G4UImessenger
G4String ItoS (G4int i)
 
G4String DtoS (G4double a)
 
G4String BtoS (G4bool b)
 
G4int StoI (G4String s)
 
G4double StoD (G4String s)
 
G4bool StoB (G4String s)
 
void AddUIcommand (G4UIcommand *newCommand)
 
void CreateDirectory (const G4String &path, const G4String &dsc, G4bool commandsToBeBroadcasted=true)
 
template<typename T >
T * CreateCommand (const G4String &cname, const G4String &dsc)
 
- Protected Attributes inherited from G4UImessenger
G4UIdirectorybaseDir
 
G4String baseDirName
 

Detailed Description

Definition at line 51 of file F02DetectorMessenger.hh.

Constructor & Destructor Documentation

F02DetectorMessenger::F02DetectorMessenger ( F02DetectorConstruction det)

Definition at line 45 of file F02DetectorMessenger.cc.

References G4UIcommand::AvailableForStates(), G4State_Idle, G4UIcmdWithADoubleAndUnit::SetDefaultUnit(), G4UIcmdWithAString::SetDefaultValue(), G4UIcommand::SetGuidance(), G4UIcmdWithAString::SetParameterName(), G4UIcmdWithADoubleAndUnit::SetParameterName(), G4UIcommand::SetRange(), and G4UIcommand::SetToBeBroadcasted().

46  : G4UImessenger(),
47  fDetector(det),
48  fDetDir(0),
49  fAbsMaterCmd(0),
50  fAbsThickCmd(0),
51  fAbsRadCmd(0),
52  fAbsZposCmd(0),
53  fWorldMaterCmd(0),
54  fWorldZCmd(0),
55  fWorldRCmd(0)
56 {
57  fDetDir = new G4UIdirectory("/calor/");
58  fDetDir->SetGuidance("F02 detector control.");
59 
60  fAbsMaterCmd = new G4UIcmdWithAString("/calor/setAbsMat",this);
61  fAbsMaterCmd->SetGuidance("Select Material of the Absorber.");
62  fAbsMaterCmd->SetParameterName("choice",true);
63  fAbsMaterCmd->SetDefaultValue("Lead");
64  fAbsMaterCmd->AvailableForStates(G4State_Idle);
65  fAbsMaterCmd->SetToBeBroadcasted(false);
66 
67  fWorldMaterCmd = new G4UIcmdWithAString("/calor/setWorldMat",this);
68  fWorldMaterCmd->SetGuidance("Select Material of the World.");
69  fWorldMaterCmd->SetParameterName("wchoice",true);
70  fWorldMaterCmd->SetDefaultValue("Air");
71  fWorldMaterCmd->AvailableForStates(G4State_Idle);
72  fWorldMaterCmd->SetToBeBroadcasted(false);
73 
74  fAbsThickCmd = new G4UIcmdWithADoubleAndUnit("/calor/setAbsThick",this);
75  fAbsThickCmd->SetGuidance("Set Thickness of the Absorber");
76  fAbsThickCmd->SetParameterName("SizeZ",false,false);
77  fAbsThickCmd->SetDefaultUnit("mm");
78  fAbsThickCmd->SetRange("SizeZ>0.");
79  fAbsThickCmd->AvailableForStates(G4State_Idle);
80  fAbsThickCmd->SetToBeBroadcasted(false);
81 
82  fAbsRadCmd = new G4UIcmdWithADoubleAndUnit("/calor/setAbsRad",this);
83  fAbsRadCmd->SetGuidance("Set radius of the Absorber");
84  fAbsRadCmd->SetParameterName("SizeR",false,false);
85  fAbsRadCmd->SetDefaultUnit("mm");
86  fAbsRadCmd->SetRange("SizeR>0.");
87  fAbsRadCmd->AvailableForStates(G4State_Idle);
88  fAbsRadCmd->SetToBeBroadcasted(false);
89 
90  fAbsZposCmd = new G4UIcmdWithADoubleAndUnit("/calor/setAbsZpos",this);
91  fAbsZposCmd->SetGuidance("Set Z pos. of the Absorber");
92  fAbsZposCmd->SetParameterName("Zpos",false,false);
93  fAbsZposCmd->SetDefaultUnit("mm");
94  fAbsZposCmd->AvailableForStates(G4State_Idle);
95  fAbsZposCmd->SetToBeBroadcasted(false);
96 
97  fWorldZCmd = new G4UIcmdWithADoubleAndUnit("/calor/setWorldZ",this);
98  fWorldZCmd->SetGuidance("Set Z size of the World");
99  fWorldZCmd->SetParameterName("WSizeZ",false,false);
100  fWorldZCmd->SetDefaultUnit("mm");
101  fWorldZCmd->SetRange("WSizeZ>0.");
102  fWorldZCmd->AvailableForStates(G4State_Idle);
103  fWorldZCmd->SetToBeBroadcasted(false);
104 
105  fWorldRCmd = new G4UIcmdWithADoubleAndUnit("/calor/setWorldR",this);
106  fWorldRCmd->SetGuidance("Set R size of the World");
107  fWorldRCmd->SetParameterName("WSizeR",false,false);
108  fWorldRCmd->SetDefaultUnit("mm");
109  fWorldRCmd->SetRange("WSizeR>0.");
110  fWorldRCmd->AvailableForStates(G4State_Idle);
111  fWorldRCmd->SetToBeBroadcasted(false);
112 }
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetToBeBroadcasted(G4bool val)
Definition: G4UIcommand.hh:184
void SetRange(const char *rs)
Definition: G4UIcommand.hh:125
void SetGuidance(const char *aGuidance)
Definition: G4UIcommand.hh:161
void AvailableForStates(G4ApplicationState s1)
Definition: G4UIcommand.cc:225
void SetDefaultValue(const char *defVal)
void SetDefaultUnit(const char *defUnit)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
F02DetectorMessenger::~F02DetectorMessenger ( )
virtual

Definition at line 116 of file F02DetectorMessenger.cc.

117 {
118  delete fAbsMaterCmd;
119  delete fAbsThickCmd;
120  delete fAbsRadCmd;
121  delete fAbsZposCmd;
122  delete fWorldMaterCmd;
123  delete fWorldZCmd;
124  delete fWorldRCmd;
125  delete fDetDir;
126 }

Member Function Documentation

void F02DetectorMessenger::SetNewValue ( G4UIcommand command,
G4String  newValue 
)
virtual

Reimplemented from G4UImessenger.

Definition at line 130 of file F02DetectorMessenger.cc.

References G4UIcmdWithADoubleAndUnit::GetNewDoubleValue(), F02DetectorConstruction::SetAbsorberMaterial(), F02DetectorConstruction::SetAbsorberRadius(), F02DetectorConstruction::SetAbsorberThickness(), F02DetectorConstruction::SetAbsorberZpos(), F02DetectorConstruction::SetWorldMaterial(), F02DetectorConstruction::SetWorldSizeR(), and F02DetectorConstruction::SetWorldSizeZ().

131 {
132  if( command == fAbsMaterCmd )
133  { fDetector->SetAbsorberMaterial(newValue);}
134 
135  if( command == fWorldMaterCmd )
136  { fDetector->SetWorldMaterial(newValue);}
137 
138  if( command == fAbsThickCmd )
139  {fDetector->SetAbsorberThickness(fAbsThickCmd->GetNewDoubleValue(newValue));}
140 
141  if( command == fAbsRadCmd )
142  { fDetector->SetAbsorberRadius(fAbsRadCmd->GetNewDoubleValue(newValue));}
143 
144  if( command == fAbsZposCmd )
145  { fDetector->SetAbsorberZpos(fAbsZposCmd->GetNewDoubleValue(newValue));}
146 
147  if( command == fWorldZCmd )
148  { fDetector->SetWorldSizeZ(fWorldZCmd->GetNewDoubleValue(newValue));}
149 
150  if( command == fWorldRCmd )
151  { fDetector->SetWorldSizeR(fWorldRCmd->GetNewDoubleValue(newValue));}
152 }
static G4double GetNewDoubleValue(const char *paramString)

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