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
G4ParticlePropertyData.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4ParticlePropertyData.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
// ------------------------------------------------------------
30
// GEANT 4 class header file
31
//
32
// History:
33
// ---------------- G4ParticlePropertyData ----------------
34
// first implementation by H Kurashige 9 June 2003
35
// Add magnetic moment by H Kurashige Mar 2007
36
// ------------------------------------------------------------
37
38
#ifndef G4ParticlePropertyData_h
39
#define G4ParticlePropertyData_h 1
40
41
#include "
globals.hh
"
42
#include "
G4ios.hh
"
43
44
class
G4ParticlePropertyTable
;
45
class
G4ParticlePropertyData
46
{
47
// Class Description
48
// This class containes properties of a particle which are subset
49
// of properties in G4ParticleDefinition class.
50
// This class is used only for G4ParticlePropertyTable.
51
//
52
53
friend
class
G4ParticlePropertyTable
;
54
55
public
:
// With Description
56
57
G4ParticlePropertyData
(
const
G4String
& particleName =
""
);
58
// The particle name should be assigned
59
// This particle name can not be changed except for assignment operator
60
61
G4ParticlePropertyData
(
const
G4ParticlePropertyData
&
right
);
62
63
virtual
~G4ParticlePropertyData
();
64
65
G4ParticlePropertyData
&
operator=
(
const
G4ParticlePropertyData
&
right
);
66
67
G4bool
operator==
(
const
G4ParticlePropertyData
&
right
)
const
;
68
G4bool
operator!=
(
const
G4ParticlePropertyData
&
right
)
const
;
69
70
public
:
// With Description
71
// By these following Getxxxx methods, you can get values
72
// for members which can not be changed
73
const
G4String
&
GetParticleName
()
const
{
return
theParticleName
; }
74
75
G4double
GetPDGMass
()
const
{
return
thePDGMass
; }
76
G4double
GetPDGWidth
()
const
{
return
thePDGWidth
; }
77
G4double
GetPDGCharge
()
const
{
return
thePDGCharge
; }
78
79
G4int
GetPDGiSpin
()
const
{
return
thePDGiSpin
; }
80
G4int
GetPDGiParity
()
const
{
return
thePDGiParity
; }
81
G4int
GetPDGiConjugation
()
const
{
return
thePDGiConjugation
; }
82
G4int
GetPDGiIsospin
()
const
{
return
thePDGiIsospin
; }
83
G4int
GetPDGiIsospin3
()
const
{
return
thePDGiIsospin3
; }
84
G4int
GetPDGiGParity
()
const
{
return
thePDGiGParity
; }
85
86
G4double
GetPDGMagneticMoment
()
const
{
return
thePDGMagneticMoment
; }
87
88
G4int
GetLeptonNumber
()
const
{
return
theLeptonNumber
; }
89
G4int
GetBaryonNumber
()
const
{
return
theBaryonNumber
; }
90
91
G4int
GetPDGEncoding
()
const
{
return
thePDGEncoding
; }
92
G4int
GetAntiPDGEncoding
()
const
{
return
theAntiPDGEncoding
; }
93
94
G4int
GetQuarkContent
(
G4int
flavor)
const
;
95
G4int
GetAntiQuarkContent
(
G4int
flavor)
const
;
96
// return the number of quark with flavor contained in this particle.
97
// The value of flavor is assigned as follows
98
// 1:d, 2:u, 3:s, 4:c, 5:b, 6:t
99
100
G4double
GetPDGLifeTime
()
const
{
return
thePDGLifeTime
; }
101
102
// SetXXX methods
103
void
SetPDGMass
(
G4double
newMass);
104
void
SetPDGWidth
(
G4double
newWidth);
105
void
SetPDGCharge
(
G4double
newCharge);
106
107
void
SetPDGiSpin
(
G4int
newSpin);
108
void
SetPDGiParity
(
G4int
newParity);
109
void
SetPDGiConjugation
(
G4int
newConjugation);
110
void
SetPDGiIsospin
(
G4int
newIsospin);
111
void
SetPDGiIsospin3
(
G4int
newIsospin3);
112
void
SetPDGiGParity
(
G4int
newGParity);
113
114
void
SetPDGMagneticMoment
(
G4double
mageticMoment);
115
116
void
SetLeptonNumber
(
G4int
newLeptonNumber);
117
void
SetBaryonNumber
(
G4int
newBaryonNumber);
118
119
void
SetPDGEncoding
(
G4int
newEncoding);
120
void
SetAntiPDGEncoding
(
G4int
newAntiEncoding);
121
122
void
SetQuarkContent
(
G4int
flavor,
G4int
newContent);
123
void
SetAntiQuarkContent
(
G4int
flavor,
G4int
newContent);
124
void
SetPDGLifeTime
(
G4double
newLifeTime);
125
126
public
:
// With Description
127
void
Print
()
const
;
128
// Prints information of data members.
129
130
public
:
131
void
SetVerboseLevel
(
G4int
value
);
132
G4int
GetVerboseLevel
()
const
;
133
// controle flag for output message
134
// 0: Silent
135
// 1: Warning message
136
// 2: More
137
138
139
private
:
140
G4String
theParticleName
;
141
// The name of the particle.
142
143
G4double
thePDGMass
;
144
// The mass of the particle, in units of equivalent energy.
145
146
G4double
thePDGWidth
;
147
// The decay width of the particle, usually the width of a
148
// Breit-Wigner function, assuming that you are near the
149
// mass center anyway. (in units of equivalent energy)
150
151
G4double
thePDGCharge
;
152
// The charge of the particle.(in units of Coulomb)
153
154
// ---- following members are quantum number
155
// i.e. discrete numbers can be allowded
156
// So, you can defined only by using integer in constructor
157
158
G4int
thePDGiSpin
;
159
// The total spin of the particle, also often denoted as
160
// capital J, in units of 1/2.
161
162
G4int
thePDGiParity
;
163
// The parity quantum number, in units of 1. If the parity
164
// is not defined for this particle, we will set this to 0.
165
166
G4int
thePDGiConjugation
;
167
// This charge conjugation quantum number in units of 1.
168
169
G4int
thePDGiGParity
;
170
// The value of the G-parity quantum number.
171
172
G4int
thePDGiIsospin
;
173
G4int
thePDGiIsospin3
;
174
// The isospin and its 3rd-component in units of 1/2.
175
176
G4double
thePDGMagneticMoment
;
177
// The magnetic moment.
178
179
G4int
theLeptonNumber
;
180
// The lepton quantum number.
181
182
G4int
theBaryonNumber
;
183
// The baryon quantum number.
184
185
G4int
thePDGEncoding
;
186
// The Particle Data Group integer identifier of this particle
187
188
G4int
theAntiPDGEncoding
;
189
// The Particle Data Group integer identifier of the anti-particle
190
191
G4double
thePDGLifeTime
;
192
// The Particle Life Time
193
194
enum
{
NumberOfQuarkFlavor
= 6};
195
G4int
theQuarkContent
[
NumberOfQuarkFlavor
];
196
G4int
theAntiQuarkContent
[
NumberOfQuarkFlavor
];
197
// the number of quark (minus Sign means anti-quark) contents
198
199
private
:
200
G4bool
fPDGMassModified
;
201
G4bool
fPDGWidthModified
;
202
G4bool
fPDGChargeModified
;
203
G4bool
fPDGiSpinModified
;
204
G4bool
fPDGiParityModified
;
205
G4bool
fPDGiConjugationModified
;
206
G4bool
fPDGiGParityModified
;
207
G4bool
fPDGiIsospinModified
;
208
G4bool
fPDGiIsospin3Modified
;
209
G4bool
fPDGIsospinModified
;
210
G4bool
fPDGIsospin3Modified
;
211
G4bool
fPDGMagneticMomentModified
;
212
G4bool
fLeptonNumberModified
;
213
G4bool
fBaryonNumberModified
;
214
G4bool
fPDGEncodingModified
;
215
G4bool
fAntiPDGEncodingModified
;
216
G4bool
fQuarkContentModified
;
217
G4bool
fAntiQuarkContentModified
;
218
G4bool
fPDGLifeTimeModified
;
219
220
private
:
221
G4int
verboseLevel
;
222
223
};
224
225
#include "G4ParticlePropertyData.icc"
226
227
#endif
228
229
geant4
tree
geant4-10.6-release
source
particles
management
include
G4ParticlePropertyData.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:24
using
1.8.2 with
ECCE GitHub integration