Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-03 08:16:38

0001 
0002 #ifndef HijJet1_h
0003 #define HijJet1_h
0004 
0005 extern "C" { void* hijjet1_address_(void); }
0006 /**
0007 @brief   Class definition for HijJet1, which is used
0008       to modify the Hijing HIJJET1 common.
0009 */
0010 class HijJet1 {
0011 public:
0012     HijJet1();
0013     ~HijJet1();
0014     
0015     int&        npj (int i);
0016     int&        kfpj    (int i, int j);
0017     float&      pjpx    (int i, int j);
0018     float&      pjpy    (int i, int j);
0019     float&      pjpz    (int i, int j);
0020     float&      pjpe    (int i, int j);
0021     float&      pjpm    (int i, int j);
0022     int&        ntj (int i);
0023     int&        kftj    (int i, int j);
0024     float&      pjtx    (int i, int j);
0025     float&      pjty    (int i, int j);
0026     float&      pjtz    (int i, int j);
0027     float&      pjte    (int i, int j);
0028     float&      pjtm    (int i, int j);
0029     
0030     void    init    (void);
0031 
0032     // return common array lengths
0033     inline int  lenI() const {return _lenI;}
0034     inline int  lenJ() const {return _lenJ;}
0035 
0036 private: 
0037 
0038     // Lengths of array in HiMain2 common
0039     static const int _lenI  = 300;
0040     static const int _lenJ  = 500;
0041 
0042     struct HIJJET1;
0043     friend struct HIJJET1;
0044 
0045     struct HIJJET1
0046     {
0047     int     npj [_lenI];
0048     int     kfpj    [_lenJ][_lenI];
0049     float   pjpx    [_lenJ][_lenI];
0050     float   pjpy    [_lenJ][_lenI];
0051     float   pjpz    [_lenJ][_lenI];
0052     float   pjpe    [_lenJ][_lenI];
0053     float   pjpm    [_lenJ][_lenI];
0054     int     ntj [_lenI];
0055     int     kftj    [_lenJ][_lenI];
0056     float   pjtx    [_lenJ][_lenI];
0057     float   pjty    [_lenJ][_lenI];
0058     float   pjtz    [_lenJ][_lenI];
0059     float   pjte    [_lenJ][_lenI];
0060     float   pjtm    [_lenJ][_lenI];
0061     };
0062 
0063     int  _dummy;
0064     float  _realdummy;
0065 
0066     static HIJJET1* _hijjet1;
0067 };
0068 
0069 // set pointer to zero at start
0070 HijJet1::HIJJET1* HijJet1::_hijjet1 =0;
0071 
0072 inline void
0073 HijJet1::init(void)
0074 { if (!_hijjet1) _hijjet1 = static_cast<HIJJET1*>(hijjet1_address_()); }
0075 
0076 // Constructor
0077 inline
0078 HijJet1::HijJet1()
0079     : _dummy        (-999),
0080       _realdummy    (-999.)
0081 {}
0082 
0083 // Destructor
0084 inline
0085 HijJet1::~HijJet1()
0086 {}
0087 
0088 inline int&
0089 HijJet1::npj    (int i)
0090 {
0091     init(); // check COMMON is initialized
0092     if(i < 1 || i > lenI()) return _dummy;
0093     return _hijjet1->npj[i-1];
0094 }
0095 
0096 inline int&
0097 HijJet1::kfpj   (int i, int j)
0098 {
0099     init(); // check COMMON is initialized
0100     if( i < 1 || i > lenI() ||
0101     j < 1 || j > lenJ() ) return _dummy;
0102 
0103     return _hijjet1->kfpj[j-1][i-1];
0104 }
0105 
0106 inline float&
0107 HijJet1::pjpx   (int i, int j)
0108 {
0109     init(); // check COMMON is initialized
0110     if( i < 1 || i > lenI() ||
0111     j < 1 || j > lenJ() ) return _realdummy;
0112 
0113     return _hijjet1->pjpx[j-1][i-1];
0114 }
0115 
0116 inline float&
0117 HijJet1::pjpy   (int i, int j)
0118 {
0119     init(); // check COMMON is initialized
0120     if( i < 1 || i > lenI() ||
0121     j < 1 || j > lenJ() ) return _realdummy;
0122 
0123     return _hijjet1->pjpy[j-1][i-1];
0124 }
0125 
0126 inline float&
0127 HijJet1::pjpz   (int i, int j)
0128 {
0129     init(); // check COMMON is initialized
0130     if( i < 1 || i > lenI() ||
0131     j < 1 || j > lenJ() ) return _realdummy;
0132 
0133     return _hijjet1->pjpz[j-1][i-1];
0134 }
0135 
0136 inline float&
0137 HijJet1::pjpe   (int i, int j)
0138 {
0139     init(); // check COMMON is initialized
0140     if( i < 1 || i > lenI() ||
0141     j < 1 || j > lenJ() ) return _realdummy;
0142 
0143     return _hijjet1->pjpe[j-1][i-1];
0144 }
0145 
0146 inline float&
0147 HijJet1::pjpm   (int i, int j)
0148 {
0149     init(); // check COMMON is initialized
0150     if( i < 1 || i > lenI() ||
0151     j < 1 || j > lenJ() ) return _realdummy;
0152 
0153     return _hijjet1->pjpm[j-1][i-1];
0154 }
0155 
0156 inline int&
0157 HijJet1::ntj    (int i)
0158 {
0159     init(); // check COMMON is initialized
0160     if(i < 1 || i > lenI()) return _dummy;
0161     return _hijjet1->ntj[i-1];
0162 }
0163 
0164 inline int&
0165 HijJet1::kftj   (int i, int j)
0166 {
0167     init(); // check COMMON is initialized
0168     if( i < 1 || i > lenI() ||
0169     j < 1 || j > lenJ() ) return _dummy;
0170 
0171     return _hijjet1->kftj[j-1][i-1];
0172 }
0173 
0174 inline float&
0175 HijJet1::pjtx   (int i, int j)
0176 {
0177     init(); // check COMMON is initialized
0178     if( i < 1 || i > lenI() ||
0179     j < 1 || j > lenJ() ) return _realdummy;
0180 
0181     return _hijjet1->pjtx[j-1][i-1];
0182 }
0183 
0184 inline float&
0185 HijJet1::pjty   (int i, int j)
0186 {
0187     init(); // check COMMON is initialized
0188     if( i < 1 || i > lenI() ||
0189     j < 1 || j > lenJ() ) return _realdummy;
0190 
0191     return _hijjet1->pjty[j-1][i-1];
0192 }
0193 
0194 inline float&
0195 HijJet1::pjtz   (int i, int j)
0196 {
0197     init(); // check COMMON is initialized
0198     if( i < 1 || i > lenI() ||
0199     j < 1 || j > lenJ() ) return _realdummy;
0200 
0201     return _hijjet1->pjtz[j-1][i-1];
0202 }
0203 
0204 inline float&
0205 HijJet1::pjte   (int i, int j)
0206 {
0207     init(); // check COMMON is initialized
0208     if( i < 1 || i > lenI() ||
0209     j < 1 || j > lenJ() ) return _realdummy;
0210 
0211     return _hijjet1->pjte[j-1][i-1];
0212 }
0213 
0214 inline float&
0215 HijJet1::pjtm   (int i, int j)
0216 {
0217     init(); // check COMMON is initialized
0218     if( i < 1 || i > lenI() ||
0219     j < 1 || j > lenJ() ) return _realdummy;
0220 
0221     return _hijjet1->pjtm[j-1][i-1];
0222 }
0223 
0224 #endif