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 BelEvtGen/COPYRIGHT
9 // Copyright (C) 1998 Caltech, UCSB
11 // Module: BelEvtGen/EvtJetSet.hh
15 // Modification history:
17 // DJL/RYD August 11, 1998 Module created
18 // RS October 28, 2002 copied from JETSET module
20 //------------------------------------------------------------------------
25 #include "EvtGenBase/EvtDecayIncoherent.hh"
26 #include "EvtGenBase/EvtParticle.hh"
31 typedef EvtDecayBase* EvtDecayBasePtr;
33 class EvtPythia:public EvtDecayIncoherent {
40 std::string getName();
41 EvtDecayBase* clone();
42 void decay(EvtParticle *p);
44 std::string commandName();
45 void command(std::string cmd);
51 //initialize jetset; sets up decay table and
52 //paramters. Static so it can be invoked from
54 static void pythiaInit(int f);
55 static void pythiacont(double *,int *, int *,
56 double *,double *,double *,double *);
60 void store(EvtDecayBase* jsdecay);
61 void fixPolarizations(EvtParticle* p);
62 static void MakePythiaFile(char* fname);
63 static void WritePythiaParticle(std::ofstream &outdec,EvtId ipar,EvtId iparname,int &first);
64 static void WritePythiaEntryHeader(std::ofstream &outdec, int lundkc,
65 EvtId evtnum,std::string name,
66 int chg, int cchg, int spin2,double mass,
67 double width, double maxwidth,double ctau,
68 int stable,double rawbrfrsum);
69 static bool diquark(int);
70 static double NominalMass(int);
71 static int njetsetdecays;
72 static EvtDecayBasePtr* jetsetdecays;
77 static std::string* commands;