Geant4-11
Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes
GFlashShowerModelMessenger Class Reference

#include <GFlashShowerModelMessenger.hh>

Inheritance diagram for GFlashShowerModelMessenger:
G4UImessenger

Public Member Functions

G4bool CommandsShouldBeInMaster () const
 
G4String GetCurrentValue (G4UIcommand *command)
 
 GFlashShowerModelMessenger (GFlashShowerModel *myModel)
 
G4bool operator!= (const G4UImessenger &messenger) const
 
G4bool operator== (const G4UImessenger &messenger) const
 
void SetNewValue (G4UIcommand *command, G4String newValues)
 
 ~GFlashShowerModelMessenger ()
 

Protected Member Functions

void AddUIcommand (G4UIcommand *newCommand)
 
G4String BtoS (G4bool b)
 
template<typename T >
T * CreateCommand (const G4String &cname, const G4String &dsc)
 
void CreateDirectory (const G4String &path, const G4String &dsc, G4bool commandsToBeBroadcasted=true)
 
G4String DtoS (G4double a)
 
G4String ItoS (G4int i)
 
G4bool StoB (G4String s)
 
G4double StoD (G4String s)
 
G4int StoI (G4String s)
 
G4long StoL (G4String s)
 

Protected Attributes

G4UIdirectorybaseDir = nullptr
 
G4String baseDirName = ""
 
G4bool commandsShouldBeInMaster = false
 

Private Attributes

G4UIcmdWithAnIntegerContCmd
 
G4UIcmdWithADoubleAndUnitEkillCmd
 
G4UIcmdWithADoubleAndUnitEmaxCmd
 
G4UIcmdWithADoubleAndUnitEminCmd
 
G4UIcmdWithAnIntegerFlagCmd
 
GFlashShowerModelmyModel
 
G4UIdirectorymyParaDir
 
G4UIcmdWithADoubleStepInX0Cmd
 

Detailed Description

Definition at line 55 of file GFlashShowerModelMessenger.hh.

Constructor & Destructor Documentation

◆ GFlashShowerModelMessenger()

GFlashShowerModelMessenger::GFlashShowerModelMessenger ( GFlashShowerModel myModel)

Definition at line 52 of file GFlashShowerModelMessenger.cc.

54{
55 myParaDir = new G4UIdirectory("/GFlash/");
56 myParaDir->SetGuidance("Parametrisation control.");
57 myModel= aModel;
58
59 FlagCmd = new G4UIcmdWithAnInteger("/GFlash/flag",this);
60 FlagCmd->SetGuidance("Defines if GFlash is activated");
61 FlagCmd->SetParameterName("flag",false,false);
62
63 ContCmd = new G4UIcmdWithAnInteger("/GFlash/containment ",this);
64 ContCmd->SetGuidance("Defines if Containment is checked");
65 ContCmd->SetParameterName("flag",false,false);
66
67 StepInX0Cmd = new G4UIcmdWithADouble("/GFlash/stepXo",this);
68 StepInX0Cmd->SetGuidance("Defines step lenghts");
69 StepInX0Cmd->SetParameterName("flag",false,false);
70
71 EminCmd = new G4UIcmdWithADoubleAndUnit("/GFlash/Emin",this);
72 EminCmd->SetGuidance("Set minimum kinetic energy to trigger parametrisation");
73 EminCmd->SetParameterName("Emin",false,false);
74 EminCmd->SetDefaultUnit("GeV");
75 EminCmd->SetUnitCategory("Energy");
77
78 EmaxCmd = new G4UIcmdWithADoubleAndUnit("/GFlash/Emax",this);
79 EmaxCmd->SetGuidance("Set maximum kinetic energy to trigger parametrisation");
80 EmaxCmd->SetParameterName("Emax",false,false);
81 EmaxCmd->SetDefaultUnit("GeV");
82 EmaxCmd->SetUnitCategory("Energy");
84
85 EkillCmd = new G4UIcmdWithADoubleAndUnit("/GFlash/Ekill",this);
86 EkillCmd->SetGuidance("Set maximum kinetic energy for electrons to be killed");
87 EkillCmd->SetParameterName("Ekill",false,false);
89 EkillCmd->SetUnitCategory("Energy");
91}
@ G4State_Idle
@ G4State_PreInit
void SetUnitCategory(const char *unitCategory)
void SetDefaultUnit(const char *defUnit)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetGuidance(const char *aGuidance)
Definition: G4UIcommand.hh:156
void AvailableForStates(G4ApplicationState s1)
Definition: G4UIcommand.cc:288
G4UIcmdWithADoubleAndUnit * EmaxCmd
G4UIcmdWithADoubleAndUnit * EkillCmd
G4UIcmdWithADoubleAndUnit * EminCmd

