This file is indexed.

/usr/include/HepMC/HerwigWrapper.h is in libhepmcfio-dev 2.06.09-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
//--------------------------------------------------------------------------
#ifndef HERWIG_WRAPPER_H
#define HERWIG_WRAPPER_H

//////////////////////////////////////////////////////////////////////////
// Matt.Dobbs@Cern.CH, November 200July 2002
// Wrapper for FORTRAN version of Herwig
// Wrapper written for Herwig 6.4
//////////////////////////////////////////////////////////////////////////

#include <ctype.h>

// This pre-compiler directive is included (2002-01-16) to allow compatibility
// with MS Visual C++, which interfaces to fortran in a different manner.
// For it to work you need to define the _WIN32 variable when compiling.
#ifdef _WIN32 // Platform: Windows MS Visual C++

//  Sorry, there is NO version currently available for Vusual C++.

#else // Generic version, tested on Linux ecgs/gcc

//--------------------------------------------------------------------------
// HERWIG Common Block Declarations

//        COMMON/HWPROC/EBEAM1,EBEAM2,PBEAM1,PBEAM2,IPROC,MAXEV
extern "C" {
    extern struct {
	double EBEAM1,EBEAM2,PBEAM1,PBEAM2;
        int IPROC,MAXEV;
    } hwproc_;
}
#define hwproc hwproc_

//      COMMON/HWBEAM/IPART1,IPART2
extern "C" {
    extern struct {
        int IPART1, IPART2;
    } hwbeam_;
}
#define hwbeam hwbeam_

//        CHARACTER*8 PART1,PART2
//        COMMON/HWBMCH/PART1,PART2
extern "C" {
    extern struct {
	char PART1[8],PART2[8];
    } hwbmch_;
}
#define hwbmch hwbmch_

//  COMMON/HWEVNT/AVWGT,EVWGT,GAMWT,TLOUT,WBIGST,WGTMAX,WGTSUM,WSQSUM,
//       & IDHW(NMXHEP),IERROR,ISTAT,LWEVT,MAXER,MAXPR,NOWGT,NRN(2),NUMER,
//       & NUMERU,NWGTS,GENSOF
const int herwig_hepevt_size = 4000;
extern "C" {
    extern struct hwgev {
	double AVWGT,EVWGT,GAMWT,TLOUT,WBIGST,WGTMAX,WGTSUM,WSQSUM;
	int IDHW[herwig_hepevt_size],IERROR,ISTAT,LWEVT,MAXER,MAXPR;
	int NOWGT,NRN[2],NUMER,NUMERU,NWGTS;
	int GENSOF; //Beware! in F77 this is logical
    } hwevnt_;
}
#define hwevnt hwevnt_

//  C Basic parameters (and quantities derived from them)
//        COMMON/HWPRAM/AFCH(16,2),ALPHEM,B1LIM,BETAF,BTCLM,CAFAC,CFFAC,
//       & CLMAX,CLPOW,CLSMR(2),CSPEED,ENSOF,ETAMIX,F0MIX,F1MIX,F2MIX,GAMH,
//       & GAMW,GAMZ,GAMZP,GEV2NB,H1MIX,PDIQK,PGSMX,PGSPL(4),PHIMIX,PIFAC,
//       & PRSOF,PSPLT(2),PTRMS,PXRMS,QCDL3,QCDL5,QCDLAM,QDIQK,QFCH(16),QG,
//       & QSPAC,QV,SCABI,SWEIN,TMTOP,VFCH(16,2),VCKM(3,3),VGCUT,VQCUT,
//       & VPCUT,ZBINM,EFFMIN,OMHMIX,ET2MIX,PH3MIX,GCUTME,
//       & IOPREM,IPRINT,ISPAC,LRSUD,LWSUD,MODPDF(2),NBTRY,NCOLO,NCTRY,
//       & NDTRY,NETRY,NFLAV,NGSPL,NSTRU,NSTRY,NZBIN,IOP4JT(2),NPRFMT,
//       & AZSOFT,AZSPIN,CLDIR(2),HARDME,NOSPAC,PRNDEC,PRVTX,SOFTME,ZPRIME,
//       & PRNDEF,PRNTEX,PRNWEB

