//_____________________________________________________________________________
AliGenFixed::AliGenFixed()
- :AliGenerator()
+ :AliGenerator(),
+ fIpart(0),
+ fExplicit(kFALSE)
{
//
// Default constructor
//
- fIpart = 0;
- fExplicit = kFALSE;
+ for (Int_t i = 0; i < 3; i++) fP[i] = 0.;
+
}
//_____________________________________________________________________________
AliGenFixed::AliGenFixed(Int_t npart)
- :AliGenerator(npart)
+ :AliGenerator(npart),
+ fIpart(kProton),
+ fExplicit(kFALSE)
{
//
// Standard constructor
//
fName="Fixed";
fTitle="Fixed Particle Generator";
- // Generate Proton by default
- fIpart=kProton;
- fExplicit = kFALSE;
+ for (Int_t i = 0; i < 3; i++) fP[i] = 0.;
}
//_____________________________________________________________________________
//
Float_t polar[3]= {0,0,0};
if(!fExplicit) {
- fP[0] = fPMin*TMath::Cos(fPhiMin)*TMath::Sin(fThetaMin);
- fP[1] = fPMin*TMath::Sin(fPhiMin)*TMath::Sin(fThetaMin);
- fP[2] = fPMin*TMath::Cos(fThetaMin);
+ fP[0] = fPMin * TMath::Cos(fPhiMin) * TMath::Sin(fThetaMin);
+ fP[1] = fPMin * TMath::Sin(fPhiMin) * TMath::Sin(fThetaMin);
+ fP[2] = fPMin * TMath::Cos(fThetaMin);
}
- Int_t i, nt;
+ Int_t i, j, nt;
//
- for(i=0;i<fNpart;i++)
- PushTrack(fTrackIt,-1,fIpart,fP,fOrigin.GetArray(),polar,0,kPPrimary,nt);
-}
+ Float_t o[3] = {0., 0., 0.};
+ Float_t time = 0.;
+ if(fVertexSmear == kPerEvent) {
+ Vertex();
+ for (j = 0;j < 3; j++) o[j] = fVertex[j];
+ time = fTime;
+ }
-//_____________________________________________________________________________
-void AliGenFixed::SetSigma(Float_t /*sx*/, Float_t /*sy*/, Float_t /*sz*/)
-{
- //
- // Set the interaction point sigma
- //
- printf("Vertex smearing not implemented for fixed generator\n");
+ for(i = 0; i < fNpart; i++)
+ PushTrack(fTrackIt, -1, fIpart, fP, o , polar, time, kPPrimary, nt);
}
+