ATLAS Offline Software
Loading...
Searching...
No Matches
HijJet1.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 HijJet1_h
7#define HijJet1_h
8
9#include <cstdint>
10
11extern "C" { uintptr_t hijjet1_address_(); }
16class HijJet1 {
17public:
18 HijJet1();
19 ~HijJet1();
20
21 int& npj (int i);
22 int& kfpj (int i, int j);
23 float& pjpx (int i, int j);
24 float& pjpy (int i, int j);
25 float& pjpz (int i, int j);
26 float& pjpe (int i, int j);
27 float& pjpm (int i, int j);
28 int& ntj (int i);
29 int& kftj (int i, int j);
30 float& pjtx (int i, int j);
31 float& pjty (int i, int j);
32 float& pjtz (int i, int j);
33 float& pjte (int i, int j);
34 float& pjtm (int i, int j);
35
36 void init (void);
37
38 // return common array lengths
39 inline int lenI() const {return s_lenI;}
40 inline int lenJ() const {return s_lenJ;}
41
42private:
43
44 // Lengths of array in HiMain2 common
45 static const int s_lenI = 300;
46 static const int s_lenJ = 500;
47
48 struct HIJJET1;
49 friend struct HIJJET1;
50
51 struct HIJJET1
52 {
53 int npj [s_lenI];
55 float pjpx [s_lenJ][s_lenI];
56 float pjpy [s_lenJ][s_lenI];
57 float pjpz [s_lenJ][s_lenI];
58 float pjpe [s_lenJ][s_lenI];
59 float pjpm [s_lenJ][s_lenI];
60 int ntj [s_lenI];
62 float pjtx [s_lenJ][s_lenI];
63 float pjty [s_lenJ][s_lenI];
64 float pjtz [s_lenJ][s_lenI];
65 float pjte [s_lenJ][s_lenI];
66 float pjtm [s_lenJ][s_lenI];
67 };
68
71
73};
74
75// set pointer to zero at start
77
78inline void
80{ if (!s_hijjet1) s_hijjet1 = reinterpret_cast<HIJJET1*>(hijjet1_address_()); }
81
82// Constructor
83inline
85 : m_dummy (-999),
86 m_realdummy (-999.)
87{}
88
89// Destructor
90inline
93
94inline int&
96{
97 init(); // check COMMON is initialized
98 if(i < 1 || i > lenI()) return m_dummy;
99 return s_hijjet1->npj[i-1];
100}
101
102inline int&
103HijJet1::kfpj (int i, int j)
104{
105 init(); // check COMMON is initialized
106 if( i < 1 || i > lenI() ||
107 j < 1 || j > lenJ() ) return m_dummy;
108
109 return s_hijjet1->kfpj[j-1][i-1];
110}
111
112inline float&
113HijJet1::pjpx (int i, int j)
114{
115 init(); // check COMMON is initialized
116 if( i < 1 || i > lenI() ||
117 j < 1 || j > lenJ() ) return m_realdummy;
118
119 return s_hijjet1->pjpx[j-1][i-1];
120}
121
122inline float&
123HijJet1::pjpy (int i, int j)
124{
125 init(); // check COMMON is initialized
126 if( i < 1 || i > lenI() ||
127 j < 1 || j > lenJ() ) return m_realdummy;
128
129 return s_hijjet1->pjpy[j-1][i-1];
130}
131
132inline float&
133HijJet1::pjpz (int i, int j)
134{
135 init(); // check COMMON is initialized
136 if( i < 1 || i > lenI() ||
137 j < 1 || j > lenJ() ) return m_realdummy;
138
139 return s_hijjet1->pjpz[j-1][i-1];
140}
141
142inline float&
143HijJet1::pjpe (int i, int j)
144{
145 init(); // check COMMON is initialized
146 if( i < 1 || i > lenI() ||
147 j < 1 || j > lenJ() ) return m_realdummy;
148
149 return s_hijjet1->pjpe[j-1][i-1];
150}
151
152inline float&
153HijJet1::pjpm (int i, int j)
154{
155 init(); // check COMMON is initialized
156 if( i < 1 || i > lenI() ||
157 j < 1 || j > lenJ() ) return m_realdummy;
158
159 return s_hijjet1->pjpm[j-1][i-1];
160}
161
162inline int&
164{
165 init(); // check COMMON is initialized
166 if(i < 1 || i > lenI()) return m_dummy;
167 return s_hijjet1->ntj[i-1];
168}
169
170inline int&
171HijJet1::kftj (int i, int j)
172{
173 init(); // check COMMON is initialized
174 if( i < 1 || i > lenI() ||
175 j < 1 || j > lenJ() ) return m_dummy;
176
177 return s_hijjet1->kftj[j-1][i-1];
178}
179
180inline float&
181HijJet1::pjtx (int i, int j)
182{
183 init(); // check COMMON is initialized
184 if( i < 1 || i > lenI() ||
185 j < 1 || j > lenJ() ) return m_realdummy;
186
187 return s_hijjet1->pjtx[j-1][i-1];
188}
189
190inline float&
191HijJet1::pjty (int i, int j)
192{
193 init(); // check COMMON is initialized
194 if( i < 1 || i > lenI() ||
195 j < 1 || j > lenJ() ) return m_realdummy;
196
197 return s_hijjet1->pjty[j-1][i-1];
198}
199
200inline float&
201HijJet1::pjtz (int i, int j)
202{
203 init(); // check COMMON is initialized
204 if( i < 1 || i > lenI() ||
205 j < 1 || j > lenJ() ) return m_realdummy;
206
207 return s_hijjet1->pjtz[j-1][i-1];
208}
209
210inline float&
211HijJet1::pjte (int i, int j)
212{
213 init(); // check COMMON is initialized
214 if( i < 1 || i > lenI() ||
215 j < 1 || j > lenJ() ) return m_realdummy;
216
217 return s_hijjet1->pjte[j-1][i-1];
218}
219
220inline float&
221HijJet1::pjtm (int i, int j)
222{
223 init(); // check COMMON is initialized
224 if( i < 1 || i > lenI() ||
225 j < 1 || j > lenJ() ) return m_realdummy;
226
227 return s_hijjet1->pjtm[j-1][i-1];
228}
229
230#endif
uintptr_t hijjet1_address_()
int & ntj(int i)
Definition HijJet1.h:163
int & kfpj(int i, int j)
Definition HijJet1.h:103
float & pjtx(int i, int j)
Definition HijJet1.h:181
float & pjpx(int i, int j)
Definition HijJet1.h:113
int lenI() const
Definition HijJet1.h:39
float & pjpe(int i, int j)
Definition HijJet1.h:143
void init(void)
Definition HijJet1.h:79
float & pjpm(int i, int j)
Definition HijJet1.h:153
int & kftj(int i, int j)
Definition HijJet1.h:171
static const int s_lenI
Definition HijJet1.h:45
HijJet1()
Definition HijJet1.h:84
int & npj(int i)
Definition HijJet1.h:95
float & pjpz(int i, int j)
Definition HijJet1.h:133
float m_realdummy
Definition HijJet1.h:70
float & pjty(int i, int j)
Definition HijJet1.h:191
float & pjtz(int i, int j)
Definition HijJet1.h:201
static HIJJET1 * s_hijjet1
Definition HijJet1.h:72
float & pjtm(int i, int j)
Definition HijJet1.h:221
int m_dummy
Definition HijJet1.h:69
int lenJ() const
Definition HijJet1.h:40
~HijJet1()
Definition HijJet1.h:91
static const int s_lenJ
Definition HijJet1.h:46
float & pjpy(int i, int j)
Definition HijJet1.h:123
float & pjte(int i, int j)
Definition HijJet1.h:211
int npj[s_lenI]
Definition HijJet1.h:53
int ntj[s_lenI]
Definition HijJet1.h:60
float pjty[s_lenJ][s_lenI]
Definition HijJet1.h:63
float pjpz[s_lenJ][s_lenI]
Definition HijJet1.h:57
float pjtz[s_lenJ][s_lenI]
Definition HijJet1.h:64
float pjte[s_lenJ][s_lenI]
Definition HijJet1.h:65
float pjtx[s_lenJ][s_lenI]
Definition HijJet1.h:62
int kftj[s_lenJ][s_lenI]
Definition HijJet1.h:61
float pjpe[s_lenJ][s_lenI]
Definition HijJet1.h:58
float pjtm[s_lenJ][s_lenI]
Definition HijJet1.h:66
float pjpy[s_lenJ][s_lenI]
Definition HijJet1.h:56
float pjpm[s_lenJ][s_lenI]
Definition HijJet1.h:59
int kfpj[s_lenJ][s_lenI]
Definition HijJet1.h:54
float pjpx[s_lenJ][s_lenI]
Definition HijJet1.h:55