extern "C" {
    extern struct {
	double AFCH[2][16],ALPHEM,B1LIM,BETAF,BTCLM,CAFAC,CFFAC,
	    CLMAX,CLPOW,CLSMR[2],CSPEED,ENSOF,ETAMIX,F0MIX,F1MIX,F2MIX,GAMH,
	    GAMW,GAMZ,GAMZP,GEV2NB,H1MIX,PDIQK,PGSMX,PGSPL[4],PHIMIX,PIFAC,
	    PRSOF,PSPLT[2],PTRMS,PXRMS,QCDL3,QCDL5,QCDLAM,QDIQK,QFCH[16],QG,
	    QSPAC,QV,SCABI,SWEIN,TMTOP,VFCH[2][16],VCKM[3][3],VGCUT,VQCUT,
	    VPCUT,ZBINM,EFFMIN,OMHMIX,ET2MIX,PH3MIX,GCUTME;
	int IOPREM,IPRINT,ISPAC,LRSUD,LWSUD,MODPDF[2],NBTRY,NCOLO,NCTRY,
	    NDTRY,NETRY,NFLAV,NGSPL,NSTRU,NSTRY,NZBIN,IOP4JT[2],NPRFMT;
	int AZSOFT,AZSPIN,CLDIR[2],HARDME,NOSPAC,PRNDEC,PRVTX,SOFTME,
	    ZPRIME,PRNDEF,PRNTEX,PRNWEB; //Beware! in F77 these are logical
    } hwpram_;
}
#define hwpram hwpram_

//--------------------------------------------------------------------------
// HERWIG routines declaration

#define hwigin hwigin_  // initialise other common blocks
#define hwigup hwigup_  // initialise HepUP run common block
#define hwuinc hwuinc_  // compute parameter-dependent constants
#define hwusta hwusta_  // call hwusta to make any particle stable
#define hweini hweini_  // initialise elementary process
#define hwuine hwuine_  // initialise event
#define hwepro hwepro_  // generate HERWIG hard subprocess
#define hwupro hwupro_  // read USER hard subprocess from HepUP event common
#define hwbgen hwbgen_  // generate parton cascades
#define hwdhob hwdhob_  // do heavy object decays
#define hwcfor hwcfor_  // do cluster hadronization
#define hwcdec hwcdec_  // do cluster decay
#define hwdhad hwdhad_  // do unstable particle decays
#define hwdhvy hwdhvy_  // do heavy flavour decays
#define hwmevt hwmevt_  // add soft underlying event if needed 
#define hwufne hwufne_  // event generation completed, wrap up event .... 
#define hwefin hwefin_  // terminate elementary process

#define hwudpr hwudpr_  // prints out particle/decay properties
#define hwuepr hwuepr_  // prints out event data
#define hwupup hwupup_  // prints out HepEUP user common block event data
#define hwegup hwegup_  // terminal calculations to replace HWEFIN for HepUP
    extern "C" {
        void hwigin(void);
        void hwigup(void);
        void hwuinc(void);
        void hwusta(const char*,int);
        void hweini(void);
        void hwuine(void);
        void hwepro(void);
        void hwupro(void);
        void hwbgen(void);
        void hwdhob(void);
        void hwcfor(void);
        void hwcdec(void);
        void hwdhad(void);
        void hwdhvy(void);
        void hwmevt(void);
        void hwufne(void);
        void hwefin(void);
        void hwudpr(void);
        void hwuepr(void);
	void hwupup(void);
	void hwegup(void);
    }

//--------------------------------------------------------------------------
// HERWIG block data
// ( with gcc it works to initialize the block data by calling 
//   "hwudat();" at beginning. )

#define hwudat hwudat_
extern "C" {
    void hwudat(void);
}


#include "HepMC/GenCrossSection.h"

namespace HepMC {

/// calculate the Herwig cross section and statistical error
GenCrossSection getHerwigCrossSection(int ngen);

} // HepMC

#endif // Platform

#endif  // HERWIG_WRAPPER_H

//--------------------------------------------------------------------------