#include <G4ProductionCutsTableMessenger.hh>
Inheritance diagram for G4ProductionCutsTableMessenger:
Public Member Functions | |
G4ProductionCutsTableMessenger (G4ProductionCutsTable *pTable) | |
virtual | ~G4ProductionCutsTableMessenger () |
virtual void | SetNewValue (G4UIcommand *command, G4String newValues) |
virtual G4String | GetCurrentValue (G4UIcommand *command) |
Protected Attributes | |
G4ProductionCutsTable * | theCutsTable |
Definition at line 65 of file G4ProductionCutsTableMessenger.hh.
G4ProductionCutsTableMessenger::G4ProductionCutsTableMessenger | ( | G4ProductionCutsTable * | pTable | ) |
Definition at line 51 of file G4ProductionCutsTableMessenger.cc.
References G4UIcommand::AvailableForStates(), G4State_PreInit, G4UIcmdWithADoubleAndUnit::SetDefaultUnit(), G4UIcmdWithADoubleAndUnit::SetDefaultValue(), G4UIcmdWithAnInteger::SetDefaultValue(), G4UIcommand::SetGuidance(), G4UIcmdWithADoubleAndUnit::SetParameterName(), G4UIcmdWithAnInteger::SetParameterName(), and G4UIcommand::SetRange().
00052 :theCutsTable(pTable) 00053 { 00054 // /cuts/ directory 00055 theDirectory = new G4UIdirectory("/cuts/"); 00056 theDirectory->SetGuidance("Commands for G4VUserPhysicsList."); 00057 00058 // /cuts/verbose command 00059 verboseCmd = new G4UIcmdWithAnInteger("/cuts/verbose",this); 00060 verboseCmd->SetGuidance("Set the Verbose level of G4ProductionCutsTable."); 00061 verboseCmd->SetGuidance(" 0 : Silent (default)"); 00062 verboseCmd->SetGuidance(" 1 : Display warning messages"); 00063 verboseCmd->SetGuidance(" 2 : Display more info"); 00064 verboseCmd->SetGuidance(" 2 : Display debug info"); 00065 verboseCmd->SetParameterName("level",true); 00066 verboseCmd->SetDefaultValue(0); 00067 verboseCmd->SetRange("level >=0 && level <=3"); 00068 00069 // /cuts/setLowEdge command 00070 setLowEdgeCmd = new G4UIcmdWithADoubleAndUnit("/cuts/setLowEdge",this); 00071 setLowEdgeCmd->SetGuidance("Set low edge energy value "); 00072 setLowEdgeCmd->SetParameterName("edge",false); 00073 setLowEdgeCmd->SetDefaultValue(0.99); 00074 setLowEdgeCmd->SetRange("edge >0.0"); 00075 setLowEdgeCmd->SetDefaultUnit("keV"); 00076 setLowEdgeCmd->AvailableForStates(G4State_PreInit); 00077 00078 // /cuts/setHighEdge command 00079 setHighEdgeCmd = new G4UIcmdWithADoubleAndUnit("/cuts/setHighEdge",this); 00080 setHighEdgeCmd->SetGuidance("Set high edge energy value "); 00081 setHighEdgeCmd->SetParameterName("edge",false); 00082 setHighEdgeCmd->SetDefaultValue(100.0); 00083 setHighEdgeCmd->SetRange("edge >0.0"); 00084 setHighEdgeCmd->SetDefaultUnit("TeV"); 00085 setHighEdgeCmd->AvailableForStates(G4State_PreInit); 00086 00087 // /cuts/setMaxCutEnergy command 00088 setMaxEnergyCutCmd = new G4UIcmdWithADoubleAndUnit("/cuts/setMaxCutEnergy",this); 00089 setMaxEnergyCutCmd->SetGuidance("Set maximum of cut energy value "); 00090 setMaxEnergyCutCmd->SetParameterName("cut",false); 00091 setMaxEnergyCutCmd->SetDefaultValue(10.0); 00092 setMaxEnergyCutCmd->SetRange("cut >0.0"); 00093 setMaxEnergyCutCmd->SetDefaultUnit("GeV"); 00094 setMaxEnergyCutCmd->AvailableForStates(G4State_PreInit); 00095 00096 // /cuts/dump command 00097 dumpCmd = new G4UIcmdWithoutParameter("/cuts/dump",this); 00098 dumpCmd->SetGuidance("Dump cuplues in ProductuinCutsTable. "); 00099 00100 }
G4ProductionCutsTableMessenger::~G4ProductionCutsTableMessenger | ( | ) | [virtual] |
Definition at line 102 of file G4ProductionCutsTableMessenger.cc.
00103 { 00104 delete dumpCmd; 00105 delete setMaxEnergyCutCmd; 00106 delete setHighEdgeCmd; 00107 delete setLowEdgeCmd; 00108 delete verboseCmd; 00109 delete theDirectory; 00110 }
G4String G4ProductionCutsTableMessenger::GetCurrentValue | ( | G4UIcommand * | command | ) | [virtual] |
Reimplemented from G4UImessenger.
Definition at line 138 of file G4ProductionCutsTableMessenger.cc.
References G4UIcommand::ConvertToString(), G4ProductionCutsTable::GetHighEdgeEnergy(), G4ProductionCutsTable::GetLowEdgeEnergy(), G4ProductionCutsTable::GetMaxEnergyCut(), G4ProductionCutsTable::GetVerboseLevel(), and theCutsTable.
00139 { 00140 G4String cv; 00141 00142 if( command==verboseCmd ){ 00143 cv = verboseCmd->ConvertToString(theCutsTable->GetVerboseLevel()); 00144 00145 } else if( command==setLowEdgeCmd ){ 00146 G4double lowEdge = theCutsTable->GetLowEdgeEnergy(); 00147 cv = setLowEdgeCmd->ConvertToString( lowEdge, "keV" ); 00148 00149 } else if( command==setHighEdgeCmd ){ 00150 G4double highEdge = theCutsTable->GetHighEdgeEnergy(); 00151 cv = setHighEdgeCmd->ConvertToString( highEdge, "TeV" ); 00152 00153 } else if( command==setMaxEnergyCutCmd ){ 00154 G4double cut = theCutsTable->GetMaxEnergyCut(); 00155 cv = setMaxEnergyCutCmd->ConvertToString( cut, "GeV" ); 00156 } 00157 00158 00159 return cv; 00160 00161 }
void G4ProductionCutsTableMessenger::SetNewValue | ( | G4UIcommand * | command, | |
G4String | newValues | |||
) | [virtual] |
Reimplemented from G4UImessenger.
Definition at line 112 of file G4ProductionCutsTableMessenger.cc.
References G4ProductionCutsTable::GetHighEdgeEnergy(), G4ProductionCutsTable::GetLowEdgeEnergy(), G4UIcmdWithADoubleAndUnit::GetNewDoubleValue(), G4UIcmdWithAnInteger::GetNewIntValue(), G4ProductionCutsTable::SetEnergyRange(), G4ProductionCutsTable::SetMaxEnergyCut(), G4ProductionCutsTable::SetVerboseLevel(), and theCutsTable.
00114 { 00115 if( command==verboseCmd ) { 00116 theCutsTable->SetVerboseLevel(verboseCmd->GetNewIntValue(newValue)); 00117 00118 } else if( command==dumpCmd ){ 00119 theCutsTable-> DumpCouples(); 00120 00121 } else if( command==setLowEdgeCmd ){ 00122 G4double lowEdge = setLowEdgeCmd->GetNewDoubleValue(newValue); 00123 G4double highEdge = theCutsTable->GetHighEdgeEnergy(); 00124 theCutsTable->SetEnergyRange(lowEdge, highEdge); 00125 00126 } else if( command==setHighEdgeCmd ){ 00127 G4double highEdge = setHighEdgeCmd->GetNewDoubleValue(newValue); 00128 G4double lowEdge = theCutsTable->GetLowEdgeEnergy(); 00129 theCutsTable->SetEnergyRange(lowEdge, highEdge); 00130 00131 } else if( command==setMaxEnergyCutCmd ){ 00132 G4double cut = setHighEdgeCmd->GetNewDoubleValue(newValue); 00133 theCutsTable->SetMaxEnergyCut(cut); 00134 00135 } 00136 }
Definition at line 80 of file G4ProductionCutsTableMessenger.hh.
Referenced by GetCurrentValue(), and SetNewValue().