3 /* Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
7 // Event generator of two-photon processes
8 // in ultra-peripheral ion collisions
9 // Author: Yuri.Kharlov@cern.ch
16 //-------------------------------------------------------------
17 class AliGenTPHIC : public AliGenMC
21 virtual ~AliGenTPHIC();
24 void SetDebug(Int_t debug) {fDebug=debug;}
25 void SetEventListRange(Int_t eventFirst=-1, Int_t eventLast=-1);
27 // Setters for TPHIC initial parameters
29 void SetProcess (Int_t proc =2 );
30 void SetBeamEnergy (Float_t energy=3500.);
31 void SetBeamZ (Int_t z =20 );
32 void SetBeamA (Int_t a =40 );
33 void SetYggRange (Float_t ymin =-7., Float_t ymax=7.);
34 void SetMggRange (Float_t mmin = 2., Float_t mmax=20.);
35 void SetNgridY (Int_t ny = 20 );
36 void SetNgridM (Int_t nm =100 );
37 void SetLumFunName (TString name ="lum_ca_2_20.dat" );
38 void SetLumFunFlag (Int_t flag =-1 );
39 void SetKfFermion (Int_t kf = 13 );
40 void SetKfOnium (Int_t kf =441 );
41 void SetMassOnium (Float_t mass );
42 void SetGGwidthOnium(Float_t width );
43 void SetKfVmesons (Int_t kf=113, Int_t kf2=113);
45 // Getters of TPHIC output parameters
48 Float_t GetGGrapidity ();
51 TClonesArray* GetParticleList ();
52 TLorentzVector MomentumRecNucl1();
53 TLorentzVector MomentumRecNucl2();
54 Float_t GetXSectionCurrent ();
55 Float_t GetXSection ();
56 Float_t GetXSectionError ();
58 TPHICgen *fTPHICgen; //!generator TPHIC17
59 AliPythia *fPythia; //!generator PYTHIA6
60 TClonesArray *fParticles; // Particle List
61 Int_t fEvent; //!internal event number
62 Int_t fDebug; //!debug level
63 Int_t fDebugEventFirst; //!First event to debug
64 Int_t fDebugEventLast; //!Last event to debug
67 AliGenTPHIC(const AliGenTPHIC & gen);
68 AliGenTPHIC & operator=(const AliGenTPHIC & gen);
70 ClassDef(AliGenTPHIC,1) // Generator of 2-photon processes in ultra-peripheral collisions