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_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 }


Member Function Documentation

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

commandName() returns "muminuscapturefix".

Implements BLCommand.

00185 { 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().

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 }


Member Data Documentation

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

Referenced by command().


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