Public Member Functions | |
BLCMDmuminuscapturefix () | |
Constructor. | |
virtual G4String | commandName () |
commandName() returns "muminuscapturefix". | |
virtual int | command (BLArgumentVector &argv, BLArgumentMap &namedArgs) |
command() implements the muminuscapturefix command. | |
virtual void | defineNamedArgs () |
defineNamedArgs() defines the named arguments for this command. | |
void | callback (int type) |
callback() from BLCallback. | |
Private Attributes | |
double | neutronMeanNumber |
double | neutronMeanEnergy |
Static Private Attributes | |
static bool | first = true |
BLCMDmuminuscapturefix::BLCMDmuminuscapturefix | ( | ) |
Constructor.
References BLCMDTYPE_CONTROL, DEFAULT_NEUTRONMEANENERGY, DEFAULT_NEUTRONMEANNUMBER, neutronMeanEnergy, neutronMeanNumber, BLCommand::registerCommand(), BLCommand::setDescription(), and BLCommand::setSynopsis().
00202 { 00203 registerCommand(BLCMDTYPE_CONTROL); 00204 setSynopsis("Fixes up the G4MuonMinusCaptureAtRest process."); 00205 setDescription(" This class adds extra neutrons to mu- capture. " 00206 "The neutrons are added with a Poisson distribution having " 00207 "a mean of neutronMeanNumber, and with an exponential " 00208 "distribution in kinetic energy:\n" 00209 " (1/neutronMeanEnergy)*exp(-KE/neutronMeanEnergy)\n" 00210 "As the muonic atom cascades to its ground state it forgets " 00211 "the incident mu- direction, so the extra neutrons are " 00212 "generated isotropically in the lab.\n\n" 00213 "The extra neutrons are added only to those captures that are " 00214 "hadronic (i.e. not decay in orbit). The value of " 00215 "neutronMeanNumber should reflect this.\n\n" 00216 "The default values correspond to Aluminum."); 00217 00218 // values for neutrons from mu- stopping in Al 00219 // this is the "high-energy tail" that is missing from the G4 process. 00220 neutronMeanNumber = DEFAULT_NEUTRONMEANNUMBER; 00221 neutronMeanEnergy = DEFAULT_NEUTRONMEANENERGY; 00222 }
virtual G4String BLCMDmuminuscapturefix::commandName | ( | ) | [inline, virtual] |
int BLCMDmuminuscapturefix::command | ( | BLArgumentVector & | argv, | |
BLArgumentMap & | namedArgs | |||
) | [virtual] |
command() implements the muminuscapturefix command.
Implements BLCommand.
References first, BLManager::getObject(), BLCommand::handleNamedArgs(), BLCommand::print(), BLCommand::printError(), and BLManager::registerCallback().
00225 { 00226 if(!first) { 00227 printError("muminuscapturefix: Multiple commands are ignored"); 00228 return -1; 00229 } 00230 first = false; 00231 00232 int retval = handleNamedArgs(namedArgs); 00233 00234 BLManager::getObject()->registerCallback(this,0); 00235 00236 print(""); 00237 00238 return retval; 00239 }
void BLCMDmuminuscapturefix::defineNamedArgs | ( | ) | [virtual] |
defineNamedArgs() defines the named arguments for this command.
Reimplemented from BLCommand.
References BLCommand::argDouble(), neutronMeanEnergy, and neutronMeanNumber.
00242 { 00243 argDouble(neutronMeanNumber,"neutronMeanNumber", 00244 "Mean mumber of extra neutrons per nuclear capture (1.0)."); 00245 argDouble(neutronMeanEnergy,"neutronMeanEnergy", 00246 "Mean energy of neutron spectrum (MeV)",MeV); 00247 }
void BLCMDmuminuscapturefix::callback | ( | int | type | ) | [virtual] |
callback() from BLCallback.
Reimplemented from BLCallback.
References neutronMeanEnergy, and neutronMeanNumber.
00250 { 00251 (void)new MuMinusCaptureFix(neutronMeanNumber,neutronMeanEnergy); 00252 }
double BLCMDmuminuscapturefix::neutronMeanNumber [private] |
Referenced by BLCMDmuminuscapturefix(), callback(), and defineNamedArgs().
double BLCMDmuminuscapturefix::neutronMeanEnergy [private] |
Referenced by BLCMDmuminuscapturefix(), callback(), and defineNamedArgs().
bool BLCMDmuminuscapturefix::first = true [static, private] |
Referenced by command().