Geant4  10.03.p03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
F01DetectorMessenger Class Reference

#include <F01DetectorMessenger.hh>

Inheritance diagram for F01DetectorMessenger:
Collaboration diagram for F01DetectorMessenger:

Public Member Functions

 F01DetectorMessenger (F01DetectorConstruction *)
 
virtual ~F01DetectorMessenger ()
 
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
 
G4bool CommandsShouldBeInMaster () 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
 
G4bool commandsShouldBeInMaster
 

Detailed Description

Definition at line 51 of file F01DetectorMessenger.hh.

Constructor & Destructor Documentation

F01DetectorMessenger::F01DetectorMessenger ( F01DetectorConstruction det)

Definition at line 45 of file F01DetectorMessenger.cc.

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("F01 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:240
void SetDefaultValue(const char *defVal)
void SetDefaultUnit(const char *defUnit)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)

Here is the call graph for this function:

F01DetectorMessenger::~F01DetectorMessenger ( )
virtual

Definition at line 116 of file F01DetectorMessenger.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 F01DetectorMessenger::SetNewValue ( G4UIcommand command,
G4String  newValue 
)
virtual

Reimplemented from G4UImessenger.

Definition at line 130 of file F01DetectorMessenger.cc.

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)

Here is the call graph for this function:


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