]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVGEN/AliGenCocktailAfterBurner.cxx
MC upgrades to displaced vertices
[u/mrichter/AliRoot.git] / EVGEN / AliGenCocktailAfterBurner.cxx
index a254cdc9433e95d833f1e4c8d7db8687aea4d8d2..192a8f27f84922c0de06f07aaad28509cbf2f902 100644 (file)
@@ -116,11 +116,12 @@ AddAfterBurner(AliGenerator *AfterBurner, char* Name, Float_t RateExp)
        AfterBurner->SetPhiRange(fPhiMin*180/TMath::Pi(),fPhiMax*180/TMath::Pi());
     if (TestBit(kThetaRange) && !(AfterBurner->TestBit(kThetaRange)) && !(AfterBurner->TestBit(kEtaRange)))
        AfterBurner->SetThetaRange(fThetaMin*180/TMath::Pi(),fThetaMax*180/TMath::Pi());
-    if (TestBit(kVertexRange) && !(AfterBurner->TestBit(kVertexRange))) {
+    if (!(AfterBurner->TestBit(kVertexRange))) {
        AfterBurner->SetOrigin(fOrigin[0], fOrigin[1], fOrigin[2]);
        AfterBurner->SetSigma(fOsigma[0], fOsigma[1], fOsigma[2]);
        AfterBurner->SetVertexSmear(fVertexSmear);
        AfterBurner->SetVertexSource(kContainer);
+       AfterBurner->SetTimeOrigin(fTimeOrigin);
     }
     AfterBurner->SetTrackingFlag(fTrackIt);
     //AfterBurner->SetContainer(this);
@@ -212,6 +213,8 @@ void AliGenCocktailAfterBurner::Generate()
        cout << "Number of events per run" <<  numberOfEvents << endl;
        TArrayF eventVertex;
        eventVertex.Set(3 * (numberOfEvents + fNBgEvents));
+       TArrayF eventTime;
+       eventTime.Set(numberOfEvents + fNBgEvents);
        fCurrentEvent=0;
       //Create stacks
        fInternalStacks      = new TObjArray(numberOfEvents + fNBgEvents); //Create array of internal stacks
@@ -225,6 +228,7 @@ void AliGenCocktailAfterBurner::Generate()
           fInternalStacks->Add(stack);
           Vertex();
           for (Int_t j = 0; j < 3; j++) eventVertex[3 * i +  j] = fVertex[j];
+          eventTime[i] = fTime;
           fHeaders[i] = new AliGenCocktailEventHeader();
           fCollisionGeometries[i] = 0;
        }
@@ -261,11 +265,13 @@ void AliGenCocktailAfterBurner::Generate()
            // Set the vertex for the generator
            Int_t ioff = 3 * i;
            fCurrentGenerator->SetVertex(eventVertex.At(ioff), eventVertex.At(ioff + 1), eventVertex.At(ioff + 2));
+           fCurrentGenerator->SetTime(eventTime.At(i));
            fHeader = fHeaders[i];
-           // Set the vertex for the cocktail
+           // Set the vertex and time for the cocktail
            TArrayF v(3);
            for (Int_t j=0; j<3; j++) v[j] = eventVertex.At(ioff + j);
            fHeader->SetPrimaryVertex(v);
+           fHeader->SetInteractionTime(eventTime.At(i));
            // Generate event
            fCurrentGenerator->Generate();
            //