]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVGEN/AliGenFixed.h
effc++ warnings
[u/mrichter/AliRoot.git] / EVGEN / AliGenFixed.h
index ecb43a8c4d5b9f31c5f3d51ec8c35ea62975b7aa..75a33479c3561954a2c431fee3f212ab53b03858 100644 (file)
@@ -5,6 +5,11 @@
 
 /* $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
@@ -15,15 +20,19 @@ class AliGenFixed : public AliGenerator
   virtual ~AliGenFixed() {}
   virtual void Generate();
   virtual void Init() {}
-  virtual void SetSigma(Float_t sx, Float_t sy, Float_t sz);
-  virtual void SetMomentum(Float_t pmom) {fPMin=pmom; fPMax=pmom;}
-  virtual void SetPhi(Float_t phi) {fPhiMin=phi*TMath::Pi()/180; fPhiMax=phi*TMath::Pi()/180;}
-  virtual void SetTheta(Float_t theta) {fThetaMin=theta*TMath::Pi()/180; fThetaMax=theta*TMath::Pi()/180;}
+  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 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
 };