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
G4ParticlePropertyTable.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// $Id$
27//
28//
29// ------------------------------------------------------------
30// GEANT 4 class header file
31//
32// History:
33// ---------------- G4ParticlePropertyTable ----------------
34// first implementation by H Kurashige 9 June 2003
35// ------------------------------------------------------------
36
37#ifndef G4ParticlePropertyTable_h
38#define G4ParticlePropertyTable_h 1
39
40#include "globals.hh"
41#include "G4ios.hh"
42#include <vector>
43
46#include "G4ParticleTable.hh"
47
49{
50 // Class Description
51 // This class manages properties of a particle which are
52 // properties in G4ParticlePropertyTable class.
53 // This class is a singleton.
54
55 protected:
56 // hide default constructor because this class is a singleton
59
61
62 public:
63 G4int operator==(const G4ParticlePropertyTable &right) const;
64 G4int operator!=(const G4ParticlePropertyTable &right) const;
65
66 public:
68
69 public: //With Description
71 // return the pointer to G4ParticlePropertyTable object
72 // G4ParticlePropertyTable is a "singleton" and can get its pointer
73 // by this function. At the first time of calling this function,
74 // the G4ParticleTable object is instantiated
75
78 // return the pointer to G4ParticlePropertyData object,
79 // which contains properties for the particle specified.
80 // (return 0 if the specified particle does not exist)
81
83 // change particle properties for the particle specified.
84 // return true if properties are sucessfully set
85
86 void Clear();
87 // clear and destroy arrayDataObject
88
89 public:
92 // controle flag for output message
93 // 0: Silent
94 // 1: Warning message
95 // 2: More
96
97 protected:
99
100 private:
101 G4int verboseLevel;
102 static G4ParticlePropertyTable* fgParticlePropertyTable;
103
104 protected:
105 std::vector<G4ParticlePropertyData*> arrayDataObject;
106};
107
108
109#endif
110
111
112
113
114
115
116
117
118
int G4int
Definition: G4Types.hh:66
bool G4bool
Definition: G4Types.hh:67
G4int GetVerboseLevel() const
void SetVerboseLevel(G4int value)
G4int operator!=(const G4ParticlePropertyTable &right) const
G4ParticlePropertyData * GetParticleProperty(const G4String &aParticleName)
static G4ParticlePropertyTable * GetParticlePropertyTable()
std::vector< G4ParticlePropertyData * > arrayDataObject
G4bool SetParticleProperty(const G4ParticlePropertyData &newProperty)
G4int operator==(const G4ParticlePropertyTable &right) const
G4ParticlePropertyTable & operator=(const G4ParticlePropertyTable &right)