]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TAmpt/TAmpt.cxx
Coverity
[u/mrichter/AliRoot.git] / TAmpt / TAmpt.cxx
index 96067e111fe048c0f29fac6d3bfab30b58fd63ed..ad487c05886569ed6ef754c9b0d0cc6c73d60269 100644 (file)
@@ -77,8 +77,7 @@ TAmpt::TAmpt()
     fIat(208),
     fIzt(82),
     fBmin(0.),
-    fBmax(5.),
-    fPhi(0.)
+    fBmax(5.)
 {
   // Default constructor 
   amptsetdef();
@@ -99,12 +98,12 @@ TAmpt::TAmpt(Double_t efrm, const char *frame="CMS",
     fIat(iat),
     fIzt(izt),
     fBmin(bmin),
-    fBmax(bmax),
-    fPhi(0.)
+    fBmax(bmax)
 {
   // TAmpt constructor: 
   // Note that there may be only one functional TAmpt object
-  // at a time, so it's not use to create more than one instance of it.
+  // at a time, so it's not useful to create more than one 
+  // instance of it.
   amptsetdef();
 }
 
@@ -123,24 +122,21 @@ TObjArray* TAmpt::ImportParticles(Option_t */*option*/)
   Int_t numpart = HBT.nlast;
   printf("TAmpt: AMPT stack contains %d particles.\n", numpart);
 
-  Double_t sinphi = TMath::Sin(fPhi);
-  Double_t cosphi = TMath::Cos(fPhi);
-
   for (Int_t i=0; i < numpart; ++i) {
     Int_t status = 1;
-    Double_t px0 = HBT.plast[i][0];//GeV/c
-    Double_t py0 = HBT.plast[i][1];//GeV/c
-    Double_t px = px0*cosphi-py0*sinphi;
-    Double_t py = py0*cosphi+px0*sinphi;
-    Double_t pz  = HBT.plast[i][2];//GeV/c
-    Double_t ma  = HBT.plast[i][3];//GeV/c/c
-    Double_t vx0 = 0;//HBT.xlast[i][0]*1e-12;//mm
-    Double_t vy0 = 0;//HBT.xlast[i][1]*1e-12;//mm
-    Double_t vx  = vx0*cosphi-vy0*sinphi;
-    Double_t vy  = vy0*cosphi+vx0*sinphi;
-    Double_t vz  = 0;//HBT.xlast[i][2]*1e-12;//mm
-    Double_t vt  = 0;//HBT.xlast[i][3]*1e-12;//mm/c
-    Int_t pdg  = invflv(HBT.lblast[i]);
+    Double_t px = HBT.plast[i][0];//GeV/c
+    Double_t py = HBT.plast[i][1];//GeV/c
+    Double_t pz = HBT.plast[i][2];//GeV/c
+    Double_t ma = HBT.plast[i][3];//GeV/c/c
+    Double_t vx = 0;//HBT.xlast[i][0]*1e-12;//mm
+    Double_t vy = 0;//HBT.xlast[i][1]*1e-12;//mm
+    Double_t vz = 0;//HBT.xlast[i][2]*1e-12;//mm
+    Double_t vt = 0;//HBT.xlast[i][3]*1e-12;//mm/c
+    //Double_t vx = HBT.xlast[i][0]*1e-12;//mm
+    //Double_t vy = HBT.xlast[i][1]*1e-12;//mm
+    //Double_t vz = HBT.xlast[i][2]*1e-12;//mm
+    //Double_t vt = HBT.xlast[i][3]*1e-12;//mm/c
+    Int_t pdg   = invflv(HBT.lblast[i]);
     TParticle *p = new TParticle(pdg,
                                  status,
                                  -1,
@@ -154,15 +150,15 @@ TObjArray* TAmpt::ImportParticles(Option_t */*option*/)
                                  vx,
                                  vy,
                                  vz,
-                                 vt
-      );
-    if((px0==0)&&(py0==0)) {
+                                 vt);
+    if((px==0)&&(py==0)) {
       if(pz<0)
         p->SetUniqueID(0);
       else 
         p->SetUniqueID(10);
     } else 
       p->SetUniqueID(999);
+    fParticles->Add(p);
   }
   return fParticles;
 }
@@ -181,24 +177,21 @@ Int_t TAmpt::ImportParticles(TClonesArray *particles, Option_t */*option*/)
   Int_t numpart = HBT.nlast;
   printf("TAmpt: AMPT stack contains %d particles.\n", numpart);
 
-  Double_t sinphi = TMath::Sin(fPhi);
-  Double_t cosphi = TMath::Cos(fPhi);
-
   //at this point not clear how to read particle history, just take primaries.
   for (Int_t i=0; i < numpart; ++i) {
     Int_t status = 1;
-    Double_t px0 = HBT.plast[i][0];//GeV/c
-    Double_t py0 = HBT.plast[i][1];//GeV/c
-    Double_t px = px0*cosphi-py0*sinphi;
-    Double_t py = py0*cosphi+px0*sinphi;
-    Double_t pz  = HBT.plast[i][2];//GeV/c
-    Double_t ma  = HBT.plast[i][3];//GeV/c/c
-    Double_t vx0 = 0;//HBT.xlast[i][0]*1e-12;//mm
-    Double_t vy0 = 0;//HBT.xlast[i][1]*1e-12;//mm
-    Double_t vx  = vx0*cosphi-vy0*sinphi;
-    Double_t vy  = vy0*cosphi+vx0*sinphi;
-    Double_t vz  = 0;//HBT.xlast[i][2]*1e-12;//mm
-    Double_t vt  = 0;//HBT.xlast[i][3]*1e-12;//mm/c
+    Double_t px = HBT.plast[i][0];//GeV/c
+    Double_t py = HBT.plast[i][1];//GeV/c
+    Double_t pz = HBT.plast[i][2];//GeV/c
+    Double_t ma = HBT.plast[i][3];//GeV/c/c
+//    Double_t vx = 0;//HBT.xlast[i][0]*1e-12;//mm
+//    Double_t vy = 0;//HBT.xlast[i][1]*1e-12;//mm
+//    Double_t vz = 0;//HBT.xlast[i][2]*1e-12;//mm
+//    Double_t vt = 0;//HBT.xlast[i][3]*1e-12;//mm/c
+    Double_t vx = HBT.xlast[i][0]*1e-12;//mm
+    Double_t vy = HBT.xlast[i][1]*1e-12;//mm
+    Double_t vz HBT.xlast[i][2]*1e-12;//mm
+    Double_t vt HBT.xlast[i][3]*1e-12;//mm/c
     Int_t pdg  = invflv(HBT.lblast[i]);
     //printf("i %d pdg %d px %f py %f pz %f vx %f vy %f vz %f vt %f\n", i, pdg, px, py, pz, vx, vy, vz, vt);
     new(particlesR[i]) TParticle(pdg,
@@ -214,9 +207,8 @@ Int_t TAmpt::ImportParticles(TClonesArray *particles, Option_t */*option*/)
                                  vx,
                                  vy,
                                  vz,
-                                 vt
-      );
-    if((px0==0)&&(py0==0)){
+                                 vt);
+    if((px==0)&&(py==0)){
       if(pz<0)
         particlesR[i]->SetUniqueID(0);
       else 
@@ -238,18 +230,13 @@ Int_t TAmpt::ImportNucleons(TClonesArray *nucleons, Option_t */*option*/)
   TClonesArray &nucleonsR = *nucleons;
   nucleonsR.Clear();
 
-  Double_t sinphi = TMath::Sin(fPhi);
-  Double_t cosphi = TMath::Cos(fPhi);
-
   Int_t nA = HPARNT.ihnt2[0];
   for (Int_t i=0; i < nA; ++i) {
-    Double_t x0 = HJCRDN.yp[i][0] + 0.5*GetBB();
-    Double_t y0 = HJCRDN.yp[i][1];
-    Double_t x  = x0*cosphi-y0*sinphi;
-    Double_t y  = y0*cosphi+x0*sinphi;
-    Double_t z  = HJCRDN.yp[i][2];
-    Int_t    p  = HSTRNG.nfp[3][i];
-    Int_t    s  = HSTRNG.nfp[4][i];
+    Double_t x = HJCRDN.yp[i][0] + 0.5*GetBB();
+    Double_t y = HJCRDN.yp[i][1];
+    Double_t z = HJCRDN.yp[i][2];
+    Int_t    p = HSTRNG.nfp[3][i];
+    Int_t    s = HSTRNG.nfp[4][i];
     new(nucleonsR[i]) TParticle(p,
                                 s,
                                 -1,
@@ -263,19 +250,16 @@ Int_t TAmpt::ImportNucleons(TClonesArray *nucleons, Option_t */*option*/)
                                  x,
                                  y,
                                  z,
-                                 0
-      );
+                                 0);
     nucleonsR[i]->SetUniqueID(1);
   }
   Int_t nB = HPARNT.ihnt2[2];
   for (Int_t i=0; i < nB; ++i) {
-    Double_t x0 = HJCRDN.yt[i][0] - 0.5*HPARNT.hint1[18];
-    Double_t y0 = HJCRDN.yt[i][1];
-    Double_t x  = x0*cosphi-y0*sinphi;
-    Double_t y  = y0*cosphi+x0*sinphi;
-    Double_t z  = HJCRDN.yt[i][2];
-    Int_t    p  = HSTRNG.nft[3][i];
-    Int_t    s  = HSTRNG.nft[4][i];
+    Double_t x = HJCRDN.yt[i][0] - 0.5*HPARNT.hint1[18];
+    Double_t y = HJCRDN.yt[i][1];
+    Double_t z = HJCRDN.yt[i][2];
+    Int_t    p = HSTRNG.nft[3][i];
+    Int_t    s = HSTRNG.nft[4][i];
     new(nucleonsR[nA+i]) TParticle(p,
                                    s,
                                    -1,
@@ -289,8 +273,7 @@ Int_t TAmpt::ImportNucleons(TClonesArray *nucleons, Option_t */*option*/)
                                    x,
                                    y,
                                    z,
-                                   0
-      );
+                                   0);
     nucleonsR[nA+i]->SetUniqueID(-1);
   }
   return nA+nB;
@@ -1099,6 +1082,7 @@ void TAmpt::SetPARJ(Int_t key, Float_t parm)
   if ( key < 1 || key > 200) {
     printf("ERROR in TAmpt::SetPARJ(key,parm):\n");
     printf("      key=%i is out of range [1..200]\n",key);
+    return;
   }
   LUDAT1.parj[key-1] = parm;
 }
