ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Generators
Hijing_i
Hijing_i
HiMain2.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
6
#ifndef HiMain2_h
7
#define HiMain2_h
8
9
#include <cstdint>
10
11
extern
"C"
{ uintptr_t
himain2_address_
(); }
17
class
HiMain2
{
18
public
:
19
HiMain2
();
20
~HiMain2
();
21
22
int
&
katt
(
int
i,
int
j);
23
float
&
patt
(
int
i,
int
j);
24
float
&
vatt
(
int
i,
int
j);
25
26
void
init
(
void
);
27
28
// return common array lengths
29
inline
int
leniKatt
()
const
{
return
s_leniKatt
;}
30
inline
int
lenjKatt
()
const
{
return
s_lenjKatt
;}
31
inline
int
leniPatt
()
const
{
return
s_leniPatt
;}
32
inline
int
lenjPatt
()
const
{
return
s_lenjPatt
;}
33
inline
int
leniVatt
()
const
{
return
s_leniVatt
;}
34
inline
int
lenjVatt
()
const
{
return
s_lenjVatt
;}
35
36
private
:
37
38
// Lengths of array in HiMain2 common
39
static
const
int
s_leniKatt
= 130000;
40
static
const
int
s_lenjKatt
= 4;
41
static
const
int
s_leniPatt
= 130000;
42
static
const
int
s_lenjPatt
= 4;
43
static
const
int
s_leniVatt
= 130000;
44
static
const
int
s_lenjVatt
= 4;
45
46
struct
HIMAIN2
;
47
friend
struct
HIMAIN2
;
48
49
struct
HIMAIN2
50
{
51
int
katt
[
s_lenjKatt
][
s_leniKatt
];
52
float
patt
[
s_lenjPatt
][
s_leniPatt
];
53
float
vatt
[
s_lenjVatt
][
s_leniVatt
];
54
};
55
56
int
m_dummy
;
57
float
m_realdummy
;
58
59
static
HIMAIN2
*
s_himain2
;
60
};
61
62
// set pointer to zero at start
63
HiMain2::HIMAIN2
*
HiMain2::s_himain2
=0;
64
65
inline
void
66
HiMain2::init
(
void
)
67
{
if
(!
s_himain2
)
s_himain2
=
reinterpret_cast<
HIMAIN2
*
>
(
himain2_address_
()); }
68
69
// Constructor
70
inline
71
HiMain2::HiMain2
()
72
:
m_dummy
(-999),
73
m_realdummy
(-999.)
74
{}
75
76
// Destructor
77
inline
78
HiMain2::~HiMain2
()
79
{}
80
81
inline
int
&
82
HiMain2::katt
(
int
i,
int
j)
83
{
84
init
();
// check COMMON is initialized
85
if
( i < 1 || i >
leniKatt
() ||
86
j < 1 || j >
lenjKatt
() )
return
m_dummy
;
87
88
return
s_himain2
->katt[j-1][i-1];
89
}
90
91
inline
float
&
92
HiMain2::patt
(
int
i,
int
j)
93
{
94
init
();
// check COMMON is initialized
95
if
( i < 1 || i >
leniPatt
() ||
96
j < 1 || j >
lenjPatt
() )
return
m_realdummy
;
97
98
return
s_himain2
->patt[j-1][i-1];
99
}
100
101
inline
float
&
102
HiMain2::vatt
(
int
i,
int
j)
103
{
104
init
();
// check COMMON is initialized
105
if
( i < 1 || i >
leniVatt
() ||
106
j < 1 || j >
lenjVatt
() )
return
m_realdummy
;
107
108
return
s_himain2
->vatt[j-1][i-1];
109
}
110
111
#endif
himain2_address_
uintptr_t himain2_address_()
Definition
Hijing.cxx:93
HiMain2::patt
float & patt(int i, int j)
Definition
HiMain2.h:92
HiMain2::leniPatt
int leniPatt() const
Definition
HiMain2.h:31
HiMain2::leniVatt
int leniVatt() const
Definition
HiMain2.h:33
HiMain2::leniKatt
int leniKatt() const
Definition
HiMain2.h:29
HiMain2::lenjVatt
int lenjVatt() const
Definition
HiMain2.h:34
HiMain2::vatt
float & vatt(int i, int j)
Definition
HiMain2.h:102
HiMain2::s_himain2
static HIMAIN2 * s_himain2
Definition
HiMain2.h:59
HiMain2::s_leniPatt
static const int s_leniPatt
Definition
HiMain2.h:41
HiMain2::lenjPatt
int lenjPatt() const
Definition
HiMain2.h:32
HiMain2::HiMain2
HiMain2()
Definition
HiMain2.h:71
HiMain2::s_leniVatt
static const int s_leniVatt
Definition
HiMain2.h:43
HiMain2::s_lenjKatt
static const int s_lenjKatt
Definition
HiMain2.h:40
HiMain2::lenjKatt
int lenjKatt() const
Definition
HiMain2.h:30
HiMain2::m_dummy
int m_dummy
Definition
HiMain2.h:56
HiMain2::~HiMain2
~HiMain2()
Definition
HiMain2.h:78
HiMain2::s_leniKatt
static const int s_leniKatt
Definition
HiMain2.h:39
HiMain2::s_lenjPatt
static const int s_lenjPatt
Definition
HiMain2.h:42
HiMain2::s_lenjVatt
static const int s_lenjVatt
Definition
HiMain2.h:44
HiMain2::m_realdummy
float m_realdummy
Definition
HiMain2.h:57
HiMain2::init
void init(void)
Definition
HiMain2.h:66
HiMain2::katt
int & katt(int i, int j)
Definition
HiMain2.h:82
HiMain2::HIMAIN2
Definition
HiMain2.h:50
HiMain2::HIMAIN2::katt
int katt[s_lenjKatt][s_leniKatt]
Definition
HiMain2.h:51
HiMain2::HIMAIN2::patt
float patt[s_lenjPatt][s_leniPatt]
Definition
HiMain2.h:52
HiMain2::HIMAIN2::vatt
float vatt[s_lenjVatt][s_leniVatt]
Definition
HiMain2.h:53
Generated on
for ATLAS Offline Software by
1.17.0