]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TDPMjet/AliGenDPMjet.h
warning removal
[u/mrichter/AliRoot.git] / TDPMjet / AliGenDPMjet.h
index 966b46f23d4e4d2fe75f110d11bb04be2a4ca3f1..2895725ba3e2fb5a57538f592a8b5c8217e1ba1e 100644 (file)
@@ -7,6 +7,7 @@
 // The main DPMJET options are accessable for the user through this interface.
 
 #include "AliGenMC.h"
+#include "TDPMjet.h"
 #include <TString.h>
 #include <TArrayI.h>
 
@@ -15,6 +16,12 @@ class TArrayI;
 class TParticle;
 class TClonesArray;
 class TGraph;
+class AliGenEventHeader;
+class AliStack;
+class AliRunLoader;
+class AliGenDPMjetEventHeader;
+
+
 
 class AliGenDPMjet : public AliGenMC
 {
@@ -22,87 +29,64 @@ class AliGenDPMjet : public AliGenMC
  public:
     AliGenDPMjet();
     AliGenDPMjet(Int_t npart);
-    AliGenDPMjet(const AliGenDPMjet &Dpmjet){;}
+    AliGenDPMjet(const AliGenDPMjet &Dpmjet);
     virtual ~AliGenDPMjet(); 
     virtual void    Generate();
     virtual void    Init();
-
-    virtual void    SetBeamEnergy(Float_t energy=5400.) {fBeamEn=energy;}
-    virtual void    SetEnergyCMS(Float_t energy=5400.)   {fEnergyCMS=energy;}
-    virtual void    SetProjectile(Int_t a=208, Int_t z=82)
-                       {fAProjectile = a; fZProjectile = z;}    
-    virtual void    SetTarget(Int_t a=208, Int_t z=82)
-                       {fATarget = a; fZTarget = z;}    
-    virtual void    SetImpactParameterRange(Float_t bmin=0., Float_t bmax=16.)
+    virtual void    FinishRun();
+    virtual void    SetEnergyCMS(Float_t energy = 14000.) {fEnergyCMS = energy; fBeamEn = energy / 2.;}
+    virtual void    SetImpactParameterRange(Float_t bmin=0., Float_t bmax=1.)
                        {fMinImpactParam=bmin; fMaxImpactParam=bmax;}
+    virtual void    SetProcess(DpmProcess_t iproc) {fProcess = iproc;}
     virtual void    SetCentral(Int_t icentr=-2) {fICentr = icentr;}
-    virtual void    KeepFullEvent();
-    virtual void    SetDecaysOff(Int_t flag=1)        {fDecaysOff  = flag;}
     virtual void    SetFlavor(Int_t flag=0)           {fFlavor     = flag;}
-    virtual void    SetEvaluate(Int_t flag=0)         {fEvaluate   = flag;}
     virtual void    SetSelectAll(Int_t flag=0)        {fSelectAll  = flag;}
     virtual void    SetSpectators(Int_t spects=1)     {fSpectators = spects;}
     virtual void    SetBoostLHC(Int_t flag=0)         {fLHC        = flag;}
-           
-    virtual Float_t GetEnergyCMS() {return fEnergyCMS;}
-    virtual void    GetProjectile(Int_t& a, Int_t& z)
-                       {a = fAProjectile; z = fZProjectile;}    
-    virtual void    GetTarget(Int_t& a, Int_t& z)
-                       {a = fATarget; z = fZTarget;}    
+    virtual void    SetPi0Decay(Int_t iPi0)  {fPi0Decay = iPi0;}
+    virtual void    SetDecayAll(Int_t iDec)  {fDecayAll = iDec;}
     virtual void    GetImpactParameterRange(Float_t& bmin, Float_t& bmax)
                        {bmin = fMinImpactParam; bmax = fMaxImpactParam;}
-    virtual Int_t   GetSpectators(Int_t spects=1)        {return fSpectators;}
-    virtual Int_t   GetFlavor(Int_t flag=0)              {return fFlavor;}
+    virtual Int_t   GetSpectators()        {return fSpectators;}
+    virtual Int_t   GetFlavor()            {return fFlavor;}
 
-    // Temporeaneo!?!
     virtual void    SetGenImpPar(Float_t bValue) {fGenImpPar=bValue;}
     virtual Float_t GetGenImpPar() {return fGenImpPar;}
-    
-    /*virtual void EvaluateCrossSections();
-    virtual void Boost();
-    virtual TGraph* CrossSection()     {return fDsigmaDb;}
-    virtual TGraph* BinaryCollisions() {return fDnDb;}
-    */
+    virtual void    SetTriggerChargedMultiplicity(Int_t multiplicity, 
+                                                 Float_t etamax = 0, Float_t ptmin = -1.) 
+    {fTriggerMultiplicity = multiplicity; fTriggerMultiplicityEta = etamax; 
+      fTriggerMultiplicityPtMin = ptmin;}
 
     AliGenDPMjet &  operator=(const AliGenDPMjet & rhs);
+    void     AddHeader(AliGenEventHeader* header);
 
  protected:
     Bool_t SelectFlavor(Int_t pid);
     void   MakeHeader();
 
  protected:
-
-    Int_t         fAProjectile;    // Projectile A
-    Int_t         fZProjectile;    // Projectile Z
-    Int_t         fATarget;        // Target A
-    Int_t         fZTarget;        // Target Z
     Float_t       fBeamEn;        // beam energy
-    Float_t       fEnergyCMS;      // Centre of mass energy
     Float_t       fMinImpactParam; // minimum impact parameter
     Float_t       fMaxImpactParam; // maximum impact parameter 
     Int_t        fICentr;         // Flag to force central production
-    Float_t      fCrossSec;       // Fraction of x-section
-    Int_t         fKeep;           // Flag to keep full event information
-    Int_t         fDecaysOff;      // Flag to turn off decays of pi0, K_s, D, Lambda, sigma
-    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
     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
     Int_t         fSpectators;     // put spectators on stack
     Int_t        fSpecn;          // Num. of spectator neutrons
     Int_t        fSpecp;          // Num. of spectator protons
     TDPMjet      *fDPMjet;         // DPMjet
-    TGraph*       fDsigmaDb;       // dSigma/db for the system
-    TGraph*       fDnDb;           // dNBinaryCollisions/db
-    TClonesArray *fParticles;      // Particle List
     Int_t         fNoGammas;       // Don't write gammas if flag "on"
     Int_t         fLHC;            // Assume LHC as lab frame
-    // Temporaneo!
+    Int_t         fPi0Decay;       // Flag for pi0 decays
+    Int_t         fDecayAll;       // Flag to switch on long-lived particle decays
     Float_t      fGenImpPar;      // GeneratedImpactParameter
-    
+    DpmProcess_t  fProcess;        // Process type
+    // Multiplicity Trigger
+    Int_t         fTriggerMultiplicity;      // Triggered multiplicity
+    Float_t       fTriggerMultiplicityEta;   // Triggered multiplicity eta cut
+    Float_t       fTriggerMultiplicityPtMin; // Triggered multiplicity min pt
+
  private:
     // adjust the weight from kinematic cuts
     void   AdjustWeights();
@@ -111,7 +95,7 @@ class AliGenDPMjet : public AliGenMC
     // check if stable
     Bool_t Stable(TParticle*  particle);
     
-    ClassDef(AliGenDPMjet,1) // AliGenerator interface to DPMJET
+    ClassDef(AliGenDPMjet,2) // AliGenerator interface to DPMJET
 };
 #endif