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
sHEPGen.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file sHEPGen.h
1
#ifndef __SHEPGEN_H__
2
#define __SHEPGEN_H__
3
4
#include <
fun4all/SubsysReco.h
>
5
#include <
phhepmc/PHHepMCGenHelper.h
>
6
7
#if !defined(__CINT__) || defined(__CLING__)
8
#include <gsl/gsl_rng.h>
9
#endif
10
11
#include <iostream>
12
#include <string>
13
14
class
PHCompositeNode
;
15
class
PHHepMCGenEvent
;
16
17
class
HGenManager;
18
class
HLorentzVector;
19
20
namespace
HepMC
21
{
22
class
GenEvent;
23
};
24
25
class
sHEPGen
:
public
SubsysReco
,
public
PHHepMCGenHelper
26
{
27
public
:
28
sHEPGen
(
const
std::string &
name
=
"sHEPGen"
);
29
virtual
~sHEPGen
();
30
31
int
Init
(
PHCompositeNode
*topNode);
32
int
process_event
(
PHCompositeNode
*topNode);
33
int
End
(
PHCompositeNode
*topNode);
34
35
void
set_datacard_file
(
const
char
*cfg_file)
36
{
37
if
(cfg_file)
_datacardFile
= cfg_file;
38
}
39
40
void
set_momentum_electron
(
double
emom)
41
{
42
_p_electron_lab
= emom;
43
}
44
45
void
set_momentum_hadron
(
double
hmom)
46
{
47
_p_hadron_lab
= hmom;
48
}
49
50
void
beam_vertex_parameters
(
double
beamX,
51
double
beamY,
52
double
beamZ,
53
double
beamXsigma,
54
double
beamYsigma,
55
double
beamZsigma)
56
{
57
set_vertex_distribution_mean
(beamX, beamY, beamZ, 0);
58
set_vertex_distribution_width
(beamXsigma, beamYsigma, beamZsigma, 0);
59
}
60
61
private
:
64
void
printlogo
();
65
66
67
int
_eventcount
;
68
69
double
_p_electron_lab
;
70
double
_p_hadron_lab
;
71
72
HLorentzVector *
_p4_electron_lab
;
73
HLorentzVector *
_p4_hadron_lab
;
74
HLorentzVector *
_p4_hadron_lab_invert
;
75
HLorentzVector *
_p4_electron_prest
;
76
HLorentzVector *
_p4_hadron_prest
;
77
78
// HEPGen++
79
HGenManager *
_hgenManager
;
80
81
std::string
_datacardFile
;
82
};
83
84
#endif
/* __SHEPGEN_H__ */
coresoftware
blob
master
generators
sHEPGen
sHEPGen.h
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:24:33
using
1.8.2 with
ECCE GitHub integration