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

#include <PrimaryGeneratorMessenger.hh>

Inheritance diagram for PrimaryGeneratorMessenger:
G4UImessenger

Public Member Functions

 PrimaryGeneratorMessenger (PrimaryGeneratorAction *)
 
 ~PrimaryGeneratorMessenger () override
 
void SetNewValue (G4UIcommand *, G4String) override
 

Private Attributes

PrimaryGeneratorActionfAction = nullptr
 
G4UIdirectoryfGunDir = nullptr
 
G4UIcmdWithAnIntegerfDefaultCmd = nullptr
 
G4UIcmdWithADoublefRndmCmd = nullptr
 

Detailed Description

Definition at line 46 of file PrimaryGeneratorMessenger.hh.

Constructor & Destructor Documentation

◆ PrimaryGeneratorMessenger()

PrimaryGeneratorMessenger::PrimaryGeneratorMessenger ( PrimaryGeneratorAction Gun)

Definition at line 41 of file PrimaryGeneratorMessenger.cc.

43 :fAction(Gun)
44{
45 fGunDir = new G4UIdirectory("/testem/gun/");
46 fGunDir->SetGuidance("gun control");
47
48 fDefaultCmd = new G4UIcmdWithAnInteger("/testem/gun/setDefault",this);
49 fDefaultCmd->SetGuidance("set/reset kinematic defined in PrimaryGenerator");
50 fDefaultCmd->SetGuidance("0=boxCenter, else=frontFace");
51 fDefaultCmd->SetParameterName("position",true);
52 fDefaultCmd->SetDefaultValue(1);
53 fDefaultCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
54
55 fRndmCmd = new G4UIcmdWithADouble("/testem/gun/rndm",this);
56 fRndmCmd->SetGuidance("random lateral extension on the beam");
57 fRndmCmd->SetGuidance("in fraction of 0.5*sizeYZ");
58 fRndmCmd->SetParameterName("rBeam",false);
59 fRndmCmd->SetRange("rBeam>=0.&&rBeam<=1.");
60 fRndmCmd->AvailableForStates(G4State_Idle);
61}

◆ ~PrimaryGeneratorMessenger()

PrimaryGeneratorMessenger::~PrimaryGeneratorMessenger ( )
override

Definition at line 65 of file PrimaryGeneratorMessenger.cc.

66{
67 delete fDefaultCmd;
68 delete fRndmCmd;
69 delete fGunDir;
70}

Member Function Documentation

◆ SetNewValue()

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

Definition at line 74 of file PrimaryGeneratorMessenger.cc.

76{
77 if (command == fDefaultCmd)
78 {fAction->SetDefaultKinematic(fDefaultCmd->GetNewIntValue(newValue));}
79
80 if (command == fRndmCmd)
81 {fAction->SetRndmBeam(fRndmCmd->GetNewDoubleValue(newValue));}
82}

Member Data Documentation

◆ fAction

PrimaryGeneratorAction* PrimaryGeneratorMessenger::fAction = nullptr
private

Definition at line 55 of file PrimaryGeneratorMessenger.hh.

◆ fGunDir

G4UIdirectory* PrimaryGeneratorMessenger::fGunDir = nullptr
private

Definition at line 57 of file PrimaryGeneratorMessenger.hh.

◆ fDefaultCmd

G4UIcmdWithAnInteger* PrimaryGeneratorMessenger::fDefaultCmd = nullptr
private

Definition at line 58 of file PrimaryGeneratorMessenger.hh.

◆ fRndmCmd

G4UIcmdWithADouble* PrimaryGeneratorMessenger::fRndmCmd = nullptr
private

Definition at line 59 of file PrimaryGeneratorMessenger.hh.


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