EIC Software
Reference for
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
HepMCNodeReader.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file HepMCNodeReader.h
1
// Tell emacs that this is a C++ source
2
// -*- C++ -*-.
3
#ifndef G4MAIN_HEPMCNODEREADER_H
4
#define G4MAIN_HEPMCNODEREADER_H
5
6
#include <
fun4all/SubsysReco.h
>
7
8
// rootcint barfs with this header so we need to hide it
9
#include <gsl/gsl_rng.h>
10
11
#include <string>
12
13
class
PHCompositeNode
;
14
17
class
HepMCNodeReader
:
public
SubsysReco
18
{
19
public
:
20
HepMCNodeReader
(
const
std::string &
name
=
"HEPMCREADER"
);
21
~HepMCNodeReader
()
override
;
22
23
int
Init
(
PHCompositeNode
*topNode)
override
;
24
int
process_event
(
PHCompositeNode
*topNode)
override
;
25
26
void
pythia
(
const
bool
pythia
)
27
{
is_pythia
=
pythia
; }
28
31
void
Embed
(
const
int
i = 1);
32
36
void
VertexPosition
(
const
double
v_x,
const
double
v_y,
const
double
v_z);
37
42
void
SmearVertex
(
const
double
s_x,
const
double
s_y,
const
double
s_z);
43
46
void
SetT0
(
const
double
t0) {
vertex_t0
= t0; }
47
//
49
void
SetSeed
(
const
unsigned
int
i)
50
{
51
seed
= i;
52
use_seed
= 1;
53
}
54
55
private
:
56
double
smeargauss
(
const
double
width
);
57
double
smearflat
(
const
double
width
);
58
59
gsl_rng *
RandomGenerator
;
60
bool
is_pythia
;
61
int
use_seed
;
62
unsigned
int
seed
;
63
double
vertex_pos_x
;
64
double
vertex_pos_y
;
65
double
vertex_pos_z
;
66
double
vertex_t0
;
67
double
width_vx
;
68
double
width_vy
;
69
double
width_vz
;
70
};
71
72
#endif
fun4all_coresoftware
blob
master
simulation
g4simulation
g4main
HepMCNodeReader.h
Built by
Jin Huang
. updated:
Mon Jan 22 2024 12:43:50
using
1.8.2 with
EIC GitHub integration