TClonesArray &Particles = *particles;
Particles.Clear();
Int_t numpart = HIMAIN1.natt;
+ printf("\n THijing: HIJING stack contains %d particles.", numpart);
+ printf("\n THijing: Total energy: %f ", HIMAIN1.eatt);
+ printf("\n THijing: Number of hard scatterings: %d ", HIMAIN1.jatt);
+ Int_t nump = 0;
if (!strcmp(option,"") || !strcmp(option,"Final")) {
for (Int_t i = 0; i<=numpart; i++) {
//
// Use the common block values for the TParticle constructor
//
- new(Particles[i]) TParticle(
+ nump++;
+ new(Particles[i]) TParticle(
HIMAIN2.katt[0][i] ,
HIMAIN2.katt[1][i] ,
- HIMAIN2.katt[2][i] ,
+ -1 ,
-1,
-1,
-1,
HIMAIN2.patt[1][i] ,
HIMAIN2.patt[2][i] ,
HIMAIN2.patt[3][i] ,
-
- 0,
- 0,
- 0,
- 0);
+
+ HIMAIN2.vatt[0][i] ,
+ HIMAIN2.vatt[1][i] ,
+ HIMAIN2.vatt[2][i] ,
+ HIMAIN2.vatt[3][i]
+ );
}
}
}
else if (!strcmp(option,"All")) {
+ nump=numpart;
for (Int_t i = 0; i<=numpart; i++) {
Int_t iParent = HIMAIN2.katt[2][i]-1;
new(Particles[i]) TParticle(
HIMAIN2.katt[0][i] ,
- HIMAIN2.katt[3][i] ,
+ HIMAIN2.katt[1][i] ,
iParent,
-1,
-1,
HIMAIN2.patt[2][i] ,
HIMAIN2.patt[3][i] ,
- 0,
- 0,
- 0,
- 0);
+ HIMAIN2.vatt[0][i] ,
+ HIMAIN2.vatt[1][i] ,
+ HIMAIN2.vatt[2][i] ,
+ HIMAIN2.vatt[3][i]
+ );
}
}
- return numpart;
+ return nump;
}
//______________________________________________________________________________
//______________________________________________________________________________
Int_t THijing::GetKATT(Int_t key1, Int_t key2) const
{
- if ( key1<1 || key1>130000 ) {
+ if ( key1<1 || key1>200000 ) {
printf("ERROR in THijing::GetKATT(key1,key2):\n");
- printf(" key1=%i is out of range [1..130000]\n",key1);
+ printf(" key1=%i is out of range [1..200000]\n",key1);
return 0;
}
//______________________________________________________________________________
Float_t THijing::GetPATT(Int_t key1, Int_t key2) const
{
- if ( key1<1 || key1>130000 ) {
+ if ( key1<1 || key1>200000 ) {
printf("ERROR in THijing::GetPATT(key1,key2):\n");
printf(" key1=%i is out of range [1..130000]\n",key1);
return 0;
return HIMAIN2.patt[key2-1][key1-1];
}
+Float_t THijing::GetVATT(Int_t key1, Int_t key2) const
+{
+ if ( key1<1 || key1>200000 ) {
+ printf("ERROR in THijing::GetVATT(key1,key2):\n");
+ printf(" key1=%i is out of range [1..130000]\n",key1);
+ return 0;
+ }
+
+ if ( key2<1 || key2>4 ) {
+ printf("ERROR in THijing::GetVATT(key1,key2):\n");
+ printf(" key2=%i is out of range [1..4]\n",key2);
+ return 0;
+ }
+
+ return HIMAIN2.vatt[key2-1][key1-1];
+}
+
//====================== access to common HIJJET1 ===============================
//______________________________________________________________________________
return HISTRNG.pt[key2-1][key1-1];
}
+void THijing::SetPARJ(Int_t key, Float_t parm)
+{
+ if ( key < 1 || key > 200) {
+ printf("ERROR in THijing::SetPARJ(key,parm):\n");
+ printf(" key=%i is out of range [1..200]\n",key);
+ }
+
+ LUDAT1_HIJING.parj[key-1] = parm;
+}
+
+
+void THijing::SetMSTJ(Int_t key, Int_t parm)
+{
+ if ( key < 1 || key > 200) {
+ printf("ERROR in THijing::SetMSTJ(key,parm):\n");
+ printf(" key=%i is out of range [1..200]\n",key);
+ }
+
+ LUDAT1_HIJING.mstj[key-1] = parm;
+}
//====================== access to Hijing subroutines =========================