ATLAS Offline Software
herwig7_interface.h
Go to the documentation of this file.
1 #define max_num_weights 50
2 
3 extern "C" {
4  void herwig7_veto_(int*);
6  void herwig7_end_(int*);
7  void herwig7_init_(int & maxev, const char* name, long int len);
9  double powheginput_(const char* , long int);
10 
11  //Declaration of fortran common blocks
12 
13  struct heprup {
14  int idbmup[2];
15  double ebmup[2];
16  int pdfgup[2], pdfsup[2], idwtup, nprup;
17  double xsecup[100], xerrup[100], xmaxup[100];
18  int lprup[100];
19  };
20  extern heprup heprup_;
21 
22  struct hepeup {
23  int nup, idprup;
25  // nb. Fortran 2d arrays need to be declared as 1d C arrays
26  // in order to avoid -Wlto-type-mismatch warnings when compiling with LTO.
27  int idup[500], istup[500], mothup[500*2], icolup[500*2];
28  double pup[500*5], vtimup[500],spinup[500];
29  int& getMother (unsigned ipart, unsigned imother) { return mothup[ipart*2+imother]; }
30  int& getColor (unsigned ipart, unsigned icolor) { return icolup[ipart*2+icolor]; }
31  double& getP (unsigned ipart, unsigned icomp) { return pup[ipart*5+icomp]; }
32  };
33  extern hepeup hepeup_;
34 
35  struct hepevt {
36  // nb. Fortran 2d arrays need to be declared as 1d C arrays
37  // in order to avoid -Wlto-type-mismatch warnings when compiling with LTO.
38  int nevhep, nhep, isthep[4000], idhep[4000], jmohep[4000*2],
39  jdahep[4000*2];
40  double phep[4000*5], vhep[4000*4];
41  };
42  extern hepevt hepevt_;
43 
44  struct weights {
47  int radtype;
48  };
49  extern weights weights_;
50  // the scales of the emissions from the resonances generated by POWHEG
51  struct resonancevetos {
53  };
55 
56  struct c_innlodec {
57  int innlodec;
58  };
59  extern c_innlodec c_innlodec_;
60 
61  extern struct{
64 
65 }
66 
c_innlodec
Definition: herwig7_interface.h:56
hepevt::nevhep
int nevhep
Definition: herwig7_interface.h:38
hepeup::idup
int idup[500]
Definition: herwig7_interface.h:27
hepeup::pup
double pup[500 *5]
Definition: herwig7_interface.h:28
remncorr
double remncorr
Definition: herwig7_interface.h:62
heprup::lprup
int lprup[100]
Definition: herwig7_interface.h:18
heprup::ebmup
double ebmup[2]
Definition: herwig7_interface.h:15
resonancevetos::vetoscaletp
double vetoscaletp
Definition: herwig7_interface.h:52
corrfactors_
struct @60 corrfactors_
hepeup::vtimup
double vtimup[500]
Definition: herwig7_interface.h:28
hepeup::getMother
int & getMother(unsigned ipart, unsigned imother)
Definition: herwig7_interface.h:29
heprup::nprup
int nprup
Definition: herwig7_interface.h:16
resonancevetos
Definition: herwig7_interface.h:51
weights::radtype
int radtype
Definition: herwig7_interface.h:47
maxev
int maxev
Definition: PowhegLesHouchesFileReader.cxx:37
heprup
Definition: herwig7_interface.h:13
hepeup
Definition: herwig7_interface.h:22
heprup::xmaxup
double xmaxup[100]
Definition: herwig7_interface.h:17
hepevt::jmohep
int jmohep[4000 *2]
Definition: herwig7_interface.h:38
heprup_
heprup heprup_
herwig7_veto_
void herwig7_veto_(int *)
hepevt::jdahep
int jdahep[4000 *2]
Definition: herwig7_interface.h:39
heprup::xerrup
double xerrup[100]
Definition: herwig7_interface.h:17
hepevt::phep
double phep[4000 *5]
Definition: herwig7_interface.h:40
c_innlodec::innlodec
int innlodec
Definition: herwig7_interface.h:57
hepeup::idprup
int idprup
Definition: herwig7_interface.h:23
hepeup::aqedup
double aqedup
Definition: herwig7_interface.h:24
heprup::xsecup
double xsecup[100]
Definition: herwig7_interface.h:17
herwig7_end_
void herwig7_end_(int *)
hepeup::istup
int istup[500]
Definition: herwig7_interface.h:27
heprup::idbmup
int idbmup[2]
Definition: herwig7_interface.h:14
resonancevetos::vetoscalewm
double vetoscalewm
Definition: herwig7_interface.h:52
hepeup::aqcdup
double aqcdup
Definition: herwig7_interface.h:24
hepevt_
hepevt hepevt_
hepevt::nhep
int nhep
Definition: herwig7_interface.h:38
hepevt::vhep
double vhep[4000 *4]
Definition: herwig7_interface.h:40
heprup::pdfsup
int pdfsup[2]
Definition: herwig7_interface.h:16
hepeup::icolup
int icolup[500 *2]
Definition: herwig7_interface.h:27
hepevt::idhep
int idhep[4000]
Definition: herwig7_interface.h:38
btildecorr
double btildecorr
Definition: herwig7_interface.h:62
resonancevetos::vetoscaletm
double vetoscaletm
Definition: herwig7_interface.h:52
hepeup_
hepeup hepeup_
herwiganalysis_
void herwiganalysis_()
hepeup::spinup
double spinup[500]
Definition: herwig7_interface.h:28
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
powheginput_
double powheginput_(const char *, long int)
resonancevetos_
resonancevetos resonancevetos_
weights
Definition: herwig7_interface.h:44
hepeup::scalup
double scalup
Definition: herwig7_interface.h:24
hepeup::getColor
int & getColor(unsigned ipart, unsigned icolor)
Definition: herwig7_interface.h:30
weights_
weights weights_
hepeup::mothup
int mothup[500 *2]
Definition: herwig7_interface.h:27
hepeup::xwgtup
double xwgtup
Definition: herwig7_interface.h:24
herwig7_init_
void herwig7_init_(int &maxev, const char *name, long int len)
max_num_weights
#define max_num_weights
Definition: herwig7_interface.h:1
hepeup::nup
int nup
Definition: herwig7_interface.h:23
heprup::pdfgup
int pdfgup[2]
Definition: herwig7_interface.h:16
heprup::idwtup
int idwtup
Definition: herwig7_interface.h:16
hepevt::isthep
int isthep[4000]
Definition: herwig7_interface.h:38
herwig7_calculatescales_
void herwig7_calculatescales_()
c_innlodec_
c_innlodec c_innlodec_
hepevt
Definition: herwig7_interface.h:35
weights::weight
double weight[max_num_weights]
Definition: herwig7_interface.h:45
resonancevetos::vetoscalewp
double vetoscalewp
Definition: herwig7_interface.h:52
hepeup::getP
double & getP(unsigned ipart, unsigned icomp)
Definition: herwig7_interface.h:31
weights::numweights
int numweights
Definition: herwig7_interface.h:46