/*
$Log$
+Revision 1.4 2000/12/21 16:24:06 morsch
+Coding convention clean-up
+
Revision 1.3 2000/11/30 07:12:50 alibrary
Introducing new Rndm and QA classes
// Default constructor
//
fIpart = 0;
+ fExplicit = kFALSE;
}
//_____________________________________________________________________________
// Generate one trigger
//
Float_t polar[3]= {0,0,0};
- Float_t p[3] = {fPMin*TMath::Cos(fPhiMin)*TMath::Sin(fThetaMin),
- fPMin*TMath::Sin(fPhiMin)*TMath::Sin(fThetaMin),
- fPMin*TMath::Cos(fThetaMin)};
+ 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);
+ }
Int_t i, nt;
//
- for(i=0;i<fNpart;i++) {
- gAlice->SetTrack(fTrackIt,-1,fIpart,p,fOrigin.GetArray(),polar,0,kPPrimary,nt);
- }
+ for(i=0;i<fNpart;i++)
+ gAlice->SetTrack(fTrackIt,-1,fIpart,fP,fOrigin.GetArray(),polar,0,kPPrimary,nt);
+
}
//_____________________________________________________________________________
virtual void SetPhi(Float_t phi) {fPhiMin=phi*TMath::Pi()/180; fPhiMax=phi*TMath::Pi()/180;}
virtual void SetTheta(Float_t theta) {fThetaMin=theta*TMath::Pi()/180; fThetaMax=theta*TMath::Pi()/180;}
virtual void SetPart(Int_t part) {fIpart=part;}
+ virtual void SetGun(Double_t px, Double_t py, Double_t pz, Double_t x,
+ Double_t y, Double_t z) {fP[0]=px;fP[1]=py;fP[2]=pz;fOrigin[0]=x;fOrigin[1]=y;
+ fOrigin[2]=z;fExplicit=kTRUE;}
protected:
Int_t fIpart; // Particle type
+ Int_t fExplicit;
+ Float_t fP[3];
ClassDef(AliGenFixed,1) // Single particle generator
};