Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4EmMessenger Class Reference

#include <G4EmMessenger.hh>

+ Inheritance diagram for G4EmMessenger:

Public Member Functions

 G4EmMessenger (G4EmExtraPhysics *af)
 
 ~G4EmMessenger () override
 
void SetNewValue (G4UIcommand *aComm, G4String aS) override
 
- Public Member Functions inherited from G4UImessenger
 G4UImessenger ()=default
 
 G4UImessenger (const G4String &path, const G4String &dsc, G4bool commandsToBeBroadcasted=true)
 
virtual ~G4UImessenger ()
 
virtual G4String GetCurrentValue (G4UIcommand *command)
 
G4bool CommandsShouldBeInMaster () const
 

Additional Inherited Members

- Protected Member Functions inherited from G4UImessenger
G4String ItoS (G4int i)
 
G4String LtoS (G4long l)
 
G4String DtoS (G4double a)
 
G4String BtoS (G4bool b)
 
G4int StoI (const G4String &s)
 
G4long StoL (const G4String &s)
 
G4double StoD (const G4String &s)
 
G4bool StoB (G4String s)
 
void AddUIcommand (G4UIcommand *newCommand)
 
void CreateDirectory (const G4String &path, const G4String &dsc, G4bool commandsToBeBroadcasted=true)
 
template<typename T >
T * CreateCommand (const G4String &cname, const G4String &dsc)
 
- Protected Attributes inherited from G4UImessenger
G4UIdirectorybaseDir = nullptr
 
G4String baseDirName = ""
 
G4bool commandsShouldBeInMaster = false
 

Detailed Description

Definition at line 55 of file G4EmMessenger.hh.

Constructor & Destructor Documentation

◆ G4EmMessenger()

G4EmMessenger::G4EmMessenger ( G4EmExtraPhysics * af)
explicit

Definition at line 43 of file G4EmMessenger.cc.

44{
45 theB = ab;
46 aDir1 = new G4UIdirectory("/physics_lists/", false);
47 aDir1->SetGuidance("commands for physics list configuration.");
48
49 // general stuff.
50 aDir2 = new G4UIdirectory("/physics_lists/em/", false);
51 aDir2->SetGuidance("Extra EM processes configuration.");
52
53 // command for synchrotron radiation.
54 theSynch = new G4UIcmdWithABool("/physics_lists/em/SyncRadiation",this);
55 theSynch->SetGuidance("Switching on/off synchrotron radiation.");
57 theSynch->SetToBeBroadcasted(false);
58
59 // command for synchrotron radiation.
60 theSynchAll = new G4UIcmdWithABool("/physics_lists/em/SyncRadiationAll",this);
61 theSynchAll->SetGuidance("Switching on/off synchrotron radiation for all charged.");
63 theSynchAll->SetToBeBroadcasted(false);
64
65 // command for gamma nuclear physics.
66 theGN = new G4UIcmdWithABool("/physics_lists/em/GammaNuclear",this);
67 theGN->SetGuidance("Switching on gamma nuclear physics.");
69 theGN->SetToBeBroadcasted(false);
70
71 // command for gamma nuclear physics.
72 theXS = new G4UIcmdWithABool("/physics_lists/em/UseGammaNuclearXS",this);
73 theXS->SetGuidance("Use XS gamma nuclear cross section.");
75 theXS->SetToBeBroadcasted(false);
76
77 // command for lend gamma nuclear physics.
78 theGLENDN = new G4UIcmdWithABool("/physics_lists/em/LENDGammaNuclear",this);
79 theGLENDN->SetGuidance("Switching on LEND gamma nuclear physics.");
81 theGLENDN->SetToBeBroadcasted(false);
82
83 theEN = new G4UIcmdWithABool("/physics_lists/em/ElectroNuclear",this);
84 theEN->SetGuidance("Switching on e+- nuclear physics.");
86 theEN->SetToBeBroadcasted(false);
87
88 // command for muon nuclear physics.
89 theMUN = new G4UIcmdWithABool("/physics_lists/em/MuonNuclear",this);
90 theMUN->SetGuidance("Switching on muon nuclear physics.");
92 theMUN->SetToBeBroadcasted(false);
93
94 theGMM = new G4UIcmdWithABool("/physics_lists/em/GammaToMuons",this);
95 theGMM->SetGuidance("Switching on gamma conversion to muon pair.");
97 theGMM->SetToBeBroadcasted(false);
98
99 theMMM = new G4UIcmdWithABool("/physics_lists/em/MuonToMuons",this);
100 theMMM->SetGuidance("Switching on muon pair production by muons.");
102 theMMM->SetToBeBroadcasted(false);
103
104 thePMM = new G4UIcmdWithABool("/physics_lists/em/PositronToMuons",this);
105 thePMM->SetGuidance("Switching on positron conversion to muon pair.");
107 thePMM->SetToBeBroadcasted(false);
108
109 thePH = new G4UIcmdWithABool("/physics_lists/em/PositronToHadrons",this);
110 thePH->SetGuidance("Switching on positron conversion to hadrons.");
112 thePH->SetToBeBroadcasted(false);
113
114 theGMM1 = new G4UIcmdWithADouble("/physics_lists/em/GammaToMuonsFactor",this);
115 theGMM1->SetGuidance("Factor for gamma conversion to muon pair.");
117 theGMM1->SetToBeBroadcasted(false);
118
119 thePMM1 = new G4UIcmdWithADouble("/physics_lists/em/PositronToMuonsFactor",this);
120 thePMM1->SetGuidance("Factor for positron conversion to muon pair.");
122 thePMM1->SetToBeBroadcasted(false);
123
124 thePH1 = new G4UIcmdWithADouble("/physics_lists/em/PositronToHadronsFactor",this);
125 thePH1->SetGuidance("Factor for positron conversion to hadrons.");
127 thePH1->SetToBeBroadcasted(false);
128
129 theGNlowe = new G4UIcmdWithADoubleAndUnit("/physics_lists/em/GammaNuclearLEModelLimit",this);
130 theGNlowe->SetGuidance("Upper energy limit for low-energy gamma-nuclear model");
131 theGNlowe->SetParameterName("emin",true);
132 theGNlowe->SetUnitCategory("Energy");
134 theGNlowe->SetToBeBroadcasted(false);
135}
@ G4State_PreInit
void SetUnitCategory(const char *unitCategory)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetToBeBroadcasted(G4bool val)
void SetGuidance(const char *aGuidance)
void AvailableForStates(G4ApplicationState s1)

