X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;ds=sidebyside;f=EVGEN%2FAliGenFixed.cxx;h=9402c8d2e678e7fe80a6ea4ae094fdfbe53ea024;hb=8de35c941eae5966b3e3cf91d479b9f8acc511d8;hp=744cef294617a58c60b7bc2019f01cc13301ac69;hpb=675e9664249889e7d5804c500eeadbba60f24ea2;p=u%2Fmrichter%2FAliRoot.git
diff --git a/EVGEN/AliGenFixed.cxx b/EVGEN/AliGenFixed.cxx
index 744cef29461..9402c8d2e67 100644
--- a/EVGEN/AliGenFixed.cxx
+++ b/EVGEN/AliGenFixed.cxx
@@ -13,67 +13,46 @@
* provided "as is" without express or implied warranty. *
**************************************************************************/
-/*
-$Log$
-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.
-
-Revision 1.1 2000/06/09 20:24:00 morsch
-Same class as previously in AliSimpleGen.cxx
-All coding rule violations except RS3 corrected (AM)
-
-*/
-
-
+/* $Id$ */
// Simple particle gun.
// Momentum, phi and theta of the partice as well as the particle type can be set.
+// If fExplicit is true the user set momentum vector is used,
+// otherwise it is calculated.
// andreas.morsch@cern.ch
-//Begin_Html
-/*
- The responsible person for this module is
-Andreas Morsch.
-
-
-
-
-
-*/ -//End_Html -// // -/////////////////////////////////////////////////////////////////// + +#include "TPDGCode.h" #include "AliGenFixed.h" #include "AliRun.h" -#include "AliPDG.h" ClassImp(AliGenFixed) //_____________________________________________________________________________ AliGenFixed::AliGenFixed() - :AliGenerator() + :AliGenerator(), + fIpart(0), + fExplicit(kFALSE) { // // Default constructor // - fIpart = 0; + 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; + for (Int_t i = 0; i < 3; i++) fP[i] = 0.; } //_____________________________________________________________________________ @@ -83,21 +62,20 @@ void AliGenFixed::Generate() // 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)}; - Int_t i, nt; + 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, j, nt; // - for(i=0;iSetTrack(fTrackIt,-1,fIpart,p,fOrigin.GetArray(),polar,0,kPPrimary,nt); + Float_t o[3] = {0., 0., 0.}; + if(fVertexSmear == kPerEvent) { + Vertex(); + for (j = 0;j < 3; j++) o[j] = fVertex[j]; } -} -//_____________________________________________________________________________ -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, 0, kPPrimary, nt); } +