Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
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)