Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4ParticleMessenger.hh
Go to the documentation of this file.
1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
5// * The Geant4 software is copyright of the Copyright Holders of *
6// * the Geant4 Collaboration. It is provided under the terms and *
7// * conditions of the Geant4 Software License, included in the file *
8// * LICENSE and available at http://cern.ch/geant4/license . These *
9// * include a list of copyright holders. *
10// * *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work make any representation or warranty, express or implied, *
14// * regarding this software system or assume any liability for its *
15// * use. Please see the license in the file LICENSE and URL above *
16// * for the full disclaimer and the limitation of liability. *
17// * *
18// * This code implementation is the result of the scientific and *
19// * technical work of the GEANT4 collaboration. *
20// * By using, copying, modifying or distributing the software (or *
21// * any work based on the software) you agree to acknowledge its *
22// * use in resulting scientific publications, and indicate your *
23// * acceptance of all terms of the Geant4 Software license. *
24// ********************************************************************
25//
26//
27// $Id$
28//
29//
30//---------------------------------------------------------------
31//
32// G4ParticleMessenger.hh
33//
34// Class Description:
35// This is a messenger class to interface to exchange information
36// between Particle related classes and UI.
37//
38// ------------------------------------------------------
39// the List of Directory and Commands
40// ------------------------------------------------------
41// G4ParticleMessenger
42// /particle/ Paricle control commands.
43// Commands :
44// select * Select particle
45// list * List name of particles.
46// find * find particle by PDG encoding.
47// verbose * Set Verbose level of Particle Table
48//
49// G4ParticlePropertyMessenger
50// /particle/property/ Paricle Table control commands.
51// Commands :
52// dump * dump particle properties.
53// stable * Set stable flag.
54// lifetime * Set life time.
55// verbose * Set Verbose level
56//
57// G4DecayTableMessenger
58// /particle/property/decay/ Decay Table control commands.
59// Commands :
60// select * Enter index of decay mode.
61// dump * Dump decay mode information.
62// br * Set branching ratio. [0< BR <1.0]
63//
64//
65// History:
66// 13 June 1997, H. Kurashige : The 1st version created.
67// 10 Nov 1997, H.Kurashige : add /particle/property/Verbose
68// 08 Jan. 1998, H. Kurashige : new UIcommand
69// 08 June 1998, H. Kurashige : remove fProcessManagerMessenger
70// 25 Nov. 1998, H. Kurashige : add /particle/find
71// 08 Jun. 2008, H. Kurashige : add /particle/verbose
72// 30 Jul. 2009, H. Kurashige : add /particle/createAllIon
73//---------------------------------------------------------------
74
75#ifndef G4ParticleMessenger_h
76#define G4ParticleMessenger_h 1
77
79class G4ParticleTable;
81
82
83class G4UIdirectory;
87
88#include "G4UImessenger.hh"
89#include "globals.hh"
90
91
93{
94 public:
96 virtual ~G4ParticleMessenger();
97
98 public: // With Description
99 void SetNewValue(G4UIcommand * command,G4String newValues);
101
102 private:
103 // !!! can not use "copy constructor" !!!!
105
106 private:
107 G4UIdirectory * thisDirectory;
108 G4UIcmdWithAString * listCmd;
109 G4UIcmdWithAString * selectCmd;
110 G4UIcmdWithAnInteger * findCmd;
111 G4UIcmdWithoutParameter * createAllCmd;
112 G4UIcmdWithAnInteger * verboseCmd;
113
114 G4ParticleTable* theParticleTable;
115 G4ParticleDefinition* currentParticle;
116
117 G4ParticlePropertyMessenger* fParticlePropertyMessenger;
118};
119
120#endif
121
122
123
124
125
126
127
128
129
G4String GetCurrentValue(G4UIcommand *command)
void SetNewValue(G4UIcommand *command, G4String newValues)