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

#include <G4MoleculeGunMessenger.hh>

+ Inheritance diagram for G4MoleculeGunMessenger:

Public Member Functions

 G4MoleculeGunMessenger (G4MoleculeGun *)
 
virtual ~G4MoleculeGunMessenger ()
 
virtual void SetNewValue (G4UIcommand *command, G4String newValue)
 
virtual G4String GetCurrentValue (G4UIcommand *command)
 
const std::vector< G4MoleculeShootMessenger * > & GetShootMessengers () const
 
- Public Member Functions inherited from G4UImessenger
 G4UImessenger ()
 
 G4UImessenger (const G4String &path, const G4String &dsc, G4bool commandsToBeBroadcasted=true)
 
virtual ~G4UImessenger ()
 
virtual G4String GetCurrentValue (G4UIcommand *command)
 
virtual void SetNewValue (G4UIcommand *command, G4String newValue)
 
G4bool operator== (const G4UImessenger &messenger) const
 
G4bool operator!= (const G4UImessenger &messenger) const
 
G4bool CommandsShouldBeInMaster () const
 

Protected Member Functions

template<typename T >
G4MoleculeShootMessengerCreateNewType (const G4String &name)
 
- Protected Member Functions inherited from G4UImessenger
G4String ItoS (G4int i)
 
G4String DtoS (G4double a)
 
G4String BtoS (G4bool b)
 
G4int StoI (G4String s)
 
G4long StoL (G4String s)
 
G4double StoD (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

G4MoleculeGunfpMoleculeGun
 
G4UIcmdWithAStringfpGunNewGunType
 
std::vector< G4MoleculeShootMessenger * > fMultipleGun
 
- Protected Attributes inherited from G4UImessenger
G4UIdirectorybaseDir = nullptr
 
G4String baseDirName = ""
 
G4bool commandsShouldBeInMaster = false
 

Detailed Description

Definition at line 90 of file G4MoleculeGunMessenger.hh.

Constructor & Destructor Documentation

◆ G4MoleculeGunMessenger()

G4MoleculeGunMessenger::G4MoleculeGunMessenger ( G4MoleculeGun gun)

Definition at line 48 of file G4MoleculeGunMessenger.cc.

48 :
49 G4UImessenger("/chem/gun/", "")
50{
51 fpGunNewGunType = new G4UIcmdWithAString("/chem/gun/newShoot",
52 this);
53 fpMoleculeGun = gun;
54}
G4UIcmdWithAString * fpGunNewGunType

◆ ~G4MoleculeGunMessenger()

G4MoleculeGunMessenger::~G4MoleculeGunMessenger ( )
virtual

Definition at line 58 of file G4MoleculeGunMessenger.cc.

59{
61}

Member Function Documentation

◆ CreateNewType()

template<typename T >
G4MoleculeShootMessenger * G4MoleculeGunMessenger::CreateNewType ( const G4String name)
inlineprotected

Definition at line 111 of file G4MoleculeGunMessenger.hh.

112 {
113 G4shared_ptr<G4MoleculeShoot> moleculeShoot(new TG4MoleculeShoot<T>());
116 this,
117 moleculeShoot);
118 fMultipleGun.push_back(shoot);
120 return shoot;
121 }
std::vector< G4MoleculeShootMessenger * > fMultipleGun
void AddMoleculeShoot(G4shared_ptr< G4MoleculeShoot >)
ThreeVector shoot(const G4int Ap, const G4int Af)

◆ GetCurrentValue()

G4String G4MoleculeGunMessenger::GetCurrentValue ( G4UIcommand command)
virtual

Reimplemented from G4UImessenger.

Definition at line 65 of file G4MoleculeGunMessenger.cc.

66{
67 return "";
68}

◆ GetShootMessengers()

const std::vector< G4MoleculeShootMessenger * > & G4MoleculeGunMessenger::GetShootMessengers ( ) const
inline

Definition at line 101 of file G4MoleculeGunMessenger.hh.

102 {
103 return fMultipleGun;
104 }

◆ SetNewValue()

void G4MoleculeGunMessenger::SetNewValue ( G4UIcommand command,
G4String  newValue 
)
virtual

Reimplemented from G4UImessenger.

Definition at line 72 of file G4MoleculeGunMessenger.cc.

74{
75 if (command == fpGunNewGunType)
76 {
77 std::istringstream iss (newValue);
78
79 G4String shootName;
80 iss >> shootName;
81
82 G4String shootType;
83 iss >> shootType;
84
85 if(shootType == "" || shootType.empty())
86 {
87 CreateNewType<G4Track>(shootName);
88 }
89 else
90 {
91 CreateNewType<G4ContinuousMedium>(shootName);
92 }
93 }
94}

Member Data Documentation

◆ fMultipleGun

std::vector<G4MoleculeShootMessenger*> G4MoleculeGunMessenger::fMultipleGun
protected

Definition at line 123 of file G4MoleculeGunMessenger.hh.

Referenced by CreateNewType(), and GetShootMessengers().

◆ fpGunNewGunType

G4UIcmdWithAString* G4MoleculeGunMessenger::fpGunNewGunType
protected

◆ fpMoleculeGun

G4MoleculeGun* G4MoleculeGunMessenger::fpMoleculeGun
protected

Definition at line 107 of file G4MoleculeGunMessenger.hh.

Referenced by CreateNewType(), and G4MoleculeGunMessenger().


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