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

#include <Doxymodules_field.h>

Inheritance diagram for F04PrimaryGeneratorMessenger:
G4UImessenger

Public Member Functions

 F04PrimaryGeneratorMessenger (F04PrimaryGeneratorAction *)
 
 ~F04PrimaryGeneratorMessenger () override
 
void SetNewValue (G4UIcommand *, G4String) override
 

Private Attributes

F04PrimaryGeneratorActionfAction = nullptr
 
G4UIcmdWithAStringfRndmCmd = nullptr
 
G4UIcmdWithADoubleAndUnitfSetXvertexCmd = nullptr
 
G4UIcmdWithADoubleAndUnitfSetYvertexCmd = nullptr
 
G4UIcmdWithADoubleAndUnitfSetZvertexCmd = nullptr
 

Detailed Description

Definition at line 113 of file Doxymodules_field.h.

Constructor & Destructor Documentation

◆ F04PrimaryGeneratorMessenger()

F04PrimaryGeneratorMessenger::F04PrimaryGeneratorMessenger ( F04PrimaryGeneratorAction gun)

Definition at line 40 of file F04PrimaryGeneratorMessenger.cc.

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

◆ ~F04PrimaryGeneratorMessenger()

F04PrimaryGeneratorMessenger::~F04PrimaryGeneratorMessenger ( )
override

Definition at line 74 of file F04PrimaryGeneratorMessenger.cc.

75{
76 delete fRndmCmd;
77 delete fSetXvertexCmd;
78 delete fSetYvertexCmd;
79 delete fSetZvertexCmd;
80}

Member Function Documentation

◆ SetNewValue()

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

Definition at line 84 of file F04PrimaryGeneratorMessenger.cc.

86{
87 if( command == fRndmCmd )
88 { fAction->SetRndmFlag(newValue);}
89 if( command == fSetXvertexCmd)
90 { fAction->SetXvertex(fSetXvertexCmd->GetNewDoubleValue(newValue));}
91 if( command == fSetYvertexCmd)
92 { fAction->SetYvertex(fSetYvertexCmd->GetNewDoubleValue(newValue));}
93 if( command == fSetZvertexCmd)
94 { fAction->SetZvertex(fSetZvertexCmd->GetNewDoubleValue(newValue));}
95}

Member Data Documentation

◆ fAction

F04PrimaryGeneratorAction* F04PrimaryGeneratorMessenger::fAction = nullptr
private

Definition at line 53 of file F04PrimaryGeneratorMessenger.hh.

◆ fRndmCmd

G4UIcmdWithAString* F04PrimaryGeneratorMessenger::fRndmCmd = nullptr
private

Definition at line 55 of file F04PrimaryGeneratorMessenger.hh.

◆ fSetXvertexCmd

G4UIcmdWithADoubleAndUnit* F04PrimaryGeneratorMessenger::fSetXvertexCmd = nullptr
private

Definition at line 56 of file F04PrimaryGeneratorMessenger.hh.

◆ fSetYvertexCmd

G4UIcmdWithADoubleAndUnit* F04PrimaryGeneratorMessenger::fSetYvertexCmd = nullptr
private

Definition at line 57 of file F04PrimaryGeneratorMessenger.hh.

◆ fSetZvertexCmd

G4UIcmdWithADoubleAndUnit* F04PrimaryGeneratorMessenger::fSetZvertexCmd = nullptr
private

Definition at line 58 of file F04PrimaryGeneratorMessenger.hh.


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

Applications | User Support | Publications | Collaboration