References G4UIcommand::AvailableForStates(), ContCmd, EkillCmd, EmaxCmd, EminCmd, FlagCmd, G4State_Idle, G4State_PreInit, myModel, myParaDir, G4UIcmdWithADoubleAndUnit::SetDefaultUnit(), G4UIcommand::SetGuidance(), G4UIcmdWithADouble::SetParameterName(), G4UIcmdWithADoubleAndUnit::SetParameterName(), G4UIcmdWithAnInteger::SetParameterName(), G4UIcmdWithADoubleAndUnit::SetUnitCategory(), and StepInX0Cmd.

◆ ~GFlashShowerModelMessenger()

GFlashShowerModelMessenger::~GFlashShowerModelMessenger ( )

Definition at line 94 of file GFlashShowerModelMessenger.cc.

95{
96 delete ContCmd;
97 delete FlagCmd;
98 delete StepInX0Cmd;
99 delete EminCmd;
100 delete EmaxCmd;
101 delete EkillCmd;
102}

References ContCmd, EkillCmd, EmaxCmd, EminCmd, FlagCmd, and StepInX0Cmd.

Member Function Documentation

◆ AddUIcommand()

void G4UImessenger::AddUIcommand ( G4UIcommand newCommand)
protectedinherited

Definition at line 149 of file G4UImessenger.cc.

150{
151 G4cerr << "Warning : Old style definition of G4UIcommand <"
152 << newCommand->GetCommandPath() << ">." << G4endl;
153}
G4GLOB_DLL std::ostream G4cerr
#define G4endl
Definition: G4ios.hh:57
const G4String & GetCommandPath() const
Definition: G4UIcommand.hh:136

References G4cerr, G4endl, and G4UIcommand::GetCommandPath().

◆ BtoS()

G4String G4UImessenger::BtoS ( G4bool  b)
protectedinherited

Definition at line 98 of file G4UImessenger.cc.

99{
100 G4String vl = "0";
101 if(b)
102 vl = "true";
103 return vl;
104}

◆ CommandsShouldBeInMaster()

G4bool G4UImessenger::CommandsShouldBeInMaster ( ) const
inlineinherited

Definition at line 77 of file G4UImessenger.hh.

78 {
80 }
G4bool commandsShouldBeInMaster

References G4UImessenger::commandsShouldBeInMaster.

Referenced by G4UIcommand::G4UIcommandCommonConstructorCode().

◆ CreateCommand()

template<typename T >
T * G4UImessenger::CreateCommand ( const G4String cname,
const G4String dsc 
)
protectedinherited

Definition at line 110 of file G4UImessenger.hh.

111{
112 G4String path;
113 if(cname[0] != '/')
114 {
115 path = baseDirName + cname;
116 if(path[0] != '/')
117 path = "/" + path;
118 }
119
120 T* command = new T(path.c_str(), this);
121 command->SetGuidance(dsc.c_str());
122
123 return command;
124}
G4String baseDirName

References G4UImessenger::baseDirName.

◆ CreateDirectory()

void G4UImessenger::CreateDirectory ( const G4String path,
const G4String dsc,
G4bool  commandsToBeBroadcasted = true 
)
protectedinherited

Definition at line 156 of file G4UImessenger.cc.

158{
160
161 G4String fullpath = path;
162 if(fullpath.back() != '/')
163 fullpath.append("/");
164
165 G4UIcommandTree* tree = ui->GetTree()->FindCommandTree(fullpath.c_str());
166 if(tree != nullptr)
167 {
168 baseDirName = tree->GetPathName();
169 }
170 else
171 {
172 baseDir = new G4UIdirectory(fullpath.c_str(), commandsToBeBroadcasted);
173 baseDirName = fullpath;
174 baseDir->SetGuidance(dsc.c_str());
175 }
176}
const G4String & GetPathName() const
G4UIcommandTree * FindCommandTree(const char *commandPath)
G4UIcommandTree * GetTree() const
Definition: G4UImanager.hh:186
static G4UImanager * GetUIpointer()
Definition: G4UImanager.cc:77
G4UIdirectory * baseDir

