Coding rule violations corrected.
[u/mrichter/AliRoot.git] / EVGEN / AliGenFixed.cxx
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
7  * Permission to use, copy, modify and distribute this software and its   *
8  * documentation strictly for non-commercial purposes is hereby granted   *
9  * without fee, provided that the above copyright notice appears in all   *
10  * copies and that both the copyright notice and this permission notice   *
11  * appear in the supporting documentation. The authors make no claims     *
12  * about the suitability of this software for any purpose. It is          *
13  * provided "as is" without express or implied warranty.                  *
14  **************************************************************************/
15
16 /* $Id$ */
17
18 // Simple particle gun. 
19 // Momentum, phi and theta of the partice as well as the particle type can be set.
20 // If fExplicit is true the user set momentum vector is used,
21 // otherwise it is calculated.
22 // andreas.morsch@cern.ch
23
24 #include "TPDGCode.h"
25
26 #include "AliGenFixed.h"
27 #include "AliRun.h"
28   
29 ClassImp(AliGenFixed)
30
31 //_____________________________________________________________________________
32 AliGenFixed::AliGenFixed()
33   :AliGenerator()
34 {
35   //
36   // Default constructor
37   //
38   fIpart = 0;
39   fExplicit = kFALSE;
40 }
41
42 //_____________________________________________________________________________
43 AliGenFixed::AliGenFixed(Int_t npart)
44   :AliGenerator(npart)
45 {
46   //
47   // Standard constructor
48   //
49   fName="Fixed";
50   fTitle="Fixed Particle Generator";
51   // Generate Proton by default
52   fIpart=kProton;
53   fExplicit = kFALSE;
54 }
55
56 //_____________________________________________________________________________
57 void AliGenFixed::Generate()
58 {
59   //
60   // Generate one trigger
61   //
62   Float_t polar[3]= {0,0,0};
63   if(!fExplicit) {
64     fP[0] = fPMin*TMath::Cos(fPhiMin)*TMath::Sin(fThetaMin);
65     fP[1] = fPMin*TMath::Sin(fPhiMin)*TMath::Sin(fThetaMin);
66     fP[2] = fPMin*TMath::Cos(fThetaMin);
67   }
68   Int_t i, nt;
69   //
70   for(i=0;i<fNpart;i++) 
71     PushTrack(fTrackIt,-1,fIpart,fP,fOrigin.GetArray(),polar,0,kPPrimary,nt);
72 }
73   
74 //_____________________________________________________________________________
75 void AliGenFixed::SetSigma(Float_t /*sx*/, Float_t /*sy*/, Float_t /*sz*/)
76 {
77   //
78   // Set the interaction point sigma
79   //
80   printf("Vertex smearing not implemented for fixed generator\n");
81 }