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
ParticleFlowElement.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file ParticleFlowElement.h
1
#ifndef PARTICLEFLOW_PARTICLEFLOWELEMENT_H
2
#define PARTICLEFLOW_PARTICLEFLOWELEMENT_H
3
4
//===========================================================
8
//===========================================================
9
10
#include <
phool/PHObject.h
>
11
12
#include <cmath>
13
#include <iostream>
14
15
class
SvtxTrack
;
16
class
RawCluster
;
17
18
class
ParticleFlowElement
:
public
PHObject
19
{
20
public
:
21
// enums can be extended with new values, but values not altered
22
23
enum
PFLOWTYPE
24
{
25
UNASSIGNED
= -1,
26
MATCHED_CHARGED_HADRON
= 0,
27
UNMATCHED_CHARGED_HADRON
= 1,
28
UNMATCHED_EM_PARTICLE
= 2,
29
UNMATCHED_NEUTRAL_HADRON
= 3,
30
LEFTOVER_EM_PARTICLE
= 4
31
};
32
33
ParticleFlowElement
() {}
34
~ParticleFlowElement
()
override
{}
35
36
void
identify
(std::ostream&
os
= std::cout)
const override
;
37
int
isValid
()
const override
{
return
0; }
38
39
virtual
unsigned
int
get_id
()
const
{
return
0xFFFFFFFF; }
40
virtual
void
set_id
(
unsigned
int
) {
return
; }
41
42
virtual
ParticleFlowElement::PFLOWTYPE
get_type
()
const
{
return
ParticleFlowElement::PFLOWTYPE::UNASSIGNED; }
43
virtual
void
set_type
(
ParticleFlowElement::PFLOWTYPE
) {
return
; }
44
45
virtual
float
get_px
()
const
{
return
NAN; }
46
virtual
void
set_px
(
float
) {
return
; }
47
48
virtual
float
get_py
()
const
{
return
NAN; }
49
virtual
void
set_py
(
float
) {
return
; }
50
51
virtual
float
get_pz
()
const
{
return
NAN; }
52
virtual
void
set_pz
(
float
) {
return
; }
53
54
virtual
float
get_e
()
const
{
return
NAN; }
55
virtual
void
set_e
(
float
) {
return
; }
56
57
virtual
SvtxTrack
*
get_track
()
const
{
return
nullptr
; }
58
virtual
void
set_track
(
SvtxTrack
*) {
return
; }
59
60
virtual
std::vector<RawCluster*>
get_eclusters
()
const
{
return
std::vector<RawCluster*>(); }
61
virtual
void
set_eclusters
(
const
std::vector<RawCluster*>&) {
return
; }
62
63
virtual
RawCluster
*
get_hcluster
()
const
{
return
nullptr
; }
64
virtual
void
set_hcluster
(
RawCluster
*) {
return
; }
65
66
virtual
float
get_p
()
const
{
return
NAN; }
67
virtual
float
get_pt
()
const
{
return
NAN; }
68
virtual
float
get_et
()
const
{
return
NAN; }
69
virtual
float
get_eta
()
const
{
return
NAN; }
70
virtual
float
get_phi
()
const
{
return
NAN; }
71
virtual
float
get_mass
()
const
{
return
NAN; }
72
73
ClassDefOverride
(
ParticleFlowElement
, 1);
74
};
75
76
#endif
coresoftware
blob
master
offline
packages
particleflow
ParticleFlowElement.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:07
using
1.8.2 with
sPHENIX GitHub integration