Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001 
0002 #ifndef HiMain1_h
0003 #define HiMain1_h
0004 
0005 extern "C" { void* himain1_address_(void); }
0006 /**
0007 @class HiMain1
0008 
0009 @brief       Class definition for HiMain1, which is used
0010       to modify the Hijing HIMAIN1 common.
0011 */
0012 
0013 class HiMain1 {
0014 public:
0015     HiMain1();
0016     ~HiMain1();
0017     
0018     int&        natt    (void);
0019     float&      eatt    (void);
0020     int&        jatt    (void);
0021     int&        nt      (void);
0022     int&        np      (void);
0023     int&        n0      (void);
0024     int&        n01     (void);
0025     int&        n10     (void);
0026     int&        n11     (void);
0027 
0028     //+++BAC 
0029     // 
0030     //    Added error status variable to HIMAIN1
0031     //
0032     //---BAC
0033     int&        ierrstat(void);
0034 
0035     void    init    (void);
0036 
0037 private: 
0038 
0039     struct HIMAIN1;
0040     friend struct HIMAIN1;
0041 
0042     struct HIMAIN1
0043     {
0044       int       natt;
0045       float     eatt;
0046       int       jatt;
0047       int       nt;
0048       int       np;
0049       int       n0;
0050       int       n01;
0051       int       n10;
0052       int       n11;
0053 
0054       //+++BAC 
0055       // 
0056       //    Added error status variable to HIMAIN1
0057       //
0058       //---BAC
0059 
0060       int       ierrstat;
0061     };
0062 
0063     static HIMAIN1* _himain1;
0064 };
0065 
0066 // set pointer to zero at start
0067 HiMain1::HIMAIN1* HiMain1::_himain1 =0;
0068 
0069 inline void
0070 HiMain1::init(void)
0071 { if (!_himain1) _himain1 = static_cast<HIMAIN1*>(himain1_address_()); }
0072 
0073 // Constructor
0074 inline
0075 HiMain1::HiMain1()
0076 {}
0077 
0078 // Destructor
0079 inline
0080 HiMain1::~HiMain1()
0081 {}
0082 
0083 inline int&
0084 HiMain1::natt   (void)
0085 {
0086     init();
0087     return _himain1->natt;
0088 }
0089 
0090 inline float&
0091 HiMain1::eatt   (void)
0092 {
0093     init();
0094     return _himain1->eatt;
0095 }
0096 
0097 inline int&
0098 HiMain1::jatt   (void)
0099 {
0100     init();
0101     return _himain1->jatt;
0102 }
0103 
0104 inline int&
0105 HiMain1::nt (void)
0106 {
0107     init();
0108     return _himain1->nt;
0109 }
0110 
0111 inline int&
0112 HiMain1::np (void)
0113 {
0114     init();
0115     return _himain1->np;
0116 }
0117 
0118 inline int&
0119 HiMain1::n0 (void)
0120 {
0121     init();
0122     return _himain1->n0;
0123 }
0124 
0125 inline int&
0126 HiMain1::n01    (void)
0127 {
0128     init();
0129     return _himain1->n01;
0130 }
0131 
0132 inline int&
0133 HiMain1::n10    (void)
0134 {
0135     init();
0136     return _himain1->n10;
0137 }
0138 
0139 inline int&
0140 HiMain1::n11    (void)
0141 {
0142     init();
0143     return _himain1->n11;
0144 }
0145 
0146 inline int&
0147 HiMain1::ierrstat (void)
0148 {
0149     init();
0150     return _himain1->ierrstat;
0151 }
0152 
0153 #endif