StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StarHerwig6.h
1 #ifndef __StarHerwig6__
2 #define __StarHerwig6__
3 
4 #include "StarGenerator/BASE/StarGenerator.h"
5 #include "Herwig6.h"
6 #include <map>
7 #include <vector>
8 using namespace std;
9 
10 class StarHerwig6 : public StarGenerator
11 {
12  public:
13  StarHerwig6( const Char_t *name="Herwig6" );
14  ~StarHerwig6(){ /* nothing */ };
15 
16  Int_t Init();
17  Int_t Generate();
18  void Clear( const Option_t *opts );
19 
23  HEPEUP_t &hepeup(){return * address_of_hepeup(); }
25  HWGUP_t &hwgup(){return * address_of_hwgup(); }
27  HEPEVT_t &hepevt(){return * address_of_hepevt(); }
29  HWBEAM_t &hwbeam(){return * address_of_hwbeam(); }
30  HWPROC_t &hwproc(){return * address_of_hwproc(); }
32  HWPRAM_t &hwpram(){return * address_of_hwpram(); }
34  HWBRCH_t &hwbrch(){return * address_of_hwbrch(); }
35  HWEVNT_t &hwevnt(){return * address_of_hwevnt(); }
36  HWHARD_t &hwhard(){return * address_of_hwhard(); }
38  CUSTOM_t &custom(){return * address_of_custom(); }
39 
41  void SetProcess( Int_t proccess );
43  void SetBeams( std::string beam1, std::string beam2 ){ HWSetBeams(beam1,beam2);}
44 
45  private:
46  protected:
47 
49  void HWInit( std::vector<string> particles ){ InitializeEvent( particles ); }
51  void HWGenerate(){ GenerateEvent(); };
53  void HWFinish(){ HWEFIN(); }
54 
55  ClassDef(StarHerwig6,1);
56 
57  void FillPP( StarGenEvent *event );
58  void FillEP( StarGenEvent *event );
59 
60  map<Int_t,Int_t> mStatusCode;
61 
62 };
63 
64 #endif
HEPEVT_t & hepevt()
HEPEVT Standard event common block.
Definition: StarHerwig6.h:27
void HWFinish()
HWFinish cleans up after Herwig.
Definition: StarHerwig6.h:53
ABC for defining event generator interfaces.
Definition: StarGenerator.h:34
HWPRAM_t & hwpram()
Basic parameters (and quantities derived from them)
Definition: StarHerwig6.h:32
void HWInit(std::vector< string > particles)
HWInit runs all of the fortan functions necessary to initialize Herwig and get it ready to generate e...
Definition: StarHerwig6.h:49
HEPEUP_t & hepeup()
Definition: StarHerwig6.h:23
HWGUP_t & hwgup()
HWGUP.
Definition: StarHerwig6.h:25
Base class for event records.
Definition: StarGenEvent.h:81
void SetBeams(std::string beam1, std::string beam2)
SetBeams reaches into a common block and sets the beam species.
Definition: StarHerwig6.h:43
HWBRCH_t & hwbrch()
Other HERWIG branching, event and hard subprocess common blocks.
Definition: StarHerwig6.h:34
void HWGenerate()
HWGenerate runs all of the fortran functions necessary to generate a Herwig event.
Definition: StarHerwig6.h:51
CUSTOM_t & custom()
Custom common block to make certain variables accessible.
Definition: StarHerwig6.h:38
HWBEAM_t & hwbeam()
HWBEAM, HWBMCH, HWPROC: Beams, process, and number of events.
Definition: StarHerwig6.h:29