musrsim/geant4/LEMuSR/include/LEMuSRPgaMessenger.hh
2006-02-16 17:21:13 +00:00

98 lines
3.0 KiB
C++

//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$//*
// LOW ENERGY MUON SPIN RELAXATION, ROTATION, RADIATION
//
// ID : LEMuSRPgaMessenger.cc , v 1.2
// AUTHOR: Taofiq PARAISO
// DATE : 2004-09-16 09:12
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$//
//
// & &&&&&&&&&& &&&&&&& &&&&&&&&
// & & && && & &&
// & & & & & & &&
// & &&&&&&& & & &&&&&& &&&&&&&&
// & & & && & & &&
// & & && & & && && & &
// &&&&&&&&&& &&&&&&&&&& & &&&&& && &&&&&&& & &&
// &
// &
// &
// &
// PRIMARY GENERATOR ACTION MESSENGER
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$//
#ifndef LEMUSRPGAMESSENGER_H
#define LEMUSRPGAMESSENGER_H 1
class LEMuSRPrimaryGeneratorAction;
class G4UIdirectory;
class G4UIcmdWithoutParameter;
class G4UIcmdWithAString;
class G4UIcmdWithADoubleAndUnit;
class G4UIcmdWithADouble;
class G4UIcmdWith3Vector;
class G4UIcmdWith3VectorAndUnit;
class G4UIcmdWithAnInteger;
#include "G4UImessenger.hh"
#include "globals.hh"
/**
* The LEMuSRPgaMessenger class is the completion of the LEMuSRParticleGunMessenger
* class which defines the terminal's commands to operate changes in the initial
* conditions of the muon beam.
*
* The commands directory lemuGun/ is completed with commands
* to shoot particles randomely and to specify the energy distribution etc.
*/
class LEMuSRPgaMessenger: public G4UImessenger
{
public:
//!\ct
LEMuSRPgaMessenger(LEMuSRPrimaryGeneratorAction* thPGA);
//!\dt
~LEMuSRPgaMessenger();
public:
//! \mm
void SetNewValue(G4UIcommand * command,G4String newValues);
private:
//! Pointer to the LEMuSRPrimaryGeneratorAction object.
LEMuSRPrimaryGeneratorAction * lemuPGA;
private: //commands
//! Directory of the commands.
G4UIdirectory * pgaDirectory;
//! Set particle energy.
G4UIcmdWithAString *setRndEnergy;
//! Set the particle type.
G4UIcmdWithAString *setMuonium;
//! Unusedx
G4UIcmdWithoutParameter *reset;
G4UIcmdWith3Vector
//! Set Gun Position (fixed).
*posCmd,
//! Set Momentum Direction.
*momCmd,
//! Set Square Scan.
*scaCmd,
//! Set Circular Scan.
*scbCmd,
//! Set Gaussian Scan.
*scgCmd,
//! Set Gaussian Energy Distribution.
*setEGauss;
//! Set Energy Value.
G4UIcmdWithADouble *setEnergy;
// Set Energy Offset.
G4UIcmdWithADouble *setKEoffset;
// Set Particle's Charge (not implemented).
G4UIcmdWithADouble *setCharge;
};
#endif