COMMON_BLOCK_DEF(Ludat1_HijingCommon,LUDAT1_HIJING);
}
+//COMMON/LUDAT3_HIJING/MDCY(500, 3),MDME(2000, 2),BRAT(2000),KFDP(2000, 5)
+ typedef struct {
+ Int_t mdcy[3][500];
+ Int_t mdme[2][2000];
+ Float_t brat[2000];
+ Float_t kfdp[5][2000];
+} Ludat3_HijingCommon;
+
+#define LUDAT3_HIJING COMMON_BLOCK(LUDAT3_HIJING,ludat3_hijing)
+COMMON_BLOCK_DEF(Ludat3_HijingCommon,LUDAT3_HIJING);
#endif
# define profile profile_
# define rluget_hijing rluget_hijing_
# define rluset_hijing rluset_hijing_
+# define lulist_hijing lulist_hijing_
# define type_of_call
#else
# define hijset HIJSET
# define profile PROFILE
# define rluget_hijing RLUGET_HIJING
# define rluset_hijing RLUSET_HIJING
+# define lulist_hijing LULIST_HIJING
# define type_of_call _stdcall
#endif
extern "C" void type_of_call rluget_hijing(Int_t & lfn, Int_t & move);
extern "C" void type_of_call rluset_hijing(Int_t & lfn, Int_t & move);
+extern "C" void type_of_call lulist_hijing(Int_t &);
#else
#endif
}
}
+void THijing::SetMDCY(Int_t key1, Int_t key2, Int_t parm)
+{
+ // Set value of array MDCY
+ if ( key1 < 1 || key1 > 500) {
+ printf("ERROR in THijing::SetMDCY(key1, key2, parm):\n");
+ printf(" key1=%i is out of range [1..200]\n", key1);
+ } else if ( key2 < 1 || key2 > 3) {
+ printf("ERROR in THijing::SetMDCY(key1, key2, parm):\n");
+ printf(" key2=%i is out of range [1..200]\n", key2);
+ } else {
+ LUDAT3_HIJING.mdcy[key2-1][key1-1] = parm;
+ }
+
+}
+
+Int_t THijing::GetMDCY(Int_t key1, Int_t key2)
+{
+ // Get value of array MDCY
+ if ( key1 < 1 || key1 > 500) {
+ printf("ERROR in THijing::GetMDCY(key1, key2, parm):\n");
+ printf(" key1=%i is out of range [1..200]\n", key1);
+ return -1;
+ } else if ( key2 < 1 || key2 > 3) {
+ printf("ERROR in THijing::GetMDCY(key1, key2, parm):\n");
+ printf(" key2=%i is out of range [1..200]\n", key2);
+ return -1;
+ } else {
+ return (LUDAT3_HIJING.mdcy[key2-1][key1-1]);
+ }
+}
//====================== access to Hijing subroutines =========================
rluset_hijing(lfn, move);
}
+void THijing::Pylist(Int_t flag)
+{
+// call lulist
+ lulist_hijing(flag);
+}
// common LUDAT1_HIJING common:
virtual void SetPARJ(Int_t key, Float_t parm);
virtual void SetMSTJ(Int_t key, Int_t parm);
+ virtual void SetMDCY(Int_t key1, Int_t key2, Int_t parm);
+ virtual Int_t GetMDCY(Int_t key1, Int_t key2);
// access to HIJING routines:
virtual void Rluget(Int_t lfn, Int_t move=0);
virtual void Rluset(Int_t lfn, Int_t move=0);
-
+ virtual void Pylist(Int_t flag);
protected:
Float_t fEfrm; // Energy in the centre of mass (CMS) or lab-frame (LAB)