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
G4NistMessenger.cc
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// $Id$
27//
28//
29// File name: G4NistMessenger
30//
31// Author: Vladimir Ivanchenko
32//
33// Creation date: 23.12.2004
34//
35// Modifications:
36//
37//
38// -------------------------------------------------------------------
39//
40
41//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
42//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
43
44#include "G4NistMessenger.hh"
45
46#include "G4NistManager.hh"
47
48#include "G4UIdirectory.hh"
50#include "G4UIcmdWithAString.hh"
51#include "G4IonisParamMat.hh"
53
54//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
55
57:manager(man)
58{
59 matDir = new G4UIdirectory("/material/");
60 matDir->SetGuidance("Commands for materials");
61
62 verCmd = new G4UIcmdWithAnInteger("/material/verbose",this);
63 verCmd->SetGuidance("Set verbose level.");
64
65 nistDir = new G4UIdirectory("/material/nist/");
66 nistDir->SetGuidance("Commands for the nist dataBase");
67
68 prtElmCmd = new G4UIcmdWithAString("/material/nist/printElement",this);
69 prtElmCmd->SetGuidance("print element(s) in dataBase.");
70 prtElmCmd->SetGuidance("symbol = element.");
71 prtElmCmd->SetGuidance("all = all elements.");
72 prtElmCmd->SetParameterName("symbol", true);
73 prtElmCmd->SetDefaultValue("all");
74
75 przElmCmd = new G4UIcmdWithAnInteger("/material/nist/printElementZ",this);
76 przElmCmd->SetGuidance("print element Z in dataBase.");
77 przElmCmd->SetGuidance("0 = all elements.");
78 przElmCmd->SetParameterName("Z", true);
79 przElmCmd->SetDefaultValue(0);
80 przElmCmd->SetRange("0<=Z && Z<108");
81
82 lisMatCmd = new G4UIcmdWithAString("/material/nist/listMaterials",this);
83 lisMatCmd->SetGuidance("list materials in Geant4 dataBase.");
84 lisMatCmd->SetGuidance("simple - simple NIST materials.");
85 lisMatCmd->SetGuidance("compound - compound NIST materials.");
86 lisMatCmd->SetGuidance("hep - HEP materials.");
87 lisMatCmd->SetGuidance("biomedical - biomedical materials.");
88 lisMatCmd->SetGuidance("all - list of all Geant4 materials.");
89 lisMatCmd->SetParameterName("list", true);
90 lisMatCmd->SetCandidates("simple compound hep all");
91 lisMatCmd->SetDefaultValue("all");
92
93 g4Dir = new G4UIdirectory("/material/g4/");
94 g4Dir->SetGuidance("Commands for G4MaterialTable");
95
96 g4ElmCmd = new G4UIcmdWithAString("/material/g4/printElement",this);
97 g4ElmCmd->SetGuidance("print Element from G4ElementTable.");
98 g4ElmCmd->SetGuidance("all - all elements.");
99 g4ElmCmd->SetParameterName("elm", true);
100 g4ElmCmd->SetDefaultValue("all");
101
102 g4MatCmd = new G4UIcmdWithAString("/material/g4/printMaterial",this);
103 g4MatCmd->SetGuidance("print Material from G4MaterialTable.");
104 g4MatCmd->SetGuidance("all - all materials");
105 g4MatCmd->SetParameterName("mat", true);
106 g4MatCmd->SetDefaultValue("all");
107
108 g4DensCmd = new G4UIcmdWithAString("/material/g4/printDensityEffParam",this);
109 g4DensCmd->SetGuidance("print Material from G4DensityEffectData.");
110 g4DensCmd->SetGuidance("all - all materials");
111 g4DensCmd->SetParameterName("mat", true);
112 g4DensCmd->SetDefaultValue("all");
113}
114
115//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
116
118{
119 delete verCmd;
120 delete prtElmCmd;
121 delete przElmCmd;
122 delete lisMatCmd;
123 delete nistDir;
124
125 delete g4ElmCmd;
126 delete g4MatCmd;
127 delete g4DensCmd;
128 delete g4Dir;
129 delete matDir;
130}
131
132//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
133
135{
136 if (command == verCmd)
137 { manager->SetVerbose(verCmd->GetNewIntValue(newValue));}
138
139 else if (command == prtElmCmd)
140 { manager->PrintElement(newValue);}
141
142 else if (command == przElmCmd) {
143 G4int Z = przElmCmd->GetNewIntValue(newValue);
144 if(Z >= 0 && Z < 108) { manager->PrintElement(Z); }
145 }
146
147 else if (command == lisMatCmd)
148 { manager->ListMaterials(newValue);}
149
150 else if (command == g4ElmCmd)
151 { manager->PrintG4Element(newValue);}
152
153 else if (command == g4MatCmd)
154 { manager->PrintG4Material(newValue);}
155
156 else if (command == g4DensCmd)
158}
159
160//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
int G4int
Definition: G4Types.hh:66
void PrintData(const G4String &matName)
static G4DensityEffectData * GetDensityEffectData()
void PrintG4Element(const G4String &)
void ListMaterials(const G4String &)
void PrintElement(G4int Z)
void SetVerbose(G4int)
void PrintG4Material(const G4String &)
void SetNewValue(G4UIcommand *, G4String)
G4NistMessenger(G4NistManager *)
virtual ~G4NistMessenger()
void SetCandidates(const char *candidateList)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetDefaultValue(const char *defVal)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
static G4int GetNewIntValue(const char *paramString)
void SetDefaultValue(G4int defVal)
void SetGuidance(const char *aGuidance)
Definition: G4UIcommand.hh:156
void SetRange(const char *rs)
Definition: G4UIcommand.hh:120