References G4UImessenger::baseDir, G4UImessenger::baseDirName, G4UIcommandTree::FindCommandTree(), G4UIcommandTree::GetPathName(), G4UImanager::GetTree(), G4UImanager::GetUIpointer(), and G4UIcommand::SetGuidance().

Referenced by G4MoleculeShootMessenger::G4MoleculeShootMessenger(), and G4UImessenger::G4UImessenger().

◆ DtoS()

G4String G4UImessenger::DtoS ( G4double  a)
protectedinherited

Definition at line 90 of file G4UImessenger.cc.

91{
92 std::ostringstream os;
93 os << a;
94 return G4String(os.str());
95}

Referenced by G4ScoreQuantityMessenger::FilterCommands(), and G4UIcontrolMessenger::SetNewValue().

◆ GetCurrentValue()

G4String GFlashShowerModelMessenger::GetCurrentValue ( G4UIcommand command)
virtual

Reimplemented from G4UImessenger.

Definition at line 143 of file GFlashShowerModelMessenger.cc.

144{
145 G4String returnValue(1,'\0');
146 std::ostringstream os;
147
148 if( command == FlagCmd ) {
149 os << "/GFlash/flag " << myModel->GetFlagParamType() << '\0';
150 returnValue = G4String(os.str());
151 }
152
153 else if( command == EkillCmd ) {
154 os << "/GFlash/Ekill "
156 << " GeV" << '\0';
157 returnValue = G4String(os.str());
158 }
159
160 else if( command == EminCmd ) {
161 os << "/GFlash/Emin "
163 << " GeV" << '\0';
164 returnValue = G4String(os.str());
165 }
166
167 else if( command == EmaxCmd ) {
168 os << "/GFlash/Emax "
170 << " GeV" << '\0';
171 returnValue = G4String(os.str());
172 }
173
174 return returnValue;
175}
static constexpr double GeV
Definition: G4SIunits.hh:203
static G4Electron * ElectronDefinition()
Definition: G4Electron.cc:88
G4double GetMinEneToParametrise(G4ParticleDefinition &particleType)
G4double GetMaxEneToParametrise(G4ParticleDefinition &particleType)
G4double GetEneToKill(G4ParticleDefinition &particleType)
GFlashParticleBounds * PBound

References EkillCmd, G4Electron::ElectronDefinition(), EmaxCmd, EminCmd, FlagCmd, GFlashParticleBounds::GetEneToKill(), GFlashShowerModel::GetFlagParamType(), GFlashParticleBounds::GetMaxEneToParametrise(), GFlashParticleBounds::GetMinEneToParametrise(), GeV, myModel, and GFlashShowerModel::PBound.

Referenced by SetNewValue().

◆ ItoS()

G4String G4UImessenger::ItoS ( G4int  i)
protectedinherited

Definition at line 82 of file G4UImessenger.cc.

83{
84 std::ostringstream os;
85 os << i;
86 return G4String(os.str());
87}

Referenced by G4GenericMessenger::DeclareMethod(), and G4ParticleGunMessenger::GetCurrentValue().

◆ operator!=()

G4bool G4UImessenger::operator!= ( const G4UImessenger messenger) const
inherited

Definition at line 76 of file G4UImessenger.cc.

77{
78 return this != &messenger;
79}

◆ operator==()

G4bool G4UImessenger::operator== ( const G4UImessenger messenger) const
inherited

Definition at line 70 of file G4UImessenger.cc.

71{
72 return this == &messenger;
73}

◆ SetNewValue()

void GFlashShowerModelMessenger::SetNewValue ( G4UIcommand command,
G4String  newValues 
)
virtual

Reimplemented from G4UImessenger.

Definition at line 105 of file GFlashShowerModelMessenger.cc.

