BLCMDmuminuscapturefix Class Reference

Inheritance diagram for BLCMDmuminuscapturefix:

BLCommand BLCallback

List of all members.


Detailed Description

class BLCMDmuminuscapturefix fixes up the G4MuonMinusCaptureAtRest process.

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

Constructor & Destructor Documentation

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 }


Member Function Documentation

virtual G4String BLCMDmuminuscapturefix::commandName (  )  [inline, virtual]

commandName() returns "muminuscapturefix".

Implements BLCommand.

00186 { return "muminuscapturefix"; }

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 }


Member Data Documentation

bool BLCMDmuminuscapturefix::first = true [static, private]

Referenced by command().


The documentation for this class was generated from the following file:
g4beamline