// andreas.morsch@cern.ch
#include "AliGenMC.h"
+#include "AliGenHijingEventHeader.h"
#include <TString.h>
class THijing;
class TClonesArray;
class TGraph;
+
class AliGenHijing : public AliGenMC
{
enum {kNoTrigger, kHardProcesses, kDirectPhotons};
virtual void SetSelectAll(Int_t flag=0) {fSelectAll = flag;}
virtual void SetRadiation(Int_t flag=3) {fRadiation = flag;}
virtual void SetSpectators(Int_t spects=1) {fSpectators = spects;}
+ virtual void SetPtHardMin(Float_t ptmin) {fPtHardMin = ptmin;}
+ virtual void SetPtHardMax(Float_t ptmax) {fPtHardMax = ptmax;}
virtual void SetPtJet(Float_t ptmin) {fPtMinJet = ptmin;}
virtual void SetSimpleJets(Int_t flag=0) {fSimpleJet = flag;}
virtual void SetNoGammas(Int_t flag=0) {fNoGammas = flag;}
{fEtaMinJet = etamin; fEtaMaxJet = etamax;}
virtual void SetJetPhiRange(Float_t phimin = -180., Float_t phimax = 180.)
{fPhiMinJet = TMath::Pi()*phimin/180.; fPhiMaxJet = TMath::Pi()*phimax/180.;}
- virtual void SetBoostLHC(Int_t flag = 0) {fLHC = flag;}
- virtual void SetRandomPz(Bool_t flag = 0) {fRandomPz = flag;}
+ virtual void SetBoostLHC(Int_t flag = 0) {fLHC = flag;}
+ virtual void SetRandomPz(Bool_t flag = 0) {fRandomPz = flag;}
virtual void SwitchOffHeavyQuarks(Bool_t flag = kTRUE) {fNoHeavyQuarks = flag;}
-
-
+ virtual void SetSigmaNN(Float_t val) {fSigmaNN = val;}
+ virtual void SetNoElas(Bool_t b) {fNoElas = b; }
+
// Getters
virtual TString GetReferenceFrame() const {return fFrame;}
virtual void GetImpactParameterRange(Float_t& bmin, Float_t& bmax) const
virtual Int_t GetFlavor() const {return fFlavor;}
virtual Int_t GetRadiation() const {return fRadiation;}
virtual Int_t GetSpectators() const {return fSpectators;}
+ virtual Float_t GetPtHardMin() const {return fPtHardMin;}
+ virtual Float_t GetPtHardMax() const {return fPtHardMax;}
virtual Float_t GetPtJet() const {return fPtMinJet;}
virtual void GetJetEtaRange(Float_t& etamin, Float_t& etamax) const
{etamin = fEtaMinJet; etamax = fEtaMaxJet;}
virtual void GetJetPhiRange(Float_t& phimin, Float_t& phimax) const
{phimin = fPhiMinJet*180./TMath::Pi(); phimax = fPhiMaxJet*180./TMath::Pi();}
-
+ THijing *GetTHijing() const {return fHijing;}
+ virtual Float_t GetSigmaNN() const {return fSigmaNN;}
// Physics Routines
virtual Bool_t ProvidesCollisionGeometry() const {return kTRUE;}
Int_t fLHC; // Assume LHC as lab frame
Bool_t fRandomPz; // Randomise sign of pz event by event
Bool_t fNoHeavyQuarks; // If true no heavy quarks are produced
- Float_t fEventTime; // The event time
-
+ AliGenHijingEventHeader fHeader; // MC Header
+ Float_t fSigmaNN; // If not -1 set sigmaNN (HIPR1)
+ Bool_t fNoElas; // If true switch off elastic scattering
+
private:
AliGenHijing(const AliGenHijing &Hijing);
AliGenHijing & operator=(const AliGenHijing & rhs);
// adjust the weight from kinematic cuts
void AdjustWeights();
// check seleted daughters
- Bool_t DaughtersSelection(TParticle* iparticle);
+ Bool_t DaughtersSelection(const TParticle* iparticle);
// check if stable
- Bool_t Stable(TParticle* particle) const;
+ Bool_t Stable(const TParticle* particle) const;
- ClassDef(AliGenHijing, 7) // AliGenerator interface to Hijing
+ ClassDef(AliGenHijing, 9) // AliGenerator interface to Hijing
};
#endif
-
-
-
-
-