00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef EVTGEN_HH
00029 #define EVTGEN_HH
00030
00031
00032 #include "EvtGenBase/EvtPDL.hh"
00033
00034 #include <CLHEP/Vector/LorentzVector.h>
00035
00036 class EvtParticle;
00037 class EvtRandomEngine;
00038
00039 class EvtVector4R;
00040 class EvtStdHep;
00041 class EvtSpinDensity;
00042 class EvtAbsRadCorr;
00043
00044 using CLHEP::HepLorentzVector;
00045
00046 class EvtGen{
00047
00048 public:
00049
00050
00051 EvtGen(const char* const decayName,const char* const pdtTableName,
00052 EvtRandomEngine* randomEngine=0, EvtAbsRadCorr *isrEngine=0);
00053 ~EvtGen();
00054
00055 void readUDecay(const char* const udecay_name);
00056
00057 void generateDecay(int stdhepid, EvtVector4R P, EvtVector4R D,
00058 EvtStdHep *evtStdHep,EvtSpinDensity *spinDensity=0);
00059
00060 void generateDecay(EvtParticle *p);
00061
00062
00063 void generateEvent(int stdhepid, HepLorentzVector P, HepLorentzVector D);
00064 void generateEvent(EvtParticle *p,HepLorentzVector D);
00065
00066
00067 private:
00068
00069 EvtPDL _pdl;
00070 };
00071
00072
00073
00074 #endif
00075