ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4ParticlePropertyTable.hh
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file G4ParticlePropertyTable.hh
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 //
28 // ------------------------------------------------------------
29 // GEANT 4 class header file
30 //
31 // History:
32 // ---------------- G4ParticlePropertyTable ----------------
33 // first implementation by H Kurashige 9 June 2003
34 // ------------------------------------------------------------
35 
36 #ifndef G4ParticlePropertyTable_h
37 #define G4ParticlePropertyTable_h 1
38 
39 #include "globals.hh"
40 #include "G4ios.hh"
41 #include <vector>
42 
44 #include "G4ParticleDefinition.hh"
45 #include "G4ParticleTable.hh"
46 
48 {
49  // Class Description
50  // This class manages properties of a particle which are
51  // properties in G4ParticlePropertyTable class.
52  // This class is a singleton.
53 
54  protected:
55  // hide default constructor because this class is a singleton
58 
60 
61  public:
62  G4bool operator==(const G4ParticlePropertyTable &right) const;
63  G4bool operator!=(const G4ParticlePropertyTable &right) const;
64 
65  public:
66  virtual ~G4ParticlePropertyTable();
67 
68  public: //With Description
70  // return the pointer to G4ParticlePropertyTable object
71  // G4ParticlePropertyTable is a "singleton" and can get its pointer
72  // by this function. At the first time of calling this function,
73  // the G4ParticleTable object is instantiated
74 
77  // return the pointer to G4ParticlePropertyData object,
78  // which contains properties for the particle specified.
79  // (return 0 if the specified particle does not exist)
80 
82  // change particle properties for the particle specified.
83  // return true if properties are sucessfully set
84 
85  void Clear();
86  // clear and destroy arrayDataObject
87 
88  public:
90  G4int GetVerboseLevel() const;
91  // controle flag for output message
92  // 0: Silent
93  // 1: Warning message
94  // 2: More
95 
96  protected:
98 
99  private:
102 
103  protected:
104  std::vector<G4ParticlePropertyData*> arrayDataObject;
105 };
106 
107 
108 #endif