Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
Related Functions
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
v
w
x
z
Files
File List
File Members
All
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
$
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
v
x
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
GitLab
LXR
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
graphics
VP1
VP1Systems
VP1TrackSystems
VP1TrackSystems
SimBarCode.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
7
// //
8
// Header file for class SimBarCode //
9
// //
10
// Description: Identifier for truth particle //
11
// //
12
// Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
13
// Initial version: April 2008 //
14
// //
16
17
#ifndef SIMBARCODE_H
18
#define SIMBARCODE_H
19
20
#include "
GeneratorObjects/HepMcParticleLink.h
"
21
22
class
SimBarCode
{
23
public
:
24
25
static
const
int
unknownPDG
= -999;
//Fixme: Better choice? 0?
26
27
SimBarCode
(
int
barCode
,
HepMcParticleLink::index_type
evtIndex
,
int
pdgCode
);
28
SimBarCode
(
const
HepMcParticleLink
&,
int
pdgCode
);
29
~SimBarCode
(){}
30
31
inline
int
barCode
()
const
;
//For non-unique secondaries, this will return a negative number, which should not be presented to the user.
32
inline
int
actualBarCode
()
const
;
//The original present in the simhit
33
inline
HepMcParticleLink::index_type
evtIndex
()
const
;
34
inline
int
pdgCode
()
const
;
35
inline
bool
unknownPdgCode
()
const
{
return
m_pdgCode
==
unknownPDG
; }
36
37
inline
bool
isNonUniqueSecondary
()
const
;
38
39
//For sorting (Does consider pdgCodes, even when one is unknown):
40
inline
bool
operator<
(
const
SimBarCode
&)
const
;
41
42
typedef
std::pair<int,HepMcParticleLink::index_type>
ExtBarCode
;
43
ExtBarCode
extBarCode
()
const
{
return
ExtBarCode
(
barCode
(),
evtIndex
()); }
44
45
46
private
:
47
int
m_barCode
;
48
HepMcParticleLink::index_type
m_evtIndex
;
49
int
m_pdgCode
;
50
};
51
52
53
#include "
VP1TrackSystems/SimBarCode.icc
"
54
55
#endif
SimBarCode::isNonUniqueSecondary
bool isNonUniqueSecondary() const
SimBarCode::m_evtIndex
HepMcParticleLink::index_type m_evtIndex
Definition:
SimBarCode.h:48
HepMcParticleLink.h
SimBarCode::barCode
int barCode() const
SimBarCode::unknownPdgCode
bool unknownPdgCode() const
Definition:
SimBarCode.h:35
HepMcParticleLink::index_type
uint32_t index_type
Definition:
HepMcParticleLink.h:75
SimBarCode::extBarCode
ExtBarCode extBarCode() const
Definition:
SimBarCode.h:43
SimBarCode::pdgCode
int pdgCode() const
SimBarCode::m_barCode
int m_barCode
Definition:
SimBarCode.h:47
SimBarCode
Definition:
SimBarCode.h:22
SimBarCode.icc
HepMcParticleLink
a link optimized in size for a GenParticle in a McEventCollection
Definition:
HepMcParticleLink.h:72
SimBarCode::SimBarCode
SimBarCode(int barCode, HepMcParticleLink::index_type evtIndex, int pdgCode)
SimBarCode::unknownPDG
static const int unknownPDG
Definition:
SimBarCode.h:25
SimBarCode::~SimBarCode
~SimBarCode()
Definition:
SimBarCode.h:29
SimBarCode::SimBarCode
SimBarCode(const HepMcParticleLink &, int pdgCode)
SimBarCode::operator<
bool operator<(const SimBarCode &) const
SimBarCode::actualBarCode
int actualBarCode() const
SimBarCode::evtIndex
HepMcParticleLink::index_type evtIndex() const
SimBarCode::m_pdgCode
int m_pdgCode
Definition:
SimBarCode.h:49
SimBarCode::ExtBarCode
std::pair< int, HepMcParticleLink::index_type > ExtBarCode
Definition:
SimBarCode.h:42
Generated on Tue Mar 25 2025 21:18:39 for ATLAS Offline Software by
1.8.18