ROOT logo
#ifndef ALIGENFIXED_H
#define ALIGENFIXED_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id$ */

// Simple particle gun. 
// Momentum, phi and theta of the particle as well as the particle type can be set.
// andreas.morsch@cern.ch


#include "AliGenerator.h"

class AliGenFixed : public AliGenerator
{
 public:
  AliGenFixed();
  AliGenFixed(Int_t npart);
  virtual ~AliGenFixed() {}
  virtual void Generate();
  virtual void Init() {}
  virtual void SetMomentum(Float_t pmom) {fPMin=pmom; fPMax=pmom; SetBit(kMomentumRange);}
  virtual void SetPhi(Float_t phi) {fPhiMin=phi*TMath::Pi()/180; fPhiMax=phi*TMath::Pi()/180; SetBit(kPhiRange);}
  virtual void SetTheta(Float_t theta) {fThetaMin=theta*TMath::Pi()/180; fThetaMax=theta*TMath::Pi()/180; SetBit(kThetaRange);}
  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; // True if momentum vector has been set by user. 
  Float_t fP[3];   // Momentum vector

  ClassDef(AliGenFixed,1) // Single particle generator
};
#endif
 AliGenFixed.h:1
 AliGenFixed.h:2
 AliGenFixed.h:3
 AliGenFixed.h:4
 AliGenFixed.h:5
 AliGenFixed.h:6
 AliGenFixed.h:7
 AliGenFixed.h:8
 AliGenFixed.h:9
 AliGenFixed.h:10
 AliGenFixed.h:11
 AliGenFixed.h:12
 AliGenFixed.h:13
 AliGenFixed.h:14
 AliGenFixed.h:15
 AliGenFixed.h:16
 AliGenFixed.h:17
 AliGenFixed.h:18
 AliGenFixed.h:19
 AliGenFixed.h:20
 AliGenFixed.h:21
 AliGenFixed.h:22
 AliGenFixed.h:23
 AliGenFixed.h:24
 AliGenFixed.h:25
 AliGenFixed.h:26
 AliGenFixed.h:27
 AliGenFixed.h:28
 AliGenFixed.h:29
 AliGenFixed.h:30
 AliGenFixed.h:31
 AliGenFixed.h:32
 AliGenFixed.h:33
 AliGenFixed.h:34
 AliGenFixed.h:35
 AliGenFixed.h:36
 AliGenFixed.h:37
 AliGenFixed.h:38
 AliGenFixed.h:39