ATLAS Offline Software
Generators
Hijing_i
Hijing_i
HijCrdn.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 HijCrdn_h
7
#define HijCrdn_h
8
9
#include <cstdint>
10
11
extern
"C"
{ uintptr_t
hijcrdn_address_
(); }
17
class
HijCrdn
{
18
public
:
19
HijCrdn
();
20
~HijCrdn
();
21
22
float
&
yp
(
int
i
,
int
j);
23
float
&
yt
(
int
i
,
int
j);
24
25
void
init
(
void
);
26
27
// return common array lengths
28
inline
int
lenI
()
const
{
return
s_lenI
;}
29
inline
int
lenJ
()
const
{
return
s_lenJ
;}
30
31
private
:
32
33
// Lengths of array in HiMain2 common
34
static
const
int
s_lenI
= 3;
35
static
const
int
s_lenJ
= 300;
36
37
struct
HIJCRDN
;
38
friend
struct
HIJCRDN
;
39
40
struct
HIJCRDN
41
{
42
float
yp
[
s_lenJ
][
s_lenI
];
43
float
yt
[
s_lenJ
][
s_lenI
];
44
};
45
46
float
m_realdummy
;
47
48
static
HIJCRDN
*
s_hijcrdn
;
49
};
50
51
// set pointer to zero at start
52
HijCrdn::HIJCRDN
*
HijCrdn::s_hijcrdn
=0;
53
54
inline
void
55
HijCrdn::init
(
void
)
56
{
if
(!
s_hijcrdn
)
s_hijcrdn
=
reinterpret_cast<
HIJCRDN
*
>
(
hijcrdn_address_
()); }
57
58
// Constructor
59
inline
60
HijCrdn::HijCrdn
()
61
: m_realdummy (-999.)
62
{}
63
64
// Destructor
65
inline
66
HijCrdn::~HijCrdn
()
67
{}
68
69
inline
float
&
70
HijCrdn::yp
(
int
i
,
int
j)
71
{
72
init
();
// check COMMON is initialized
73
if
( i < 1 || i >
lenI
() ||
74
j < 1 || j >
lenJ
() )
return
m_realdummy
;
75
76
return
s_hijcrdn
->
yp
[j-1][
i
-1];
77
}
78
79
inline
float
&
80
HijCrdn::yt
(
int
i
,
int
j)
81
{
82
init
();
// check COMMON is initialized
83
if
( i < 1 || i >
lenI
() ||
84
j < 1 || j >
lenJ
() )
return
m_realdummy
;
85
86
return
s_hijcrdn
->
yt
[j-1][
i
-1];
87
}
88
89
#endif
HijCrdn::HijCrdn
HijCrdn()
Definition:
HijCrdn.h:60
HijCrdn::init
void init(void)
Definition:
HijCrdn.h:55
HijCrdn::~HijCrdn
~HijCrdn()
Definition:
HijCrdn.h:66
hijcrdn_address_
uintptr_t hijcrdn_address_()
HijCrdn::HIJCRDN
Definition:
HijCrdn.h:41
HijCrdn::s_lenI
static const int s_lenI
Definition:
HijCrdn.h:34
HijCrdn::yp
float & yp(int i, int j)
Definition:
HijCrdn.h:70
lumiFormat.i
int i
Definition:
lumiFormat.py:85
HijCrdn::s_hijcrdn
static HIJCRDN * s_hijcrdn
Definition:
HijCrdn.h:48
HijCrdn::yt
float & yt(int i, int j)
Definition:
HijCrdn.h:80
HijCrdn::s_lenJ
static const int s_lenJ
Definition:
HijCrdn.h:35
HijCrdn::HIJCRDN::yp
float yp[s_lenJ][s_lenI]
Definition:
HijCrdn.h:42
HijCrdn::m_realdummy
float m_realdummy
Definition:
HijCrdn.h:46
HijCrdn::HIJCRDN::yt
float yt[s_lenJ][s_lenI]
Definition:
HijCrdn.h:43
HijCrdn
Class definition for HijCrdn, which is used to modify the Hijing HIJCRDN common.
Definition:
HijCrdn.h:17
HijCrdn::lenI
int lenI() const
Definition:
HijCrdn.h:28
HijCrdn::lenJ
int lenJ() const
Definition:
HijCrdn.h:29
Generated on Mon Dec 23 2024 21:11:13 for ATLAS Offline Software by
1.8.18