◆ ~G4EmMessenger()

G4EmMessenger::~G4EmMessenger ( )
override

Definition at line 137 of file G4EmMessenger.cc.

138{
139 delete theSynch;
140 delete theSynchAll;
141 delete theGN;
142 delete theGLENDN;
143 delete theEN;
144 delete theMUN;
145 delete theGMM;
146 delete theMMM;
147 delete thePMM;
148 delete thePH;
149
150 delete theGMM1;
151 delete thePMM1;
152 delete thePH1;
153 delete theGNlowe;
154 delete theXS;
155
156 delete aDir1;
157 delete aDir2;
158}

Member Function Documentation

◆ SetNewValue()

void G4EmMessenger::SetNewValue ( G4UIcommand * aComm,
G4String aS )
overridevirtual

Reimplemented from G4UImessenger.

Definition at line 160 of file G4EmMessenger.cc.

161{
162 if (aComm==theSynch)
163 theB->Synch(theSynch->GetNewBoolValue(aS));
164 else if (aComm==theSynchAll)
165 theB->SynchAll(theSynchAll->GetNewBoolValue(aS));
166 else if (aComm==theGN)
167 theB->GammaNuclear(theGN->GetNewBoolValue(aS));
168 else if (aComm==theGLENDN)
169 theB->LENDGammaNuclear(theGLENDN->GetNewBoolValue(aS));
170 else if (aComm==theEN)
171 theB->ElectroNuclear(theEN->GetNewBoolValue(aS));
172 else if (aComm==theMUN)
173 theB->MuonNuclear(theMUN->GetNewBoolValue(aS));
174 else if (aComm==theGMM)
175 theB->GammaToMuMu(theGMM->GetNewBoolValue(aS));
176 else if (aComm==theMMM)
177 theB->MuonToMuMu(theMMM->GetNewBoolValue(aS));
178 else if (aComm==thePMM)
179 theB->PositronToMuMu(thePMM->GetNewBoolValue(aS));
180 else if (aComm==thePH)
181 theB->PositronToHadrons(thePH->GetNewBoolValue(aS));
182 else if (aComm==theXS)
183 theB->SetUseGammaNuclearXS(theXS->GetNewBoolValue(aS));
184 else if (aComm==theGMM1)
185 theB->GammaToMuMuFactor(theGMM1->GetNewDoubleValue(aS));
186 else if (aComm==thePMM1)
187 theB->PositronToMuMuFactor(thePMM1->GetNewDoubleValue(aS));
188 else if (aComm==thePH1)
190 else if (aComm==theGNlowe)
191 theB->GammaNuclearLEModelLimit(theGNlowe->GetNewDoubleValue(aS));
192}
void Synch(G4bool val)
void SynchAll(G4bool val)
void ElectroNuclear(G4bool val)
void LENDGammaNuclear(G4bool val)
void SetUseGammaNuclearXS(G4bool val)
void GammaToMuMuFactor(G4double val)
void PositronToHadronsFactor(G4double val)
void GammaToMuMu(G4bool val)
void GammaNuclearLEModelLimit(G4double val)
void PositronToHadrons(G4bool val)
void PositronToMuMu(G4bool val)
void GammaNuclear(G4bool val)
void MuonNuclear(G4bool val)
void PositronToMuMuFactor(G4double val)
void MuonToMuMu(G4bool val)
static G4bool GetNewBoolValue(const char *paramString)
static G4double GetNewDoubleValue(const char *paramString)
static G4double GetNewDoubleValue(const char *paramString)

The documentation for this class was generated from the following files: