]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - THijing/AliGenHijing.h
Removing useless const to avoid warnings on alphacxx6
[u/mrichter/AliRoot.git] / THijing / AliGenHijing.h
index 20bce42f72ccd5e62a2423626451c231feca878e..6d341b0c4288060b9ff1ef3ed149accf21726e2a 100644 (file)
 
 #include "AliGenMC.h"
 #include <TString.h>
-#include <TArrayI.h>
 
 class THijing;
-class TArrayI;
 class TParticle;
 class TClonesArray;
 class TGraph;
@@ -34,10 +32,7 @@ class AliGenHijing : public AliGenMC
     virtual void    SetEnergyCMS(Float_t energy=5500) {fEnergyCMS=energy;}
     virtual void    SetReferenceFrame(TString frame="CMS")
        {fFrame=frame;}
-    virtual void    SetProjectile(TString proj="A", Int_t a=208, Int_t z=82)
-       {fProjectile = proj; fAProjectile = a; fZProjectile = z;}    
-    virtual void    SetTarget(TString tar="A", Int_t a=208, Int_t z=82)
-       {fTarget = tar; fATarget = a; fZTarget = z;}    
+
     virtual void    SetImpactParameterRange(Float_t bmin = 0, Float_t bmax = 15.)
        {fMinImpactParam=bmin; fMaxImpactParam=bmax;}
     virtual void    KeepFullEvent();
@@ -59,33 +54,35 @@ class AliGenHijing : public AliGenMC
     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    SwitchOffHeavyQuarks(Bool_t flag = kTRUE) {fNoHeavyQuarks = flag;}
+    
+           
 // Getters
-    virtual Float_t GetEnergyCMS() {return fEnergyCMS;}
-    virtual TString GetReferenceFrame() {return fFrame;}
-    virtual void    GetProjectile(TString& tar, Int_t& a, Int_t& z)
+    virtual Float_t GetEnergyCMS()       const {return fEnergyCMS;}
+    virtual TString GetReferenceFrame()  const {return fFrame;}
+    virtual void    GetProjectile(TString& tar, Int_t& a, Int_t& z)       const
        {tar = fProjectile; a = fAProjectile; z = fZProjectile;}    
-    virtual void    GetTarget(TString& tar, Int_t& a, Int_t& z)
+    virtual void    GetTarget(TString& tar, Int_t& a, Int_t& z)           const
        {tar = fTarget; a = fATarget; z = fZTarget;}    
-    virtual void    GetImpactParameterRange(Float_t& bmin, Float_t& bmax)
+    virtual void    GetImpactParameterRange(Float_t& bmin, Float_t& bmax) const
        {bmin = fMinImpactParam; bmax = fMaxImpactParam;}
-    virtual Int_t   GetJetQuenching()                    {return fQuench;}
-    virtual Int_t   GetShadowing()                       {return fShadowing;}
-    virtual Int_t   GetTrigger(Int_t flag=kNoTrigger)    {return fTrigger;}
-    virtual Int_t   GetFlavor(Int_t flag=0)              {return fFlavor;}
-    virtual Int_t   GetRadiation(Int_t flag=3)           {return fRadiation;}    
-    virtual Int_t   GetSpectators(Int_t spects=1)        {return fSpectators;}
-    virtual Float_t GetPtJet(Float_t ptmin)              {return fPtMinJet;}
-    virtual void    GetJetEtaRange(Float_t& etamin, Float_t& etamax)
+    virtual Int_t   GetJetQuenching()                    const {return fQuench;}
+    virtual Int_t   GetShadowing()                       const {return fShadowing;}
+    virtual Int_t   GetTrigger()                         const {return fTrigger;}
+    virtual Int_t   GetFlavor()                          const {return fFlavor;}
+    virtual Int_t   GetRadiation()                       const {return fRadiation;}    
+    virtual Int_t   GetSpectators()                      const {return fSpectators;}
+    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)
+    virtual void    GetJetPhiRange(Float_t& phimin, Float_t& phimax)      const
        {phimin = fPhiMinJet*180./TMath::Pi(); phimax = fPhiMaxJet*180./TMath::Pi();}
     
 
 // Physics Routines
