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
PHHepMCGenEvent.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file PHHepMCGenEvent.h
1
#ifndef PHHEPMC_PHHEPMCGENEVENT_H
2
#define PHHEPMC_PHHEPMCGENEVENT_H
3
4
#include <
phool/PHObject.h
>
5
6
#include <
phool/phool.h
>
7
8
#include <HepMC/SimpleVector.h>
9
10
#include <
CLHEP/Vector/LorentzRotation.h
>
11
12
#include <iostream>
// for cout, ostream
13
14
namespace
HepMC
15
{
16
class
GenEvent;
17
}
18
19
class
PHHepMCGenEvent
:
public
PHObject
20
{
21
public
:
22
PHHepMCGenEvent
();
23
24
PHHepMCGenEvent
(
const
PHHepMCGenEvent
& event);
25
PHHepMCGenEvent
&
operator=
(
const
PHHepMCGenEvent
& event);
26
~PHHepMCGenEvent
()
override
;
27
28
void
identify
(std::ostream& os = std::cout)
const override
;
29
void
Reset
()
override
;
30
int
isValid
()
const override
31
{
32
return
(
getEvent
() !=
nullptr
) ? 1 : 0;
33
}
34
PHObject
*
CloneMe
()
const override
{
return
new
PHHepMCGenEvent
(*
this
); }
35
36
HepMC::GenEvent*
getEvent
();
37
const
HepMC::GenEvent*
getEvent
()
const
;
38
43
int
get_embedding_id
()
const
{
return
_embedding_id
; }
44
49
void
set_embedding_id
(
int
id
) {
_embedding_id
= id; }
50
52
bool
is_simulated
()
const
{
return
_isSimulated
; }
53
55
void
is_simulated
(
bool
v
) {
_isSimulated
=
v
; }
56
58
const
HepMC::FourVector&
get_collision_vertex
()
const
{
return
_collisionVertex
; }
59
61
void
set_collision_vertex
(
const
HepMC::FourVector&
v
) {
_collisionVertex
=
v
; }
62
64
virtual
const
HepMC::ThreeVector&
get_boost_beta_vector
()
const
65
{
66
PHOOL_VIRTUAL_WARNING
;
67
static
HepMC::ThreeVector dummy_vec(0, 0, 0);
68
return
dummy_vec;
69
}
70
72
virtual
void
set_boost_beta_vector
(
const
HepMC::ThreeVector&) {
PHOOL_VIRTUAL_WARNING
; }
73
75
virtual
const
HepMC::ThreeVector&
get_rotation_vector
()
const
76
{
77
PHOOL_VIRTUAL_WARNING
;
78
static
HepMC::ThreeVector dummy_vec(0, 0, 1);
79
return
dummy_vec;
80
}
81
83
virtual
void
set_rotation_vector
(
const
HepMC::ThreeVector&) {
PHOOL_VIRTUAL_WARNING
; }
84
86
virtual
double
get_rotation_angle
()
const
87
{
88
PHOOL_VIRTUAL_WARNING
;
89
return
0;
90
}
91
93
virtual
void
set_rotation_angle
(
const
double
) {
PHOOL_VIRTUAL_WARNING
; }
94
96
virtual
CLHEP::HepLorentzRotation
get_LorentzRotation_EvtGen2Lab
()
const
{
return
CLHEP::HepLorentzRotation::IDENTITY
; }
97
99
virtual
CLHEP::HepLorentzRotation
get_LorentzRotation_Lab2EvtGen
()
const
{
return
CLHEP::HepLorentzRotation::IDENTITY
; }
100
102
bool
addEvent
(HepMC::GenEvent* evt);
103
bool
addEvent
(HepMC::GenEvent& evt);
104
bool
swapEvent
(HepMC::GenEvent*& evt);
105
void
clearEvent
();
106
108
virtual
void
moveVertex
(
double
x
,
double
y
,
double
z
,
double
t
= 0);
109
110
// the number of entries in the array of particles
111
virtual
int
size
(
void
)
const
;
112
virtual
int
vertexSize
(
void
)
const
;
113
114
void
print
(std::ostream& os = std::cout)
const
;
115
116
void
PrintEvent
();
117
118
protected
:
123
int
_embedding_id
;
124
126
bool
_isSimulated
;
127
129
HepMC::FourVector
_collisionVertex
;
130
132
HepMC::GenEvent*
_theEvt
;
133
134
ClassDefOverride(
PHHepMCGenEvent
, 5)
135
};
136
137
#endif // PHHEPMC_PHHEPMCEVENT_H
coresoftware
blob
master
generators
phhepmc
PHHepMCGenEvent.h
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:24:33
using
1.8.2 with
ECCE GitHub integration