adding task for subtracting background after jet finding, used for all clustering...
[u/mrichter/AliRoot.git] / TEvtGen / EvtGen / EvtGen.hh
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
38 class EvtParticle;
39 class EvtRandomEngine;
40 //class EvtVector4R;
41 class EvtStdHep;
42 class EvtSpinDensity;
43 class EvtAbsRadCorr;
44 class EvtDecayBase;
45
46 //#ifdef NOCLHEPNAMESPACE
47 //namespace CLHEP {
48 //typedef HepLorentzVector HepLorentzVector ;
49 //}
50 //#endif
51
52 class EvtGen{
53
54 public:
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   
75 private:
76
77   EvtPDL _pdl;
78
79 };
80
81
82
83 #endif
84