ATLAS Offline Software
Loading...
Searching...
No Matches
HyiPar.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 HyiPar which is used
8// to modify HYIPAR common.
9
10#ifndef HyiPar_h
11#define HyiPar_h
12
13#include <cstdint>
14
15extern "C" { uintptr_t hyipar_address_(); }
16
17class HyiPar {
18public:
19 HyiPar();
20 ~HyiPar();
21
22 double& bminh (void);
23 double& bmaxh (void);
24 double& AW (void);
25 double& RA (void);
26 double& npar0 (void);
27 double& nbco0 (void);
28 double& Apb (void);
29 double& Rpb (void);
30 int& np (void);
31 int& init (void);
32 int& ipr (void);
33
34 void initf (void);
35
36private:
37
38 struct HYIPAR;
39 friend struct HYIPAR;
40
41 struct HYIPAR
42 {
43 double bminh;
44 double bmaxh;
45 double AW;
46 double RA;
47 double npar0;
48 double nbco0;
49 double Apb;
50 double Rpb;
51 int np;
52 int init;
53 int ipr;
54 };
55
57};
58
59// set pointer to zero at start
61
62inline void
64{ if (!s_hyipar) s_hyipar = reinterpret_cast<HYIPAR*>(hyipar_address_()); }
65
66inline
69
70inline
73
74inline double&
76{
77 initf();
78 return s_hyipar->bminh;
79}
80
81inline double&
83{
84 initf();
85 return s_hyipar->bmaxh;
86}
87
88inline double&
90{
91 initf();
92 return s_hyipar->AW;
93}
94
95inline double&
97{
98 initf();
99 return s_hyipar->RA;
100}
101
102inline double&
104{
105 initf();
106 return s_hyipar->npar0;
107}
108
109inline double&
111{
112 initf();
113 return s_hyipar->nbco0;
114}
115
116inline double&
118{
119 initf();
120 return s_hyipar->Apb;
121}
122
123inline double&
125{
126 initf();
127 return s_hyipar->Rpb;
128}
129
130inline int&
132{
133 initf();
134 return s_hyipar->np;
135}
136
137inline int&
139{
140 initf();
141 return s_hyipar->init;
142}
143
144inline int&
146{
147 initf();
148 return s_hyipar->ipr;
149}
150#endif
uintptr_t hyipar_address_()
double & Rpb(void)
Definition HyiPar.h:124
HyiPar()
Definition HyiPar.h:67
~HyiPar()
Definition HyiPar.h:71
int & np(void)
Definition HyiPar.h:131
static HYIPAR * s_hyipar
Definition HyiPar.h:56
double & npar0(void)
Definition HyiPar.h:103
double & bmaxh(void)
Definition HyiPar.h:82
double & Apb(void)
Definition HyiPar.h:117
int & ipr(void)
Definition HyiPar.h:145
double & bminh(void)
Definition HyiPar.h:75
int & init(void)
Definition HyiPar.h:138
double & nbco0(void)
Definition HyiPar.h:110
double & RA(void)
Definition HyiPar.h:96
void initf(void)
Definition HyiPar.h:63
double & AW(void)
Definition HyiPar.h:89
double npar0
Definition HyiPar.h:47
double bmaxh
Definition HyiPar.h:44
double nbco0
Definition HyiPar.h:48
double AW
Definition HyiPar.h:45
double Rpb
Definition HyiPar.h:50
double RA
Definition HyiPar.h:46
double Apb
Definition HyiPar.h:49
double bminh
Definition HyiPar.h:43