ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
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
43
#include "
G4ParticlePropertyData.hh
"
44
#include "
G4ParticleDefinition.hh
"
45
#include "
G4ParticleTable.hh
"
46
47
class
G4ParticlePropertyTable
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
56
G4ParticlePropertyTable
();
57
G4ParticlePropertyTable
(
const
G4ParticlePropertyTable
&
right
);
58
59
G4ParticlePropertyTable
&
operator=
(
const
G4ParticlePropertyTable
&right);
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
69
static
G4ParticlePropertyTable
*
GetParticlePropertyTable
();
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
75
G4ParticlePropertyData
*
GetParticleProperty
(
const
G4String
& aParticleName);
76
G4ParticlePropertyData
*
GetParticleProperty
(
const
G4ParticleDefinition
* aParticle);
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
81
G4bool
SetParticleProperty
(
const
G4ParticlePropertyData
& newProperty);
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
:
89
void
SetVerboseLevel
(
G4int
value
);
90
G4int
GetVerboseLevel
()
const
;
91
// controle flag for output message
92
// 0: Silent
93
// 1: Warning message
94
// 2: More
95
96
protected
:
97
G4ParticleTable
*
fParticleTable
;
98
99
private
:
100
G4int
verboseLevel
;
101
static
G4ThreadLocal
G4ParticlePropertyTable
*
fgParticlePropertyTable
;
102
103
protected
:
104
std::vector<G4ParticlePropertyData*>
arrayDataObject
;
105
};
106
107
108
#endif
geant4
tree
geant4-10.6-release
source
particles
management
include
G4ParticlePropertyTable.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:24
using
1.8.2 with
ECCE GitHub integration