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