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
HiParnt.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file HiParnt.h
1
2
#ifndef HiParnt_h
3
#define HiParnt_h
4
5
extern
"C"
{
void
*
hiparnt_address_
(
void
); }
6
12
class
HiParnt
{
13
public
:
14
HiParnt
();
15
~HiParnt
();
16
17
float
&
hipr1
(
int
n
);
18
int
&
ihpr2
(
int
n);
19
float
&
hint1
(
int
n);
20
int
&
ihnt2
(
int
n);
21
22
void
init
(
void
);
23
24
// return common array lengths
25
inline
int
lenHipr1
()
const
{
return
_lenHipr1
;}
26
inline
int
lenIhpr2
()
const
{
return
_lenIhpr2
;}
27
inline
int
lenHint1
()
const
{
return
_lenHint1
;}
28
inline
int
lenIhnt2
()
const
{
return
_lenIhnt2
;}
29
30
private
:
31
32
// Lengths of the COMMONS
33
static
const
int
_lenHipr1
= 100;
34
static
const
int
_lenIhpr2
= 50;
35
static
const
int
_lenHint1
= 100;
36
static
const
int
_lenIhnt2
= 50;
37
38
struct
HIPARNT
;
39
friend
struct
HIPARNT
;
40
41
struct
HIPARNT
42
{
43
float
hipr1[
_lenHipr1
];
44
int
ihpr2[
_lenIhpr2
];
45
float
hint1[
_lenHint1
];
46
int
ihnt2[
_lenIhnt2
];
47
};
48
49
int
_dummy
;
50
float
_realdummy
;
51
static
HIPARNT
*
_hiparnt
;
52
};
53
54
// set pointer to zero at start
55
HiParnt::HIPARNT
*
HiParnt::_hiparnt
=0;
56
57
inline
void
58
HiParnt::init
(
void
)
59
{
if
(!
_hiparnt
)
_hiparnt
=
static_cast<
HIPARNT
*
>
(
hiparnt_address_
()); }
60
61
inline
62
HiParnt::HiParnt
()
63
: _dummy (-999),
64
_realdummy (-999.)
65
{}
66
67
inline
68
HiParnt::~HiParnt
()
69
{}
70
71
inline
float
&
72
HiParnt::hipr1
(
int
n
)
73
{
74
init
();
// check COMMON is initialized
75
if
(n < 1 || n >
lenHipr1
())
return
_realdummy
;
76
return
_hiparnt
->
hipr1
[n-1];
77
}
78
79
inline
int
&
80
HiParnt::ihpr2
(
int
n
)
81
{
82
init
();
// check COMMON is initialized
83
if
(n < 1 || n >
lenIhpr2
())
return
_dummy
;
84
return
_hiparnt
->
ihpr2
[n-1];
85
}
86
87
inline
float
&
88
HiParnt::hint1
(
int
n
)
89
{
90
init
();
// check COMMON is initialized
91
if
(n < 1 || n >
lenHint1
())
return
_realdummy
;
92
return
_hiparnt
->
hint1
[n-1];
93
}
94
95
// access ihnt2 in common
96
inline
int
&
97
HiParnt::ihnt2
(
int
n
)
98
{
99
init
();
// check COMMON is initialized
100
if
(n < 1 || n >
lenIhnt2
())
return
_dummy
;
101
return
_hiparnt
->
ihnt2
[n-1];
102
}
103
104
#endif
fun4all_coresoftware
blob
master
generators
sHijing
HiParnt.h
Built by
Jin Huang
. updated:
Mon Jan 22 2024 12:43:42
using
1.8.2 with
EIC GitHub integration