]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TPHIC/AliGenTPHIC.h
Important bugfix. Missing reset of the equipment header data. It was causing a wrong...
[u/mrichter/AliRoot.git] / TPHIC / AliGenTPHIC.h
1 #ifndef ALIGENTPHIC_H
2 #define ALIGENTPHIC_H
3 /* Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7 // Event generator of two-photon processes
8 // in ultra-peripheral ion collisions
9 // Author: Yuri.Kharlov@cern.ch
10 // 15 April 2003
11
12 #include "AliGenMC.h"
13 class TPHICgen;
14 class AliPythia;
15
16 //-------------------------------------------------------------
17 class AliGenTPHIC : public AliGenMC
18 {
19 public:
20   AliGenTPHIC();
21   AliGenTPHIC(const AliGenTPHIC & gen);
22   virtual ~AliGenTPHIC();
23   void Generate();
24   void Init();
25   void SetDebug(Int_t debug) {fDebug=debug;}
26   void SetEventListRange(Int_t eventFirst=-1, Int_t eventLast=-1);
27
28   // Setters for TPHIC initial parameters
29
30   void SetProcess     (Int_t   proc  =2    );
31   void SetBeamEnergy  (Float_t energy=3500.);
32   void SetBeamZ       (Int_t   z     =20   );
33   void SetBeamA       (Int_t   a     =40   );
34   void SetYggRange    (Float_t ymin  =-7., Float_t ymax=7.);
35   void SetMggRange    (Float_t mmin  = 2., Float_t mmax=20.);
36   void SetNgridY      (Int_t   ny    = 20  );
37   void SetNgridM      (Int_t   nm    =100  );
38   void SetLumFunName  (TString name  ="lum_ca_2_20.dat"  );
39   void SetLumFunFlag  (Int_t   flag  =-1   );
40   void SetKfFermion   (Int_t   kf    = 13  );
41   void SetKfOnium     (Int_t   kf    =441  );
42   void SetMassOnium   (Float_t mass        );
43   void SetGGwidthOnium(Float_t width       );
44   void SetKfVmesons   (Int_t kf=113, Int_t kf2=113);
45
46   // Getters of TPHIC output parameters
47
48   Float_t GetGGmass              ();
49   Float_t GetGGrapidity          ();
50   Float_t GetG1mass              ();
51   Float_t GetG2mass              ();
52   TClonesArray*  GetParticleList ();
53   TLorentzVector MomentumRecNucl1();
54   TLorentzVector MomentumRecNucl2();
55   Float_t GetXSectionCurrent     ();
56   Float_t GetXSection            ();
57   Float_t GetXSectionError       ();
58  private:
59   void Copy(TObject&) const;
60  protected:
61   TPHICgen     *fTPHICgen;          //!generator TPHIC17
62   AliPythia    *fPythia;            //!generator PYTHIA6
63   TClonesArray *fParticles;         // Particle  List
64   Int_t         fEvent;             //!internal event number
65   Int_t         fDebug;             //!debug level
66   Int_t         fDebugEventFirst;   //!First event to debug
67   Int_t         fDebugEventLast;    //!Last  event to debug
68 ClassDef(AliGenTPHIC,1)     // Generator of 2-photon processes in ultra-peripheral collisions
69 };
70 #endif