small update
[u/mrichter/AliRoot.git] / EVGEN / AliGenGeVSim.cxx
index 038d60e..7204daa 100644 (file)
@@ -73,6 +73,7 @@
 #include <TObjArray.h>
 #include <TPDGCode.h>
 #include <TParticle.h>
+#include <TDatabasePDG.h>
 #include <TROOT.h>
 
 
@@ -83,6 +84,8 @@
 #include "AliRun.h"
 
 
+using std::cout;
+using std::endl;
 ClassImp(AliGenGeVSim)
 
 //////////////////////////////////////////////////////////////////////////////////
@@ -143,7 +146,7 @@ AliGenGeVSim::AliGenGeVSim(Float_t psi, Bool_t isMultTotal)
   // checking consistancy
   
   if (psi < 0 || psi > 360 ) 
-    Error ("AliGenGeVSim", "Reaction plane angle ( %d )out of range [0..360]", psi);
+    Error ("AliGenGeVSim", "Reaction plane angle ( %13.3f )out of range [0..360]", psi);
 
   fPsi = psi * TMath::Pi() / 180. ;
   fIsMultTotal = isMultTotal;
@@ -154,22 +157,6 @@ AliGenGeVSim::AliGenGeVSim(Float_t psi, Bool_t isMultTotal)
   InitFormula();
 }
 
-AliGenGeVSim::AliGenGeVSim(const AliGenGeVSim & ggs)
-    : AliGenerator(ggs),
-      fModel(0),
-      fPsi(0),
-      fIsMultTotal(0),
-      fPtFormula(0),
-      fYFormula(0),
-      fPhiFormula(0),
-      fCurrentForm(0),
-      fPtYHist(0),
-      fPartTypes(0) 
-{
-    Fatal("copy ctor","Not implemented\n");
-}
-
-
 //////////////////////////////////////////////////////////////////////////////////
 
 AliGenGeVSim::~AliGenGeVSim() {
@@ -281,11 +268,10 @@ static Double_t aPtYFormula2(Double_t *x, Double_t * par) {
   // mass -> [0] , temperature -> [1] , expansion velocity -> [2]
 
   Double_t aFormE = TMath::Sqrt(par[0]*par[0] + x[0]*x[0]) * TMath::CosH(x[1]);
-  Double_t aFormG = 1 / TMath::Sqrt( 1 - par[2]*par[2] );
+  Double_t aFormG = 1 / TMath::Sqrt((1.-par[2])*(1.+par[2]));
   Double_t aFormYp = par[2]*TMath::Sqrt( (par[0]*par[0] + x[0]*x[0]) 
-                                        * TMath::CosH(x[1])*TMath::CosH(x[1])
-                                        - par[0]*par[0] )
-    /( par[1]*TMath::Sqrt(1-par[2]*par[2]));
+                                        * (TMath::CosH(x[1])-par[0])*(TMath::CosH(x[1])+par[0]))
+    /( par[1]*TMath::Sqrt((1.-par[2])*(1.+par[2])));
 
   return x[0] * aFormE * TMath::Exp( - aFormG * aFormE / par[1])
     *( TMath::SinH(aFormYp)/aFormYp 
@@ -442,8 +428,8 @@ Float_t AliGenGeVSim::FindScaler(Int_t paramId, Int_t pdg) {
       
       form = 0;
       
-      if (i == 0) sprintf(buffer, patt1, params[paramId], ending[j]);      
-      else sprintf(buffer, patt2, pdg, params[paramId], ending[j]);
+      if (i == 0) snprintf(buffer, 80, patt1, params[paramId], ending[j]);      
+      else snprintf(buffer, 80, patt2, pdg, params[paramId], ending[j]);
       
       form = (TF1 *)gROOT->GetFunction(buffer);
 
@@ -595,7 +581,7 @@ void AliGenGeVSim::SetFormula(Int_t pdg) {
     
     if (!fCurrentForm) {
 
-      sprintf(buff, pattern[1], pdg);
+      snprintf(buff, 40, pattern[1], pdg);
       fCurrentForm = (TF2*)gROOT->GetFunction(buff);
 
       if (!fCurrentForm) Error(where, msg[0], pdg);
@@ -613,7 +599,7 @@ void AliGenGeVSim::SetFormula(Int_t pdg) {
       
       if (!fHist[i]) {
        
-       sprintf(buff, pattern[3+2*i], pdg);
+       snprintf(buff, 40, pattern[3+2*i], pdg);
        fHist[i] = (TH1D*)gROOT->FindObject(buff);
        
        if (!fHist[i]) Error(where, msg[1+i], pdg);
@@ -630,7 +616,7 @@ void AliGenGeVSim::SetFormula(Int_t pdg) {
     
     if (!fPtYHist) {
       
-      sprintf(buff, pattern[7], pdg);
+      snprintf(buff, 40, pattern[7], pdg);
       fPtYHist = (TH2D*)gROOT->FindObject(buff);
     }
 
@@ -772,7 +758,7 @@ void AliGenGeVSim::Generate() {
   orgin[0] = fVertex[0];
   orgin[1] = fVertex[1];
   orgin[2] = fVertex[2];
-
+  time = fTime;
 
   // Particle params database
 
@@ -897,6 +883,7 @@ void AliGenGeVSim::Generate() {
   TArrayF eventVertex(3,orgin);
 
   header->SetPrimaryVertex(eventVertex);
+  header->SetInteractionTime(time);
   header->SetEventPlane(fPsi);
   header->SetEllipticFlow(fPhiFormula->GetParameter(2));