StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
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 // JBack June 2011 Added HepMC event interface.
27 //
28 //------------------------------------------------------------------------
29 
30 #ifndef EVTGEN_HH
31 #define EVTGEN_HH
32 
33 #include "EvtGenBase/EvtPDL.hh"
34 
35 #include <list>
36 
37 class EvtParticle;
38 class EvtRandomEngine;
39 class EvtVector4R;
40 class EvtStdHep;
41 class EvtSpinDensity;
42 class EvtAbsRadCorr;
43 class EvtDecayBase;
44 class EvtHepMCEvent;
45 
46 class EvtGen{
47 
48 public:
49 
50  EvtGen(const char* const decayName,const char* const pdtTableName,
51  EvtRandomEngine* randomEngine=0, EvtAbsRadCorr *isrEngine=0,
52  const std::list<EvtDecayBase*>* extraModels=0,
53  int mixingType = 1, bool useXml = false);
54 
55  ~EvtGen();
56 
57  void readUDecay(const char* const udecay_name, bool useXml = false);
58 
59  EvtHepMCEvent* generateDecay(int PDGid, EvtVector4R refFrameP4,
60  EvtVector4R translation,
61  EvtSpinDensity* spinDensity = 0);
62 
63  void generateDecay(EvtParticle *p);
64 
65 private:
66 
67  EvtPDL _pdl;
68  int _mixingType;
69 
70 };
71 
72 
73 
74 #endif
75 
Definition: EvtGen.hh:46
Definition: EvtPDL.hh:33