Geant4
9.6.p02
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
geant4_9_6_p02
source
particles
management
include
G4PDGCodeChecker.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
//
27
// $Id: G4PDGCodeChecker.hh 69798 2013-05-15 13:36:02Z gcosmo $
28
//
29
//
30
// ------------------------------------------------------------
31
// GEANT 4 class header file
32
//
33
// History: first implementation, based on object model of
34
// Hisaya Kurashige, 17 Aug. 1999
35
//
36
37
38
#ifndef G4PDGCodeChecker_h
39
#define G4PDGCodeChecker_h 1
40
41
#include "
globals.hh
"
42
#include "
G4ios.hh
"
43
44
class
G4PDGCodeChecker
45
{
46
47
public
:
48
G4PDGCodeChecker
();
49
~G4PDGCodeChecker
(){};
50
51
public
:
// With Description
52
G4int
CheckPDGCode
(
G4int
code,
G4String
type);
53
54
G4int
GetQuarkContent
(
G4int
flavor)
const
;
55
G4int
GetAntiQuarkContent
(
G4int
flavor)
const
;
56
57
G4bool
IsAntiParticle
()
const
;
58
59
G4int
GetQuarkFlavor
(
G4int
idx)
const
;
60
61
public
:
62
G4int
GetSpin
()
const
;
63
G4int
GetExotic
()
const
;
64
G4int
GetRadial
()
const
;
65
G4int
GetMultiplet
()
const
;
66
67
G4bool
CheckCharge
(
G4double
charge)
const
;
68
69
G4int
GetVerboseLevel
()
const
;
70
void
SetVerboseLevel
(
G4int
verbose);
71
72
protected
:
73
enum
{
NumberOfQuarkFlavor
= 8};
74
75
private
:
76
void
GetDigits(
G4int
code);
77
G4int
CheckForQuarks();
78
G4int
CheckForDiQuarks();
79
G4int
CheckForMesons();
80
G4int
CheckForBaryons();
81
G4int
CheckForNuclei();
82
83
84
private
:
85
G4int
verboseLevel;
86
87
G4int
code;
88
G4String
theParticleType;
89
90
G4int
higherSpin;
91
G4int
exotic;
92
G4int
radial;
93
G4int
multiplet;
94
G4int
quark1;
95
G4int
quark2;
96
G4int
quark3;
97
G4int
spin;
98
99
G4int
theQuarkContent[
NumberOfQuarkFlavor
];
100
G4int
theAntiQuarkContent[
NumberOfQuarkFlavor
];
101
// the number of quark (minus Sign means anti-quark) contents
102
// The value of flavor is assigned as follows
103
// 0:d, 1:u, 2:s, 3:c,
104
// 4:b, 5:t, 6:l(down type quark) 7:h(up type quark)
105
106
};
107
108
inline
109
G4int
G4PDGCodeChecker::GetQuarkContent
(
G4int
flavor)
const
110
{
111
G4int
value
= 0;
112
if
((flavor>=0)&&(flavor<
NumberOfQuarkFlavor
)) {
113
value = theQuarkContent[flavor];
114
}
115
return
value
;
116
}
117
118
inline
119
G4int
G4PDGCodeChecker::GetAntiQuarkContent
(
G4int
flavor)
const
120
{
121
G4int
value
= 0;
122
if
((flavor>=0)&&(flavor<
NumberOfQuarkFlavor
)) {
123
value = theAntiQuarkContent[flavor];
124
}
125
return
value
;
126
}
127
128
129
inline
130
G4int
G4PDGCodeChecker::GetQuarkFlavor
(
G4int
idx)
const
131
{
132
G4int
value
;
133
if
(idx ==0) value = quark1;
134
else
if
(idx ==1) value = quark2;
135
else
if
(idx ==2) value = quark3;
136
else
value = -1;
137
return
value
;
138
}
139
140
inline
141
G4int
G4PDGCodeChecker::GetExotic
()
const
142
{
143
return
exotic;
144
}
145
146
inline
147
G4int
G4PDGCodeChecker::GetRadial
()
const
148
{
149
return
radial;
150
}
151
152
inline
153
G4int
G4PDGCodeChecker::GetMultiplet
()
const
154
{
155
return
multiplet;
156
}
157
158
inline
159
G4int
G4PDGCodeChecker::GetSpin
()
const
160
{
161
return
spin;
162
}
163
164
inline
165
G4bool
G4PDGCodeChecker::IsAntiParticle
()
const
166
{
167
return
(code <0);
168
}
169
170
inline
171
void
G4PDGCodeChecker::SetVerboseLevel
(
G4int
value
)
172
{
173
verboseLevel =
value
;
174
}
175
176
inline
177
G4int
G4PDGCodeChecker::GetVerboseLevel
()
const
178
{
179
return
verboseLevel;
180
}
181
182
183
#endif
184
185
186
187
188
189
Generated on Sat May 25 2013 14:33:23 for Geant4 by
1.8.4