@@ -1110,6 +1094,7 @@ void TAmpt::SetMSTJ(Int_t key, Int_t parm)
   if ( key < 1 || key > 200) {
     printf("ERROR in TAmpt::SetMSTJ(key,parm):\n");
     printf("      key=%i is out of range [1..200]\n",key);
+    return;
   }
   LUDAT1.mstj[key-1] = parm;
 }
@@ -1158,7 +1143,6 @@ void TAmpt::GenerateEvent()
   // Generates one event;
 
   //printf("Next event ------------------------\n");
-  fPhi =  TMath::TwoPi()*AliAmptRndm::GetAmptRandom()->Rndm()-TMath::Pi();
   Ampt(fFrame.Data(),fBmin,fBmax);
 }
 
@@ -1239,6 +1223,21 @@ void TAmpt::SetIpop(Int_t pop)
 //______________________________________________________________________________
 void TAmpt::SetXmu(Float_t m)     
 {
-  // set parton screening mass in fm^
+  // set parton screening mass in fm^-1.
   PARA2.xmu     = m;  
 }
+
+//______________________________________________________________________________
+void TAmpt::SetAlpha(Float_t alpha)     
+{
+  // set parton screening mass in fm^-1.
+  PARA2.alpha     = alpha;  
+}
+
+//______________________________________________________________________________
+void TAmpt::SetStringFrag(Float_t a, Float_t b)
+{
+  // Set string frag parameters, f(z) = 1/z*(1-z)^a*exp(-b*mz^2/z).
+   SetPARJ(41, a);
+   SetPARJ(42, b);
+}