]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - THijing/AliGenHijing.h
try to fix coverity 24179, 24178, 24125, 24124, check cast to pointers not being...
[u/mrichter/AliRoot.git] / THijing / AliGenHijing.h
index 9207e8843db0485b136eef3843ce78e9b4dc250e..0dd43666be018dfd0c399b31b63bb47cc314c647 100644 (file)
@@ -10,6 +10,7 @@
 // andreas.morsch@cern.ch
 
 #include "AliGenMC.h"
+#include "AliGenHijingEventHeader.h"
 #include <TString.h>
 
 class THijing;
@@ -17,6 +18,7 @@ class TParticle;
 class TClonesArray;
 class TGraph;
 
+
 class AliGenHijing : public AliGenMC
 {
     enum {kNoTrigger, kHardProcesses, kDirectPhotons};
@@ -24,7 +26,6 @@ class AliGenHijing : public AliGenMC
  public:
     AliGenHijing();
     AliGenHijing(Int_t npart);
-    AliGenHijing(const AliGenHijing &Hijing);
     virtual ~AliGenHijing();
     virtual void    Generate();
     virtual void    Init();
@@ -45,6 +46,8 @@ class AliGenHijing : public AliGenMC
     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;}
@@ -53,14 +56,14 @@ class AliGenHijing : public AliGenMC
        {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    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 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)           const
-       {tar = fTarget; a = fATarget; z = fZTarget;}    
     virtual void    GetImpactParameterRange(Float_t& bmin, Float_t& bmax) const
        {bmin = fMinImpactParam; bmax = fMaxImpactParam;}
     virtual Int_t   GetJetQuenching()                    const {return fQuench;}
@@ -69,12 +72,15 @@ class AliGenHijing : public AliGenMC
     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;}
@@ -83,7 +89,6 @@ class AliGenHijing : public AliGenMC
     virtual TGraph* BinaryCollisions() {return fDnDb;}
     virtual Bool_t  CheckTrigger();
 //
-    AliGenHijing &  operator=(const AliGenHijing & rhs);
  protected:
     Bool_t SelectFlavor(Int_t pid);
     void   MakeHeader();
@@ -99,7 +104,6 @@ class AliGenHijing : public AliGenMC
     Int_t       fEvaluate;       // Evaluate total and partial cross-sections
     Int_t       fSelectAll;      // Flag to write the full event
     Int_t       fFlavor;         // Selected particle flavor 4: charm+beauty 5: beauty
-    Float_t     fEnergyCMS;      // Centre of mass energy
     Float_t     fKineBias;       // Bias from kinematic selection
     Int_t       fTrials;         // Number of trials
     Float_t     fXsection;       // Cross-section
@@ -117,27 +121,29 @@ class AliGenHijing : public AliGenMC
     Int_t       fRadiation;      // Flag to switch on/off initial and final state radiation
     Int_t       fSimpleJet;      // Flag to produce simple tiggered jet topology
     Int_t       fNoGammas;       // Don't write gammas if flag "on"
-    
 // ZDC proposal (by Chiara) to store num. of SPECTATORS protons and neutrons
     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
+    Bool_t      fRandomPz;       // Randomise sign of pz  event by event
+    Bool_t      fNoHeavyQuarks;  // If true no heavy quarks are produced
+    AliGenHijingEventHeader     fHeader; // MC Header
+    Float_t     fSigmaNN;        // If not -1 set sigmaNN (HIPR1) 
+    Bool_t      fNoElas;         // If true switch off elastic scattering
+
  private:
-    void Copy(TObject &rhs) const;
+    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, 5) // AliGenerator interface to Hijing
+    ClassDef(AliGenHijing, 9) // AliGenerator interface to Hijing
 };
 #endif
-
-
-
-
-