ATLAS Offline Software
Generators
Hydjet_i
Hydjet_i
HyFlow.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
// Description:
7
// Class definition for HyFlow, which is used
8
// to modify HYFLOW common.
9
10
#ifndef HyFlow_h
11
#define HyFlow_h
12
13
#include <cstdint>
14
15
extern
"C"
{ uintptr_t
hyflow_address_
(); }
16
17
class
HyFlow
{
18
public
:
19
HyFlow
();
20
~HyFlow
();
21
22
double
&
ytfl
(
void
);
23
double
&
ylfl
(
void
);
24
double
&
tf
(
void
);
25
double
&
fpart
(
void
);
26
27
void
init
(
void
);
28
29
private
:
30
31
struct
HYFLOW
;
32
friend
struct
HYFLOW
;
33
34
struct
HYFLOW
35
{
36
double
ytfl
;
37
double
ylfl
;
38
double
tf
;
39
double
fpart
;
40
};
41
42
static
HYFLOW
*
s_hyflow
;
43
};
44
45
// set pointer to zero at start
46
HyFlow::HYFLOW
*
HyFlow::s_hyflow
=0;
47
48
inline
void
49
HyFlow::init
(
void
)
50
{
if
(!
s_hyflow
)
s_hyflow
=
reinterpret_cast<
HYFLOW
*
>
(
hyflow_address_
()); }
51
52
// Constructor
53
inline
54
HyFlow::HyFlow
()
55
{}
56
57
// Destructor
58
inline
59
HyFlow::~HyFlow
()
60
{}
61
62
inline
double
&
63
HyFlow::ytfl
(
void
)
64
{
65
init
();
66
return
s_hyflow
->
ytfl
;
67
}
68
69
inline
double
&
70
HyFlow::ylfl
(
void
)
71
{
72
init
();
73
return
s_hyflow
->
ylfl
;
74
}
75
76
inline
double
&
77
HyFlow::tf
(
void
)
78
{
79
init
();
80
return
s_hyflow
->
tf
;
81
}
82
83
inline
double
&
84
HyFlow::fpart
(
void
)
85
{
86
init
();
87
return
s_hyflow
->
fpart
;
88
}
89
90
#endif
HyFlow::fpart
double & fpart(void)
Definition:
HyFlow.h:84
HyFlow
Definition:
HyFlow.h:17
HyFlow::init
void init(void)
Definition:
HyFlow.h:49
HyFlow::HYFLOW::ytfl
double ytfl
Definition:
HyFlow.h:36
HyFlow::s_hyflow
static HYFLOW * s_hyflow
Definition:
HyFlow.h:42
HyFlow::HYFLOW
Definition:
HyFlow.h:35
hyflow_address_
uintptr_t hyflow_address_()
HyFlow::tf
double & tf(void)
Definition:
HyFlow.h:77
HyFlow::HYFLOW::ylfl
double ylfl
Definition:
HyFlow.h:37
HyFlow::HYFLOW::fpart
double fpart
Definition:
HyFlow.h:39
HyFlow::HyFlow
HyFlow()
Definition:
HyFlow.h:54
HyFlow::ytfl
double & ytfl(void)
Definition:
HyFlow.h:63
HyFlow::HYFLOW::tf
double tf
Definition:
HyFlow.h:38
HyFlow::ylfl
double & ylfl(void)
Definition:
HyFlow.h:70
HyFlow::~HyFlow
~HyFlow()
Definition:
HyFlow.h:59
Generated on Mon Dec 23 2024 21:11:23 for ATLAS Offline Software by
1.8.18