// 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
{
{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)
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:
// 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
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