ClassImp(AliGenHIJINGparaBa)
-static Double_t ptpi(Double_t *px, Double_t *)
+static Double_t ptpi(const Double_t *px, const Double_t *)
{
//
// PT-PARAMETERIZATION CDF, PRL 61(88) 1819
}
AliGenHIJINGparaBa::AliGenHIJINGparaBa()
- :AliGenHIJINGpara()
+ :AliGenHIJINGpara(),
+ fPtba(0),
+ fETAba(0)
{
//
// Default constructor
//
fName="HIGINGparaBa";
fTitle="HIJING Parametrisation Particle Generator with Baryons";
- fETAba = 0;
- fPtba = 0;
}
//_____________________________________________________________________________
AliGenHIJINGparaBa::AliGenHIJINGparaBa(Int_t npart)
- :AliGenHIJINGpara(npart)
+ :AliGenHIJINGpara(npart),
+ fPtba(0),
+ fETAba(0)
{
//
// Standard constructor
//
fName="HIGINGparaBa";
fTitle="HIJING Parametrisation Particle Generator with Baryons";
- fETAba = 0;
- fPtba = 0;
-}
-
-AliGenHIJINGparaBa::AliGenHIJINGparaBa(const AliGenHIJINGparaBa& para) : AliGenHIJINGpara(para)
-{
-// Copy constructor
- para.Copy(*this);
}
//_____________________________________________________________________________
const Int_t kBaryons[4] = {kProton, kProtonBar, kNeutron, kNeutronBar};
//
Float_t origin[3];
+ Float_t time;
Float_t pt, pl, ptot;
Float_t phi, theta;
Float_t p[3];
Float_t random[6];
//
for (j=0;j<3;j++) origin[j]=fOrigin[j];
+ time = fTimeOrigin;
if(fVertexSmear == kPerEvent) {
Float_t dv[3];
}
}
for (j=0; j < 3; j++) origin[j] += dv[j];
+
+ Rndm(random,2);
+ time += fOsigma[2]/TMath::Ccgs()*
+ TMath::Cos(2*random[0]*TMath::Pi())*
+ TMath::Sqrt(-2*TMath::Log(random[1]));
} // if kPerEvent
TArrayF eventVertex;
eventVertex.Set(3);
eventVertex[0] = origin[0];
eventVertex[1] = origin[1];
eventVertex[2] = origin[2];
+ Float_t eventTime = time;
for(i=0;i<fNpart;i++) {
while(1) {
origin[j]=fOrigin[j]+fOsigma[j]*TMath::Cos(2*random[2*j]*TMath::Pi())*
TMath::Sqrt(-2*TMath::Log(random[2*j+1]));
}
+
+ Rndm(random,2);
+ time = fTimeOrigin + fOsigma[2]/TMath::Ccgs()*
+ TMath::Cos(2*random[0]*TMath::Pi())*
+ TMath::Sqrt(-2*TMath::Log(random[1]));
}
- PushTrack(fTrackIt,-1,part,p,origin,polar,0,kPPrimary,nt,fParentWeight);
+ PushTrack(fTrackIt,-1,part,p,origin,polar,time,kPPrimary,nt,fParentWeight);
break;
} // while(1)
} // Particle loop
AliGenEventHeader* header = new AliGenEventHeader("HIJINGparam");
// Event Vertex
header->SetPrimaryVertex(eventVertex);
+ header->SetInteractionTime(eventTime);
gAlice->SetGenEventHeader(header);
}