- Timestamp:
- Apr 6, 2009, 12:21:12 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/electromagnetic/utils/src/G4EnergyLossMessenger.cc
r819 r961 25 25 // 26 26 // 27 // $Id: G4EnergyLossMessenger.cc,v 1. 29 2007/06/11 14:56:51vnivanch Exp $28 // GEANT4 tag $Name: geant4-09-0 1-patch-02 $27 // $Id: G4EnergyLossMessenger.cc,v 1.37 2009/02/18 14:43:27 vnivanch Exp $ 28 // GEANT4 tag $Name: geant4-09-02-ref-02 $ 29 29 // 30 30 // ------------------------------------------------------------------- … … 49 49 // 16-03-07 modify /process/eLoss/minsubsec command (V.Ivanchenko) 50 50 // 18-05-07 add /process/msc directory and commands (V.Ivanchenko) 51 // 11-03-08 add /process/em directory and commands (V.Ivanchenko) 51 52 // 52 53 // ------------------------------------------------------------------- … … 84 85 mscDirectory = new G4UIdirectory("/process/msc/"); 85 86 mscDirectory->SetGuidance("Commands for EM scattering processes."); 87 emDirectory = new G4UIdirectory("/process/em/"); 88 emDirectory->SetGuidance("General commands for EM processes."); 86 89 87 90 RndmStepCmd = new G4UIcmdWithABool("/process/eLoss/rndmStep",this); … … 146 149 147 150 IntegCmd = new G4UIcmdWithABool("/process/eLoss/integral",this); 148 IntegCmd->SetGuidance("Switch true/false the integra tion of cross section over step.");151 IntegCmd->SetGuidance("Switch true/false the integral option"); 149 152 IntegCmd->SetParameterName("integ",true); 150 153 IntegCmd->SetDefaultValue(true); … … 152 155 153 156 rangeCmd = new G4UIcmdWithABool("/process/eLoss/CSDARange",this); 154 rangeCmd->SetGuidance("Switch true/false the precise range calculation.");157 rangeCmd->SetGuidance("Switch true/false the CSDA range calculation"); 155 158 rangeCmd->SetParameterName("range",true); 156 159 rangeCmd->SetDefaultValue(true); … … 158 161 159 162 lpmCmd = new G4UIcmdWithABool("/process/eLoss/LPM",this); 160 lpmCmd->SetGuidance(" Switch true/false the LPM effect calculation.");163 lpmCmd->SetGuidance("The flag of the LPM effect calculation"); 161 164 lpmCmd->SetParameterName("lpm",true); 162 165 lpmCmd->SetDefaultValue(true); 163 166 lpmCmd->AvailableForStates(G4State_PreInit,G4State_Idle); 164 167 168 splCmd = new G4UIcmdWithABool("/process/em/spline",this); 169 splCmd->SetGuidance("The flag of usage spline for Physics Vectors"); 170 splCmd->SetParameterName("spl",true); 171 splCmd->SetDefaultValue(false); 172 splCmd->AvailableForStates(G4State_PreInit,G4State_Idle); 173 174 aplCmd = new G4UIcmdWithABool("/process/em/applyCuts",this); 175 aplCmd->SetGuidance("The flag to Apply Cuts for gamma processes"); 176 aplCmd->SetParameterName("apl",true); 177 aplCmd->SetDefaultValue(false); 178 aplCmd->AvailableForStates(G4State_PreInit,G4State_Idle); 179 180 deexCmd = new G4UIcommand("/process/em/deexcitation",this); 181 deexCmd->SetGuidance("Set deexcitation flag per process and G4Region."); 182 deexCmd->SetGuidance(" procName : process name"); 183 deexCmd->SetGuidance(" flag : flag"); 184 deexCmd->SetGuidance(" regName : G4Region name"); 185 186 G4UIparameter* pName = new G4UIparameter("pName",'s',false); 187 deexCmd->SetParameter(pName); 188 189 G4UIparameter* flag = new G4UIparameter("flag",'s',false); 190 deexCmd->SetParameter(flag); 191 192 G4UIparameter* regName = new G4UIparameter("regName",'s',false); 193 deexCmd->SetParameter(regName); 194 165 195 dedxCmd = new G4UIcmdWithAnInteger("/process/eLoss/binsDEDX",this); 166 dedxCmd->SetGuidance("Set number of bins for DEDX tables .");196 dedxCmd->SetGuidance("Set number of bins for DEDX tables"); 167 197 dedxCmd->SetParameterName("binsDEDX",true); 168 198 dedxCmd->SetDefaultValue(120); … … 170 200 171 201 lamCmd = new G4UIcmdWithAnInteger("/process/eLoss/binsLambda",this); 172 lamCmd->SetGuidance("Set number of bins for Lambda tables .");202 lamCmd->SetGuidance("Set number of bins for Lambda tables"); 173 203 lamCmd->SetParameterName("binsL",true); 174 204 lamCmd->SetDefaultValue(120); … … 176 206 177 207 verCmd = new G4UIcmdWithAnInteger("/process/eLoss/verbose",this); 178 verCmd->SetGuidance("Set verbose level for EM physics .");208 verCmd->SetGuidance("Set verbose level for EM physics"); 179 209 verCmd->SetParameterName("verb",true); 180 210 verCmd->SetDefaultValue(1); 181 211 verCmd->AvailableForStates(G4State_PreInit,G4State_Idle); 182 212 213 ver1Cmd = new G4UIcmdWithAnInteger("/process/em/verbose",this); 214 ver1Cmd->SetGuidance("Set verbose level for EM physics"); 215 ver1Cmd->SetParameterName("verb1",true); 216 ver1Cmd->SetDefaultValue(1); 217 ver1Cmd->AvailableForStates(G4State_PreInit,G4State_Idle); 218 183 219 lllCmd = new G4UIcmdWithADouble("/process/eLoss/linLossLimit",this); 184 lllCmd->SetGuidance("Set linearLossLimit parameter .");220 lllCmd->SetGuidance("Set linearLossLimit parameter"); 185 221 lllCmd->SetParameterName("linlim",true); 186 222 lllCmd->AvailableForStates(G4State_PreInit,G4State_Idle); 187 223 188 labCmd = new G4UIcmdWithADouble("/process/eLoss/ lambdaFactor",this);189 labCmd->SetGuidance("Set lambdaFactor parameter .");224 labCmd = new G4UIcmdWithADouble("/process/eLoss/LambdaFactor",this); 225 labCmd->SetGuidance("Set lambdaFactor parameter for integral option"); 190 226 labCmd->SetParameterName("Fl",true); 191 227 labCmd->AvailableForStates(G4State_PreInit,G4State_Idle); 192 228 193 229 mscCmd = new G4UIcmdWithAString("/process/msc/StepLimit",this); 194 mscCmd->SetGuidance("Set msc step limitation type .");230 mscCmd->SetGuidance("Set msc step limitation type"); 195 231 mscCmd->SetParameterName("StepLim",true); 196 232 mscCmd->AvailableForStates(G4State_PreInit,G4State_Idle); 197 233 198 234 latCmd = new G4UIcmdWithABool("/process/msc/LateralDisplacement",this); 199 latCmd->SetGuidance("S witch true/false sampling of latra dislacent.");235 latCmd->SetGuidance("Set flag of sampling of lateral displacement"); 200 236 latCmd->SetParameterName("lat",true); 201 237 latCmd->SetDefaultValue(true); … … 203 239 204 240 frCmd = new G4UIcmdWithADouble("/process/msc/RangeFactor",this); 205 frCmd->SetGuidance("Set RangeFactor parameter for msc process .");241 frCmd->SetGuidance("Set RangeFactor parameter for msc processes"); 206 242 frCmd->SetParameterName("Fr",true); 207 243 frCmd->SetRange("Fr>0"); … … 210 246 211 247 fgCmd = new G4UIcmdWithADouble("/process/msc/GeomFactor",this); 212 fgCmd->SetGuidance("Set GeomFactor parameter for msc process .");248 fgCmd->SetGuidance("Set GeomFactor parameter for msc processes"); 213 249 fgCmd->SetParameterName("Fg",true); 214 250 fgCmd->SetRange("Fg>0"); … … 217 253 218 254 skinCmd = new G4UIcmdWithADouble("/process/msc/Skin",this); 219 skinCmd->SetGuidance("Set skin parameter for m ultiple scattering.");255 skinCmd->SetGuidance("Set skin parameter for msc processes"); 220 256 skinCmd->SetParameterName("skin",true); 221 257 skinCmd->AvailableForStates(G4State_PreInit,G4State_Idle); 222 258 259 angCmd = new G4UIcmdWithADoubleAndUnit("/process/msc/ThetaLimit",this); 260 angCmd->SetGuidance("Set the limit on the polar angle"); 261 angCmd->SetParameterName("theta",true); 262 angCmd->SetUnitCategory("Angle"); 263 angCmd->AvailableForStates(G4State_PreInit,G4State_Idle); 223 264 } 224 265 … … 233 274 delete MinSubSecCmd; 234 275 delete StepFuncCmd; 276 delete deexCmd; 235 277 delete eLossDirectory; 236 278 delete mscDirectory; 279 delete emDirectory; 237 280 delete MinEnCmd; 238 281 delete MaxEnCmd; … … 240 283 delete rangeCmd; 241 284 delete lpmCmd; 285 delete splCmd; 286 delete aplCmd; 242 287 delete latCmd; 243 288 delete verCmd; 289 delete ver1Cmd; 244 290 delete mscCmd; 245 291 delete dedxCmd; … … 250 296 delete labCmd; 251 297 delete skinCmd; 298 delete angCmd; 252 299 } 253 300 … … 289 336 } 290 337 338 if (command == deexCmd) { 339 G4String s1 (""), s2(""), s3(""); 340 G4bool b = false; 341 std::istringstream is(newValue); 342 is >> s1 >> s2 >> s3; 343 if(s2 == "true") b = true; 344 opt->ActivateDeexcitation(s1,b,s3); 345 } 346 291 347 if (command == mscCmd) { 292 348 if(newValue == "Minimal") … … 317 373 } 318 374 319 if (command == IntegCmd) 375 if (command == IntegCmd) { 320 376 opt->SetIntegral(IntegCmd->GetNewBoolValue(newValue)); 321 377 } 322 378 if (command == rangeCmd) { 323 379 opt->SetBuildCSDARange(rangeCmd->GetNewBoolValue(newValue)); … … 330 386 } 331 387 388 if (command == splCmd) { 389 opt->SetSplineFlag(splCmd->GetNewBoolValue(newValue)); 390 G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified"); 391 } 392 393 if (command == aplCmd) { 394 opt->SetApplyCuts(aplCmd->GetNewBoolValue(newValue)); 395 } 396 332 397 if (command == latCmd) { 333 398 opt->SetMscLateralDisplacement(latCmd->GetNewBoolValue(newValue)); … … 335 400 } 336 401 337 if (command == verCmd) 402 if (command == verCmd) { 338 403 opt->SetVerbose(verCmd->GetNewIntValue(newValue)); 339 340 if (command == lllCmd) 404 } 405 if (command == ver1Cmd) { 406 opt->SetVerbose(ver1Cmd->GetNewIntValue(newValue)); 407 } 408 if (command == lllCmd) { 341 409 opt->SetLinearLossLimit(lllCmd->GetNewDoubleValue(newValue)); 342 343 if (command == labCmd) 410 } 411 if (command == labCmd) { 344 412 opt->SetLambdaFactor(labCmd->GetNewDoubleValue(newValue)); 345 413 } 346 414 if (command == skinCmd) { 347 415 opt->SetSkin(skinCmd->GetNewDoubleValue(newValue)); … … 364 432 G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified"); 365 433 } 434 if (command == angCmd) { 435 opt->SetPolarAngleLimit(angCmd->GetNewDoubleValue(newValue)); 436 G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified"); 437 } 366 438 } 367 439
Note: See TracChangeset
for help on using the changeset viewer.