File indexing completed on 2025-08-03 08:16:38
0001
0002 #ifndef HijJet2_h
0003 #define HijJet2_h
0004
0005 extern "C" { void* hijjet2_address_(void); }
0006
0007
0008
0009
0010
0011
0012 class HijJet2 {
0013 public:
0014 HijJet2();
0015 ~HijJet2();
0016
0017 int& nsg (void);
0018 int& njsg (int i);
0019 int& iasg (int i, int k);
0020 int& k1sg (int i, int j);
0021 int& k2sg (int i, int j);
0022 float& pxsg (int i, int j);
0023 float& pysg (int i, int j);
0024 float& pzsg (int i, int j);
0025 float& pesg (int i, int j);
0026 float& pmsg (int i, int j);
0027
0028 void init (void);
0029
0030
0031 inline int lenI() const {return _lenI;}
0032 inline int lenJ() const {return _lenJ;}
0033 inline int lenK() const {return _lenK;}
0034
0035 private:
0036
0037
0038 static const int _lenI = 900;
0039 static const int _lenJ = 100;
0040 static const int _lenK = 3;
0041
0042 struct HIJJET2;
0043 friend struct HIJJET2;
0044
0045 struct HIJJET2
0046 {
0047 int nsg;
0048 int njsg [_lenI];
0049 int iasg [_lenK][_lenI];
0050 int k1sg [_lenJ][_lenI];
0051 int k2sg [_lenJ][_lenI];
0052 float pxsg [_lenJ][_lenI];
0053 float pysg [_lenJ][_lenI];
0054 float pzsg [_lenJ][_lenI];
0055 float pesg [_lenJ][_lenI];
0056 float pmsg [_lenJ][_lenI];
0057 };
0058
0059 int _dummy;
0060 float _realdummy;
0061
0062 static HIJJET2* _hijjet2;
0063 };
0064
0065
0066 HijJet2::HIJJET2* HijJet2::_hijjet2 =0;
0067
0068 inline void
0069 HijJet2::init(void)
0070 { if (!_hijjet2) _hijjet2 = static_cast<HIJJET2*>(hijjet2_address_()); }
0071
0072
0073 inline
0074 HijJet2::HijJet2()
0075 : _dummy (-999),
0076 _realdummy (-999.)
0077 {}
0078
0079
0080 inline
0081 HijJet2::~HijJet2()
0082 {}
0083
0084 inline int&
0085 HijJet2::nsg (void)
0086 {
0087 init();
0088 return _hijjet2->nsg;
0089 }
0090
0091 inline int&
0092 HijJet2::njsg (int i)
0093 {
0094 init();
0095 if(i < 1 || i > lenI()) return _dummy;
0096 return _hijjet2->njsg[i-1];
0097 }
0098
0099 inline int&
0100 HijJet2::iasg (int i, int k)
0101 {
0102 init();
0103 if( i < 1 || i > lenI() ||
0104 k < 1 || k > lenK() ) return _dummy;
0105
0106 return _hijjet2->iasg[k-1][i-1];
0107 }
0108
0109 inline int&
0110 HijJet2::k1sg (int i, int j)
0111 {
0112 init();
0113 if( i < 1 || i > lenI() ||
0114 j < 1 || j > lenJ() ) return _dummy;
0115
0116 return _hijjet2->k1sg[j-1][i-1];
0117 }
0118
0119 inline int&
0120 HijJet2::k2sg (int i, int j)
0121 {
0122 init();
0123 if( i < 1 || i > lenI() ||
0124 j < 1 || j > lenJ() ) return _dummy;
0125
0126 return _hijjet2->k2sg[j-1][i-1];
0127 }
0128
0129 inline float&
0130 HijJet2::pxsg (int i, int j)
0131 {
0132 init();
0133 if( i < 1 || i > lenI() ||
0134 j < 1 || j > lenJ() ) return _realdummy;
0135
0136 return _hijjet2->pxsg[j-1][i-1];
0137 }
0138
0139 inline float&
0140 HijJet2::pysg (int i, int j)
0141 {
0142 init();
0143 if( i < 1 || i > lenI() ||
0144 j < 1 || j > lenJ() ) return _realdummy;
0145
0146 return _hijjet2->pysg[j-1][i-1];
0147 }
0148
0149 inline float&
0150 HijJet2::pzsg (int i, int j)
0151 {
0152 init();
0153 if( i < 1 || i > lenI() ||
0154 j < 1 || j > lenJ() ) return _realdummy;
0155
0156 return _hijjet2->pzsg[j-1][i-1];
0157 }
0158
0159 inline float&
0160 HijJet2::pesg (int i, int j)
0161 {
0162 init();
0163 if( i < 1 || i > lenI() ||
0164 j < 1 || j > lenJ() ) return _realdummy;
0165
0166 return _hijjet2->pesg[j-1][i-1];
0167 }
0168
0169 inline float&
0170 HijJet2::pmsg (int i, int j)
0171 {
0172 init();
0173 if( i < 1 || i > lenI() ||
0174 j < 1 || j > lenJ() ) return _realdummy;
0175
0176 return _hijjet2->pmsg[j-1][i-1];
0177 }
0178
0179 #endif