Analysis Software
Documentation for
sPHENIX
simulation software
Home page
Related Pages
Modules
Namespaces
Classes
Files
Examples
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
KFMCParticle.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file KFMCParticle.h
1
/*
2
* This file is part of KFParticle package
3
* Copyright (C) 2007-2019 FIAS Frankfurt Institute for Advanced Studies
4
* 2007-2019 Goethe University of Frankfurt
5
* 2007-2019 Ivan Kisel <I.Kisel@compeng.uni-frankfurt.de>
6
* 2007-2019 Maksym Zyzak
7
*
8
* KFParticle is free software: you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation, either version 3 of the License, or
11
* (at your option) any later version.
12
*
13
* KFParticle is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
17
*
18
* You should have received a copy of the GNU General Public License
19
* along with this program. If not, see <https://www.gnu.org/licenses/>.
20
*/
21
22
#ifndef _KFMCParticle_h_
23
#define _KFMCParticle_h_
24
25
#include <vector>
26
27
#ifdef HLTCA_STANDALONE
28
#include "RootTypesDef.h"
29
#else
30
#include "TObject.h"
31
#endif
32
48
class
KFMCParticle
:
public
TObject
49
{
50
public
:
51
KFMCParticle
();
52
~KFMCParticle
();
53
54
void
AddDaughter
(
int
i
);
55
int
NDaughters
()
const
{
return
fDaughterIds
.size(); }
56
const
std::vector<int>&
GetDaughterIds
()
const
{
return
fDaughterIds
; }
57
void
CleanDaughters
() {
fDaughterIds
.resize(0); }
58
59
void
SetPDG
(
int
pdg
) {
fPDG
=
pdg
;}
60
void
SetMCTrackID
(
int
id
) {
fMCTrackID
=
id
;}
61
void
SetMotherId
(
int
id
) {
fMotherId
=
id
;}
62
63
int
GetMCTrackID
()
const
{
return
fMCTrackID
;}
64
int
GetMotherId
()
const
{
return
fMotherId
;}
65
int
GetPDG
()
const
{
return
fPDG
;}
66
67
bool
IsReconstructable
(
int
i)
const
{
return
fIsReconstructable
[
i
];}
68
void
SetAsReconstructable
(
int
i) {
fIsReconstructable
[
i
] = 1;}
69
70
bool
IsReconstructableV0
(
int
i)
const
{
return
fIsV0
[
i
];}
71
void
SetAsReconstructableV0
(
int
i) {
fIsV0
[
i
] = 1;}
72
73
void
SetInitialParticleId
(
int
i) {
fInitialParticleId
=
i
;}
74
int
InitialParticleId
()
const
{
return
fInitialParticleId
;}
75
private
:
//data
76
std::vector<int>
fDaughterIds
;
77
int
fMCTrackID
;
78
int
fMotherId
;
79
int
fPDG
;
80
96
bool
fIsReconstructable
[5];
100
bool
fIsV0
[3];
101
105
int
fInitialParticleId
;
106
#ifndef KFParticleStandalone
107
ClassDef(
KFMCParticle
, 1 )
108
#endif
109
};
110
111
#endif
112
KFParticle
blob
master
KFParticlePerformance
KFMCParticle.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:26
using
1.8.2 with
sPHENIX GitHub integration