-    virtual Bool_t ProvidesCollisionGeometry() {return kTRUE;}
-    virtual AliCollisionGeometry* CollisionGeometry() {return fCollisionGeometry;}
-    virtual void EvaluateCrossSections();
-    virtual void Boost();
+    virtual Bool_t  ProvidesCollisionGeometry() const {return kTRUE;}
+    virtual void    EvaluateCrossSections();
     virtual TGraph* CrossSection()     {return fDsigmaDb;}
     virtual TGraph* BinaryCollisions() {return fDnDb;}
     virtual Bool_t  CheckTrigger();
@@ -94,15 +91,8 @@ class AliGenHijing : public AliGenMC
  protected:
     Bool_t SelectFlavor(Int_t pid);
     void   MakeHeader();
-
  protected:
-    TString     fFrame;         // Reference frame 
-    TString     fProjectile;    // Projectile
-    TString     fTarget;        // Target
-    Int_t       fAProjectile;    // Projectile A
-    Int_t       fZProjectile;    // Projectile Z
-    Int_t       fATarget;        // Target A
-    Int_t       fZTarget;        // Target Z
+    TString     fFrame;          // Reference frame 
     Float_t     fMinImpactParam; // minimum impact parameter
     Float_t     fMaxImpactParam; // maximum impact parameter   
     Int_t       fKeep;           // Flag to keep full event information
@@ -116,10 +106,8 @@ class AliGenHijing : public AliGenMC
     Float_t     fEnergyCMS;      // Centre of mass energy
     Float_t     fKineBias;       // Bias from kinematic selection
     Int_t       fTrials;         // Number of trials
-    TArrayI     fParentSelect;   // Parent particles to be selected 
-    TArrayI     fChildSelect;    // Decay products to be selected
     Float_t     fXsection;       // Cross-section
-    THijing    *fHijing;         // Hijing
+    THijing    *fHijing;         //!Hijing
     Float_t     fPtHardMin;      // lower pT-hard cut 
     Float_t     fPtHardMax;      // higher pT-hard cut
     Int_t       fSpectators;     // put spectators on stack
@@ -135,20 +123,24 @@ class AliGenHijing : public AliGenMC
     Int_t       fNoGammas;       // Don't write gammas if flag "on"
     
 // ZDC proposal (by Chiara) to store num. of SPECTATORS protons and neutrons
-    Int_t      fSpecn;          // Num. of spectator neutrons
-    Int_t      fSpecp;          // Num. of spectator protons
+    Int_t      fProjectileSpecn;// Num. of spectator neutrons from projectile nucleus
+    Int_t      fProjectileSpecp;// Num. of spectator protons from projectile nucleus
+    Int_t      fTargetSpecn;    // Num. of spectator neutrons from target nucleus
+    Int_t      fTargetSpecp;    // Num. of spectator protons from target nucleus
     Int_t       fLHC;            // Assume LHC as lab frame
-    TClonesArray* fParticles;    // Particle List
+    Bool_t      fRandomPz;       // Randomise sign of pz  event by event
+    Bool_t      fNoHeavyQuarks;  // If true no heavy quarks are produced
     
  private:
+    void Copy(TObject &rhs) const;
     // adjust the weight from kinematic cuts
     void   AdjustWeights();
     // check seleted daughters
     Bool_t DaughtersSelection(TParticle* iparticle);
     // check if stable
-    Bool_t Stable(TParticle*  particle);
+    Bool_t Stable(TParticle*  particle) const;
     
-    ClassDef(AliGenHijing,4) // AliGenerator interface to Hijing
+    ClassDef(AliGenHijing, 6) // AliGenerator interface to Hijing
 };
 #endif