File indexing completed on 2025-08-03 08:16:38
0001
0002 #ifndef HijJet4_h
0003 #define HijJet4_h
0004
0005 extern "C" { void* hijjet4_address_(void); }
0006
0007
0008
0009
0010
0011
0012
0013 class HijJet4 {
0014 public:
0015 HijJet4();
0016 ~HijJet4();
0017
0018 int& ndr (void);
0019 int& iadr (int i, int j);
0020 int& kfdr (int i);
0021 float& pdr (int i, int k);
0022
0023 void init (void);
0024
0025
0026 inline int lenI() const {return _lenI;}
0027 inline int lenJ() const {return _lenJ;}
0028 inline int lenK() const {return _lenK;}
0029
0030 private:
0031
0032
0033 static const int _lenI = 900;
0034 static const int _lenJ = 2;
0035 static const int _lenK = 5;
0036
0037 struct HIJJET4;
0038 friend struct HIJJET4;
0039
0040 struct HIJJET4
0041 {
0042 int ndr;
0043 int iadr [_lenJ][_lenI];
0044 int kfdr [_lenI];
0045 float pdr [_lenK][_lenI];
0046 };
0047
0048 int _dummy;
0049 float _realdummy;
0050
0051 static HIJJET4* _hijjet4;
0052 };
0053
0054
0055 HijJet4::HIJJET4* HijJet4::_hijjet4 =0;
0056
0057 inline void
0058 HijJet4::init(void)
0059 { if (!_hijjet4) _hijjet4 = static_cast<HIJJET4*>(hijjet4_address_()); }
0060
0061
0062 inline
0063 HijJet4::HijJet4()
0064 : _dummy (-999),
0065 _realdummy (-999.)
0066 {}
0067
0068
0069 inline
0070 HijJet4::~HijJet4()
0071 {}
0072
0073 inline int&
0074 HijJet4::ndr (void)
0075 {
0076 init();
0077 return _hijjet4->ndr;
0078 }
0079
0080 inline int&
0081 HijJet4::iadr (int i, int j)
0082 {
0083 init();
0084 if( i < 1 || i > lenI() ||
0085 j < 1 || j > lenJ() ) return _dummy;
0086
0087 return _hijjet4->iadr[j-1][i-1];
0088 }
0089
0090 inline int&
0091 HijJet4::kfdr (int i)
0092 {
0093 init();
0094 if(i < 1 || i > lenI()) return _dummy;
0095 return _hijjet4->kfdr[i-1];
0096 }
0097
0098 inline float&
0099 HijJet4::pdr (int i, int k)
0100 {
0101 init();
0102 if( i < 1 || i > lenI() ||
0103 k < 1 || k > lenK() ) return _realdummy;
0104
0105 return _hijjet4->pdr[k-1][i-1];
0106 }
0107
0108 #endif