00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039 #include "G4EmQMessenger.hh"
00040 #include "G4EmQExtraPhysics.hh"
00041 #include "G4HadronicDeprecate.hh"
00042
00043
00044 G4EmQMessenger::G4EmQMessenger(G4EmQExtraPhysics* ab)
00045 {
00046 G4HadronicDeprecate("G4EmQMessenger");
00047
00048 theB = ab;
00049 aDir1 = new G4UIdirectory("/physics_engine/");
00050 aDir1->SetGuidance("commands related to the physics simulation engine.");
00051
00052
00053 aDir2 = new G4UIdirectory("/physics_engine/tailor/");
00054 aDir2->SetGuidance("tailoring the processes");
00055
00056
00057 theSynch = new G4UIcmdWithAString("/physics_engine/tailor/SyncRadiation",this);
00058 theSynch->SetGuidance("Switching on/off synchrotron radiation.");
00059 theSynch->SetParameterName("status",false);
00060 theSynch->SetCandidates("on off");
00061 theSynch->SetDefaultValue("off");
00062 theSynch->AvailableForStates(G4State_PreInit,G4State_Idle);
00063
00064
00065 theGN = new G4UIcmdWithAString("/physics_engine/tailor/GammaNuclear",this);
00066 theGN->SetGuidance("Switching on gamma nuclear physics.");
00067 theGN->SetParameterName("status",false);
00068 theGN->SetCandidates("on off");
00069 theGN->SetDefaultValue("on");
00070 theGN->AvailableForStates(G4State_PreInit,G4State_Idle);
00071
00072
00073 theMUN = new G4UIcmdWithAString("/physics_engine/tailor/MuonNuclear",this);
00074 theMUN->SetGuidance("Switching on muon nuclear physics.");
00075 theMUN->SetParameterName("status",false);
00076 theMUN->SetCandidates("on off");
00077 theMUN->SetDefaultValue("off");
00078 theMUN->AvailableForStates(G4State_PreInit,G4State_Idle);
00079 }
00080
00081 G4EmQMessenger::~G4EmQMessenger()
00082 {
00083 delete theSynch;
00084 delete theGN;
00085 delete theMUN;
00086 delete aDir1;
00087 delete aDir2;
00088 }
00089
00090 void G4EmQMessenger::SetNewValue(G4UIcommand* aComm, G4String aS)
00091 {
00092 if(aComm==theSynch) theB->Synch(aS);
00093 if(aComm==theGN) theB->GammaNuclear(aS);
00094 if(aComm==theMUN) theB->MuonNuclear(aS);
00095 }