Boost for assymmetric systems added.
[u/mrichter/AliRoot.git] / PYTHIA6 / AliGenPythia.cxx
index 0cd83dbfaaeea6ffa0b701facd381913c289642a..838d9ebe3744ca4dab633be6b2078894ac63da19 100644 (file)
@@ -15,6 +15,9 @@
 
 /*
 $Log$
+Revision 1.4  2003/04/01 20:39:00  morsch
+Pycell configurable.
+
 Revision 1.3  2003/03/31 15:47:16  morsch
 Unhandled cases added.
 
@@ -271,8 +274,6 @@ AliGenPythia::AliGenPythia(Int_t npart)
     fName = "Pythia";
     fTitle= "Particle Generator using PYTHIA";
     fXsection  = 0.;
-    fNucA1=0;
-    fNucA2=0;
     SetProcess();
     SetStrucFunc();
     SetForceDecay();
@@ -359,7 +360,7 @@ void AliGenPythia::Init()
     fPythia->SetCKIN(7,fYHardMin);
     fPythia->SetCKIN(8,fYHardMax);
     
-    if (fNucA1 > 0 && fNucA2 > 0) fPythia->SetNuclei(fNucA1, fNucA2);  
+    if (fAProjectile > 0 && fATarget > 0) fPythia->SetNuclei(fAProjectile, fATarget);  
     // Fragmentation?
     if (fFragmentation) {
       fPythia->SetMSTP(111,1);
@@ -500,6 +501,12 @@ void AliGenPythia::Generate()
        
        fPythia->ImportParticles(fParticles,"All");
 
+       if (fZTarget != 0 && fAProjectile != 0) 
+       {
+           Double_t dy    = - 0.5 * TMath::Log(Double_t(fZProjectile) * Double_t(fATarget) / 
+                                               (Double_t(fZTarget)    * Double_t(fAProjectile)));
+           Boost(dy);
+       }
 //
 //
 //
@@ -796,8 +803,8 @@ void AliGenPythia::AdjustWeights()
 void AliGenPythia::SetNuclei(Int_t a1, Int_t a2)
 {
 // Treat protons as inside nuclei with mass numbers a1 and a2  
-    fNucA1 = a1;
-    fNucA2 = a2;
+    fAProjectile = a1;
+    fATarget     = a2;
 }