]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TEvtGen/EvtGenModels/EvtPythia.hh
If default parameters are allowed and runNumber is provided, search first for the...
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenModels / EvtPythia.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 BelEvtGen/COPYRIGHT
9 //      Copyright (C) 1998      Caltech, UCSB
10 //
11 // Module: BelEvtGen/EvtJetSet.hh
12 //
13 // Description:
14 //
15 // Modification history:
16 //
17 //    DJL/RYD     August 11, 1998         Module created
18 //    RS          October 28, 2002        copied from JETSET module
19 //
20 //------------------------------------------------------------------------
21
22 #ifndef EVTPYTHIA_HH
23 #define EVTPYTHIA_HH
24
25 #include "EvtGenBase/EvtDecayIncoherent.hh"
26 #include "EvtGenBase/EvtParticle.hh"
27 #include <string>
28
29 #include <iosfwd>
30
31 typedef EvtDecayBase* EvtDecayBasePtr;
32
33 class EvtPythia:public  EvtDecayIncoherent  {
34
35 public:
36
37   EvtPythia();
38   virtual ~EvtPythia();
39   
40   std::string getName();
41   EvtDecayBase* clone();
42   void decay(EvtParticle *p); 
43   
44   std::string commandName();
45   void command(std::string cmd);
46   
47   void init();
48   
49   void initProbMax();
50   
51   //initialize jetset; sets up decay table and
52   //paramters. Static so it can be invoked from
53   //from EvtJscont.
54   static void pythiaInit(int f);
55   static void pythiacont(double *,int *, int *,
56                          double *,double *,double *,double *);
57   
58 private:
59   
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;
73   static int ntable;
74   
75   static int ncommand;
76   static int lcommand;
77   static std::string* commands;
78 };
79
80 #endif
81
82
83
84