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 AliGenTPHIC(const AliGenTPHIC & gen);
22 virtual ~AliGenTPHIC();
25 void SetDebug(Int_t debug) {fDebug=debug;}
26 void SetEventListRange(Int_t eventFirst=-1, Int_t eventLast=-1);
28 // Setters for TPHIC initial parameters
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);
46 // Getters of TPHIC output parameters
49 Float_t GetGGrapidity ();
52 TClonesArray* GetParticleList ();
53 TLorentzVector MomentumRecNucl1();
54 TLorentzVector MomentumRecNucl2();
55 Float_t GetXSectionCurrent ();
56 Float_t GetXSection ();
57 Float_t GetXSectionError ();
59 void Copy(TObject&) const;
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