00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef EVTJETSET_HH
00022 #define EVTJETSET_HH
00023
00024 #include "EvtGenBase/EvtDecayIncoherent.hh"
00025
00026 class EvtParticle;
00027
00028 typedef EvtDecayBase* EvtDecayBasePtr;
00029
00030 #include <iosfwd>
00031
00032 class EvtJetSet:public EvtDecayIncoherent {
00033
00034 public:
00035
00036 EvtJetSet();
00037 virtual ~EvtJetSet();
00038
00039 void getName(std::string& name);
00040 EvtDecayBase* clone();
00041 void decay(EvtParticle *p);
00042
00043 std::string commandName();
00044 void command(std::string cmd);
00045
00046 void init();
00047
00048 void initProbMax();
00049
00050
00051
00052
00053 static void jetSetInit();
00054
00055 private:
00056
00057 void store(EvtDecayBase* jsdecay);
00058 void fixPolarizations(EvtParticle* p);
00059 static void MakeJetSetFile(char* fname);
00060 static void WriteJetSetParticle(std::ofstream &outdec,EvtId ipar,EvtId iparname,int &first);
00061 static void WriteJetSetEntryHeader(std::ofstream &outdec, int lundkc,
00062 EvtId evtnum,std::string name,
00063 int chg, int cchg, int spin2,double mass,
00064 double width, double maxwidth,double ctau,
00065 int stable,double rawbrfrsum);
00066
00067 static int njetsetdecays;
00068 static EvtDecayBasePtr* jetsetdecays;
00069 static int ntable;
00070
00071 static int ncommand;
00072 static int lcommand;
00073 static std::string* commands;
00074
00075 };
00076
00077 #endif
00078
00079
00080
00081