1 //--------------------------------------------------------------------------
4 // This software is part of the EvtGen package developed jointly
5 // for the BaBar and CLEO collaborations. If you use all or part
6 // of it, please give an appropriate acknowledgement.
8 // Copyright Information: See EvtGen/COPYRIGHT
9 // Copyright (C) 1998 Caltech, UCSB
11 // Module: EvtGen/EvtGen.hh
13 // Description:Main class to provide user interface to EvtGen.
15 // Modification history:
17 // RYD March 24, 1998 Module created
19 // DJL August 10, 1998 Additional Event member function added
21 // RYD December 25, 1999 Any application using EvtGen will need
22 // to instantiate an instance of this class
23 // and hold on to it untill done generating
24 // events. This class will now hold data used
25 // for the lifetime of the generator.
26 //------------------------------------------------------------------------
31 #include "EvtGenBase/EvtPDL.hh"
32 #include "TLorentzVector.h"
33 #include "EvtGenBase/EvtVector4R.hh"
34 //#include "CLHEP/Vector/LorentzVector.h"
39 class EvtRandomEngine;
46 //#ifdef NOCLHEPNAMESPACE
48 //typedef HepLorentzVector HepLorentzVector ;
56 EvtGen(const char* const decayName,const char* const pdtTableName,
57 EvtRandomEngine* randomEngine=0, EvtAbsRadCorr *isrEngine=0,
58 const std::list<EvtDecayBase*>* extraModels=0);
62 void readUDecay(const char* const udecay_name);
64 void generateDecay(int stdhepid, EvtVector4R P, EvtVector4R D,
65 EvtStdHep *evtStdHep,EvtSpinDensity *spinDensity=0);
67 void generateDecay(EvtParticle *p);
69 //These two methods are obsolete
70 //void generateEvent(int stdhepid, CLHEP::HepLorentzVector P, CLHEP::HepLorentzVector D);
71 void generateEvent(int stdhepid, TLorentzVector P, TLorentzVector D);
72 //void generateEvent(EvtParticle *p, CLHEP::HepLorentzVector D);
73 void generateEvent(EvtParticle *p, TLorentzVector D);