]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVGEN/AliGenMC.h
track matching macros from Alberto
[u/mrichter/AliRoot.git] / EVGEN / AliGenMC.h
index fc319402ccdb05579d21901b6e5aa7400b215b2b..623c79ce55aedfd792570cfea1046507e4351e5c 100644 (file)
 // decay products and particle selection.
 // andreas.morsch@cern.ch
 
-#include "AliGenerator.h"
-#include "AliDecayer.h"
-#include "AliGeometry.h"
+class TClonesArray;
+class TParticle;
 #include <TArrayI.h>   
-#include <TClonesArray.h>
 #include <TString.h>
 
-class TParticle;
+class AliGeometry;
+#include "AliDecayer.h"
+#include "AliGenerator.h"
 
 class AliGenMC : public AliGenerator
 {
@@ -36,7 +36,7 @@ class AliGenMC : public AliGenerator
        {fChildPMin = pmin; fChildPMax = pmax;}
     virtual void SetChildPtRange(Float_t ptmin = 0, Float_t ptmax = 20.)
        {fChildPtMin = ptmin; fChildPtMax = ptmax;}
-    virtual void SetChildPhiRange(Float_t phimin = -180., Float_t phimax = 180)
+    virtual void SetChildPhiRange(Float_t phimin = 0., Float_t phimax = 360.)
        {fChildPhiMin = TMath::Pi()*phimin/180;
        fChildPhiMax  = TMath::Pi()*phimax/180;}
     virtual void SetChildThetaRange(Float_t thetamin = 0, Float_t thetamax = 180)
@@ -57,7 +57,8 @@ class AliGenMC : public AliGenerator
     virtual void   SetProjectile(TString proj="P", Int_t a = 1, Int_t z = 1)
        {fProjectile = proj; fAProjectile = a; fZProjectile = z;}    
     virtual void   SetTarget(TString tar="P", Int_t a = 1, Int_t z = 1)
-       {fTarget = tar; fATarget = a; fZTarget = z;}    
+       {fTarget = tar; fATarget = a; fZTarget = z;}
+    virtual void   SetCrossingAngle(Float_t phiX, Float_t phiY) {fXingAngleX = phiX; fXingAngleY = phiY;}
     virtual void Boost();
 
  protected:
@@ -68,7 +69,7 @@ class AliGenMC : public AliGenerator
     // all kinematic selection cuts go here 
     Bool_t KinematicSelection(TParticle *particle, Int_t flag) const;
     Int_t  CheckPDGCode(Int_t pdgcode) const;
-    void Copy(AliGenMC&) const;
+    void Copy(TObject&) const;
  protected:
     TClonesArray* fParticles;   //!Particle  List
     TArrayI     fParentSelect;  //!Parent particles to be selected 
@@ -84,6 +85,8 @@ class AliGenMC : public AliGenerator
     Float_t     fChildThetaMax; // Children maximum theta
     Float_t     fChildYMin;     // Children minimum y
     Float_t     fChildYMax;     // Children maximum y
+    Float_t     fXingAngleX;    // Crossing angle X
+    Float_t     fXingAngleY;    // Crossing angle Y    
     Decay_t     fForceDecay;    // Decay channel forced
     Float_t     fMaxLifeTime;   // Maximum lifetime for unstable particles
     Int_t       fAProjectile;   // Projectile A