#include "AliMC.h"
#include "AliRun.h"
-
+using std::cout;
+using std::endl;
ClassImp(AliGenCocktailAfterBurner)
/*********************************************************************/
/*********************************************************************/
/*********************************************************************/
void AliGenCocktailAfterBurner::
-AddAfterBurner(AliGenerator *AfterBurner, char* Name, Float_t RateExp)
+AddAfterBurner(AliGenerator *AfterBurner, const char* Name, Float_t RateExp)
{
//
// Forward parameters to the new AfterBurner
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);
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
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;
}
// 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();
//
Int_t ntr;
Float_t weight;
TVector3 pol;
+ Int_t is;
TParticle * p;
Int_t n = instack->GetNtrack();
polz = pol.Z();
mech = AliGenCocktailAfterBurner::IntToMCProcess(p->GetUniqueID());
weight = p->GetWeight();
+ is = p->GetStatusCode();
- gAlice->GetMCApp()->PushTrack(done, parent, pdg, px, py, pz, e, vx, vy, vz, tof,polx, poly, polz, mech, ntr, weight);
+ gAlice->GetMCApp()->PushTrack(done, parent, pdg, px, py, pz, e, vx, vy, vz, tof,polx, poly, polz, mech, ntr, weight, is);
SetHighWaterMark(ntr) ;