AliDecayer realisation for the EvtGen code and EvtGen itself.
[u/mrichter/AliRoot.git] / TEvtGen / EvtGen / EvtGen.hh
CommitLineData
da0e9ce3 1//--------------------------------------------------------------------------
2//
3// Environment:
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.
7//
8// Copyright Information: See EvtGen/COPYRIGHT
9// Copyright (C) 1998 Caltech, UCSB
10//
11// Module: EvtGen/EvtGen.hh
12//
13// Description:Main class to provide user interface to EvtGen.
14//
15// Modification history:
16//
17// RYD March 24, 1998 Module created
18//
19// DJL August 10, 1998 Additional Event member function added
20//
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//------------------------------------------------------------------------
27
28#ifndef EVTGEN_HH
29#define EVTGEN_HH
30
31#include "EvtGenBase/EvtPDL.hh"
32#include "TLorentzVector.h"
33#include "EvtGenBase/EvtVector4R.hh"
34//#include "CLHEP/Vector/LorentzVector.h"
35
36#include <list>
37
38class EvtParticle;
39class EvtRandomEngine;
40//class EvtVector4R;
41class EvtStdHep;
42class EvtSpinDensity;
43class EvtAbsRadCorr;
44class EvtDecayBase;
45
46//#ifdef NOCLHEPNAMESPACE
47//namespace CLHEP {
48//typedef HepLorentzVector HepLorentzVector ;
49//}
50//#endif
51
52class EvtGen{
53
54public:
55
56 EvtGen(const char* const decayName,const char* const pdtTableName,
57 EvtRandomEngine* randomEngine=0, EvtAbsRadCorr *isrEngine=0,
58 const std::list<EvtDecayBase*>* extraModels=0);
59
60 ~EvtGen();
61
62 void readUDecay(const char* const udecay_name);
63
64 void generateDecay(int stdhepid, EvtVector4R P, EvtVector4R D,
65 EvtStdHep *evtStdHep,EvtSpinDensity *spinDensity=0);
66
67 void generateDecay(EvtParticle *p);
68
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);
74
75private:
76
77 EvtPDL _pdl;
78
79};
80
81
82
83#endif
84