107{
108
109 if( command == FlagCmd ) {
111 this->GetCurrentValue(command);
112 }
113 if( command == ContCmd ) {
115 this->GetCurrentValue(command);
116 }
117 if( command == StepInX0Cmd ) {
119 this->GetCurrentValue(command);
120 }
121
122 else if( command == EminCmd ) {
124 EminCmd->GetNewDoubleValue(newValues));
125 this->GetCurrentValue(command);
126 }
127
128 else if( command == EmaxCmd ) {
130 EmaxCmd->GetNewDoubleValue(newValues));
131 this->GetCurrentValue(command);
132 }
133
134 else if( command == EkillCmd ) {
136 EkillCmd->GetNewDoubleValue(newValues));
137 this->GetCurrentValue(command);
138 }
139
140}
static G4double GetNewDoubleValue(const char *paramString)
static G4double GetNewDoubleValue(const char *paramString)
static G4int GetNewIntValue(const char *paramString)
void SetMaxEneToParametrise(G4ParticleDefinition &particleType, G4double enemax)
void SetEneToKill(G4ParticleDefinition &particleType, G4double enekill)
void SetMinEneToParametrise(G4ParticleDefinition &particleType, G4double enemin)
G4String GetCurrentValue(G4UIcommand *command)
void SetStepInX0(G4double Lenght)
void SetFlagParamType(G4int I)
void SetFlagParticleContainment(G4int I)

References ContCmd, EkillCmd, G4Electron::ElectronDefinition(), EmaxCmd, EminCmd, FlagCmd, GetCurrentValue(), G4UIcmdWithADouble::GetNewDoubleValue(), G4UIcmdWithADoubleAndUnit::GetNewDoubleValue(), G4UIcmdWithAnInteger::GetNewIntValue(), myModel, GFlashShowerModel::PBound, GFlashParticleBounds::SetEneToKill(), GFlashShowerModel::SetFlagParamType(), GFlashShowerModel::SetFlagParticleContainment(), GFlashParticleBounds::SetMaxEneToParametrise(), GFlashParticleBounds::SetMinEneToParametrise(), GFlashShowerModel::SetStepInX0(), and StepInX0Cmd.

◆ StoB()

G4bool G4UImessenger::StoB ( G4String  s)
protectedinherited

Definition at line 137 of file G4UImessenger.cc.

138{
140 G4bool vl = false;
141 if(v == "Y" || v == "YES" || v == "1" || v == "T" || v == "TRUE")
142 {
143 vl = true;
144 }
145 return vl;
146}
bool G4bool
Definition: G4Types.hh:86
G4String to_upper_copy(G4String str)
Return uppercase copy of string.

References G4StrUtil::to_upper_copy().

Referenced by G4LocalThreadCoutMessenger::SetNewValue(), G4CascadeParamMessenger::SetNewValue(), G4ScoreQuantityMessenger::SetNewValue(), and G4ScoringMessenger::SetNewValue().

◆ StoD()

G4double G4UImessenger::StoD ( G4String  s)
protectedinherited

◆ StoI()

G4int G4UImessenger::StoI ( G4String  s)
protectedinherited

◆ StoL()

G4long G4UImessenger::StoL ( G4String  s)
protectedinherited

Definition at line 117 of file G4UImessenger.cc.

118{
119 G4long vl;
120 const char* t = str;
121 std::istringstream is(t);
122 is >> vl;
123 return vl;
124}
long G4long
Definition: G4Types.hh:87

Referenced by G4RunMessenger::SetNewValue().

Field Documentation

◆ baseDir

G4UIdirectory* G4UImessenger::baseDir = nullptr
protectedinherited

◆ baseDirName

G4String G4UImessenger::baseDirName = ""
protectedinherited

◆ commandsShouldBeInMaster

G4bool G4UImessenger::commandsShouldBeInMaster = false
protectedinherited

◆ ContCmd

G4UIcmdWithAnInteger* GFlashShowerModelMessenger::ContCmd
private

◆ EkillCmd

G4UIcmdWithADoubleAndUnit* GFlashShowerModelMessenger::EkillCmd
private

◆ EmaxCmd

G4UIcmdWithADoubleAndUnit* GFlashShowerModelMessenger::EmaxCmd
private

◆ EminCmd

G4UIcmdWithADoubleAndUnit* GFlashShowerModelMessenger::EminCmd
private

◆ FlagCmd

G4UIcmdWithAnInteger* GFlashShowerModelMessenger::FlagCmd
private

◆ myModel

GFlashShowerModel* GFlashShowerModelMessenger::myModel
private

◆ myParaDir

G4UIdirectory* GFlashShowerModelMessenger::myParaDir
private

Definition at line 68 of file GFlashShowerModelMessenger.hh.

Referenced by GFlashShowerModelMessenger().

◆ StepInX0Cmd

G4UIcmdWithADouble* GFlashShowerModelMessenger::StepInX0Cmd
private

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