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
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:
Sat Feb 17 2024 22:18:04
using
1.8.2 with
sPHENIX GitHub integration