Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
F02PrimaryGeneratorMessenger Class Reference

#include <Doxymodules_field.h>

Inheritance diagram for F02PrimaryGeneratorMessenger:
G4UImessenger

Public Member Functions

 F02PrimaryGeneratorMessenger (F02PrimaryGeneratorAction *)
 
 ~F02PrimaryGeneratorMessenger () override
 
void SetNewValue (G4UIcommand *, G4String) override
 

Private Attributes

F02PrimaryGeneratorActionfAction = nullptr
 
G4UIcmdWithAStringfRndmCmd = nullptr
 
G4UIcmdWithADoubleAndUnitfSetXVertexCmd = nullptr
 
G4UIcmdWithADoubleAndUnitfSetYVertexCmd = nullptr
 
G4UIcmdWithADoubleAndUnitfSetZVertexCmd = nullptr
 

Detailed Description

Definition at line 64 of file Doxymodules_field.h.

Constructor & Destructor Documentation

◆ F02PrimaryGeneratorMessenger()

F02PrimaryGeneratorMessenger::F02PrimaryGeneratorMessenger ( F02PrimaryGeneratorAction action)

Definition at line 44 of file F02PrimaryGeneratorMessenger.cc.

46 : fAction(action)
47{
48 fRndmCmd = new G4UIcmdWithAString("/gun/random",this);
49 fRndmCmd->SetGuidance("Shoot randomly the incident particle.");
50 fRndmCmd->SetGuidance(" Choice : on, off(default)");
51 fRndmCmd->SetParameterName("choice",true);
52 fRndmCmd->SetDefaultValue("off");
53 fRndmCmd->SetCandidates("on off");
54 fRndmCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
55
56 fSetXVertexCmd = new G4UIcmdWithADoubleAndUnit("/gun/xvertex",this);
57 fSetXVertexCmd->SetGuidance(" Set x coord. of the primary vertex.");
58 fSetXVertexCmd->SetParameterName("xv",true);
59 fSetXVertexCmd->SetDefaultValue(0.0*mm);
60 fSetXVertexCmd->SetDefaultUnit("mm");
61
62 fSetYVertexCmd = new G4UIcmdWithADoubleAndUnit("/gun/yvertex",this);
63 fSetYVertexCmd->SetGuidance(" Set y coord. of the primary vertex.");
64 fSetYVertexCmd->SetParameterName("yv",true);
65 fSetYVertexCmd->SetDefaultValue(0.0*mm);
66 fSetYVertexCmd->SetDefaultUnit("mm");
67
68 fSetZVertexCmd = new G4UIcmdWithADoubleAndUnit("/gun/zvertex",this);
69 fSetZVertexCmd->SetGuidance(" Set z coord. of the primary vertex.");
70 fSetZVertexCmd->SetParameterName("zv",true);
71 fSetZVertexCmd->SetDefaultValue(0.0*mm);
72 fSetZVertexCmd->SetDefaultUnit("mm");
73
74}
G4UIcmdWithADoubleAndUnit * fSetZVertexCmd
G4UIcmdWithADoubleAndUnit * fSetXVertexCmd
G4UIcmdWithADoubleAndUnit * fSetYVertexCmd

◆ ~F02PrimaryGeneratorMessenger()

F02PrimaryGeneratorMessenger::~F02PrimaryGeneratorMessenger ( )
override

Definition at line 78 of file F02PrimaryGeneratorMessenger.cc.

79{
80 delete fRndmCmd;
81 delete fSetXVertexCmd;
82 delete fSetYVertexCmd;
83 delete fSetZVertexCmd;
84}

Member Function Documentation

◆ SetNewValue()

void F02PrimaryGeneratorMessenger::SetNewValue ( G4UIcommand command,
G4String  newValue 
)
override

Definition at line 88 of file F02PrimaryGeneratorMessenger.cc.

90{
91 if( command == fRndmCmd )
92 { fAction->SetRndmFlag(newValue);}
93 if( command == fSetXVertexCmd )
94 { fAction->SetXVertex(fSetXVertexCmd->GetNewDoubleValue(newValue));}
95 if( command == fSetYVertexCmd )
96 { fAction->SetYVertex(fSetYVertexCmd->GetNewDoubleValue(newValue));}
97 if( command == fSetZVertexCmd )
98 { fAction->SetZVertex(fSetZVertexCmd->GetNewDoubleValue(newValue));}
99}

Member Data Documentation

◆ fAction

F02PrimaryGeneratorAction* F02PrimaryGeneratorMessenger::fAction = nullptr
private

Definition at line 55 of file F02PrimaryGeneratorMessenger.hh.

◆ fRndmCmd

G4UIcmdWithAString* F02PrimaryGeneratorMessenger::fRndmCmd = nullptr
private

Definition at line 56 of file F02PrimaryGeneratorMessenger.hh.

◆ fSetXVertexCmd

G4UIcmdWithADoubleAndUnit* F02PrimaryGeneratorMessenger::fSetXVertexCmd = nullptr
private

Definition at line 57 of file F02PrimaryGeneratorMessenger.hh.

◆ fSetYVertexCmd

G4UIcmdWithADoubleAndUnit* F02PrimaryGeneratorMessenger::fSetYVertexCmd = nullptr
private

Definition at line 58 of file F02PrimaryGeneratorMessenger.hh.

◆ fSetZVertexCmd

G4UIcmdWithADoubleAndUnit* F02PrimaryGeneratorMessenger::fSetZVertexCmd = nullptr
private

Definition at line 59 of file F02PrimaryGeneratorMessenger.hh.


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

Applications | User Support | Publications | Collaboration