Sumv2 used for correct calculation of histogram errors
[u/mrichter/AliRoot.git] / EVGEN / AliGenFixed.cxx
CommitLineData
790bbabf 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
803d1ab0 16/* $Id$ */
675e9664 17
18// Simple particle gun.
19// Momentum, phi and theta of the partice as well as the particle type can be set.
0af12c00 20// If fExplicit is true the user set momentum vector is used,
21// otherwise it is calculated.
675e9664 22// andreas.morsch@cern.ch
790bbabf 23
116cbefd 24#include "TPDGCode.h"
25
790bbabf 26#include "AliGenFixed.h"
27#include "AliRun.h"
790bbabf 28
29ClassImp(AliGenFixed)
30
31//_____________________________________________________________________________
32AliGenFixed::AliGenFixed()
33 :AliGenerator()
34{
35 //
36 // Default constructor
37 //
38 fIpart = 0;
f1f30542 39 fExplicit = kFALSE;
790bbabf 40}
41
42//_____________________________________________________________________________
43AliGenFixed::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;
49c4fdc3 53 fExplicit = kFALSE;
790bbabf 54}
55
56//_____________________________________________________________________________
57void AliGenFixed::Generate()
58{
59 //
60 // Generate one trigger
61 //
62 Float_t polar[3]= {0,0,0};
f1f30542 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 }
790bbabf 68 Int_t i, nt;
69 //
f1f30542 70 for(i=0;i<fNpart;i++)
642f15cf 71 PushTrack(fTrackIt,-1,fIpart,fP,fOrigin.GetArray(),polar,0,kPPrimary,nt);
790bbabf 72}
73
74//_____________________________________________________________________________
198bb1c7 75void AliGenFixed::SetSigma(Float_t /*sx*/, Float_t /*sy*/, Float_t /*sz*/)
790bbabf 76{
77 //
78 // Set the interaction point sigma
79 //
80 printf("Vertex smearing not implemented for fixed generator\n");
81}