/*
$Log$
+Revision 1.6 2001/07/27 17:09:36 morsch
+Use local SetTrack, KeepTrack and SetHighWaterMark methods
+to delegate either to local stack or to stack owned by AliRun.
+(Piotr Skowronski, A.M.)
+
+Revision 1.5 2001/02/24 11:41:59 morsch
+SetGun allows specify completely the particle kinematics and position in one go. (FCA)
+
+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
+
Revision 1.2 2000/10/02 15:17:54 morsch
Unused includes removed.
*/
-///////////////////////////////////////////////////////////////////
-// //
-// Generate the final state of the interaction as the input //
-// to the MonteCarlo //
-//
+
+
+// Simple particle gun.
+// Momentum, phi and theta of the partice as well as the particle type can be set.
+// andreas.morsch@cern.ch
//Begin_Html
/*
<img src="picts/AliGeneratorClass.gif">
// Default constructor
//
fIpart = 0;
+ fExplicit = kFALSE;
}
//_____________________________________________________________________________
fTitle="Fixed Particle Generator";
// Generate Proton by default
fIpart=kProton;
+ 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++)
+ SetTrack(fTrackIt,-1,fIpart,fP,fOrigin.GetArray(),polar,0,kPPrimary,nt);
}
//_____________________________________________________________________________