Page MenuHomeHEPForge

No OneTemporary

Index: trunk/include/AGILe/Rapgap/Rapgap.hh
===================================================================
--- trunk/include/AGILe/Rapgap/Rapgap.hh (revision 0)
+++ trunk/include/AGILe/Rapgap/Rapgap.hh (revision 698)
@@ -0,0 +1,79 @@
+#ifndef AGILE_RAPGAP_HH
+#define AGILE_RAPGAP_HH
+
+#include "AGILe/Generator.hh"
+#include "HepMC/IO_HEPEVT.h"
+
+namespace AGILe {
+
+
+ /// Abstract base class for Rapgap interface
+ /// @author Andy Buckley
+ /// @author Holger Schulz
+ class Rapgap : public Generator {
+ public:
+ /// Standard constructor
+ Rapgap();
+
+ /// Destructor
+ virtual ~Rapgap() { }
+
+ /// Set up initial state from supplied params
+ void setGenSpecificInitialState(PdgCode p1 = PROTON, double e1 = 6000.0,
+ PdgCode p2 = PROTON, double e2 = 7000.0);
+
+ /// Make sure that generic setParam is visible.
+ using Generator::setParam;
+
+ /// Pass an string parameter to the generator.
+ virtual bool setParam(const string& name, const string& value);
+
+ /// Generator name
+ virtual const string getName() const{
+ return "Rapgap";
+ }
+
+ /// Run the generator for one event
+ void makeEvent(HepMC::GenEvent& evt);
+
+
+ /// Set the random number generator seed.
+ //virtual void setSeed(const int value) {
+ //setParam("ISEED", value);
+ //}
+
+
+ //string getPDFSet(PdgCode pid);
+ //int getPDFMember(PdgCode pid);
+ //string getPDFScheme(PdgCode pid)const;
+
+ /// Return the generated cross section in pb.
+ virtual const double getCrossSection();
+
+ //virtual const string getVersion();
+
+ /// Tidy up after ourselves
+ void finalize();
+
+ protected:
+ /// Set up default params etc.
+ void initialize();
+
+ /// Fill a HepMC event
+ void fillEvent(HepMC::GenEvent& evt);
+
+ /// Internal storage of initial state params
+ string _particleName1, _particleName2;
+ double _e1, _e2;
+
+ /// Event counter
+ int _nevt;
+
+ /// HEPEVT->HepMC converter
+ HepMC::IO_HEPEVT _hepevt;
+ };
+
+
+}
+
+#endif
Index: trunk/include/AGILe/Rapgap/RapgapWrapper.hh
===================================================================
--- trunk/include/AGILe/Rapgap/RapgapWrapper.hh (revision 0)
+++ trunk/include/AGILe/Rapgap/RapgapWrapper.hh (revision 698)
@@ -0,0 +1,57 @@
+#ifndef AGILE_RAPGAP_WRAPPER_HH
+#define AGILE_RAPGAP_WRAPPER_HH
+
+#include <ctype.h>
+#include "AGILe/FortranWrappers.hh"
+
+
+extern "C" {
+ #define FC_GRAINI FC_FUNC(graini, GRAINI)
+ void FC_GRAINI();
+ #define FC_Steer FC_FUNC(steer, Steer)
+ void FC_Steer();
+ #define FC_RAPGAP FC_FUNC(rapgap, RAPGAP)
+ void FC_RAPGAP();
+ #define FC_rapcha FC_FUNC(rapcha, rapcha)
+ void FC_rapcha();
+ #define FC_HERCHA FC_FUNC(hercha, HERCHA)
+ void FC_HERCHA();
+ #define FC_PYTCHA FC_FUNC(pytcha, PYTCHA)
+ void FC_PYTCHA();
+ #define FC_ARICHA FC_FUNC(aricha, ARICHA)
+ void FC_ARICHA();
+ #define FC_ARINIT FC_FUNC(arinit, ARINIT)
+ void FC_ARINIT(const char *);
+ #define FC_RAEND FC_FUNC(raend, RAEND)
+ void FC_RAEND(int *);
+ #define FC_EVENT FC_FUNC(event, EVENT)
+ void FC_EVENT();
+ #define FC_PTIME FC_FUNC(ptime, PTIME)
+ void FC_PTIME(const char *, int* , int* );
+ // Pythia routines
+ #define FC_PYHEPC FC_FUNC(pyhepc, PYHEPC)
+ void FC_PYHEPC(int*);
+ //#define FC_RM48IN FC_FUNC(rm48in, RM48IN)
+ //void FC_RM48IN(int ISEED, int N1, int N2);
+
+
+}
+
+void call_graini();
+void call_ptime(const char * name, int j, int k);
+void call_steer();
+void call_rapgap();
+void call_rapcha();
+void call_hercha();
+void call_pytcha();
+void call_aricha();
+void call_arinit(const char * name);
+
+// A pythia routine
+void call_pyhepc(int mode);
+
+void call_raend(int i);
+void call_event();
+// This is for setting the random seed
+//void call_rm48in(int ISEED, int N1, int N2);
+#endif
Index: trunk/include/AGILe/Rapgap/RapgapWrapper32.hh
===================================================================
--- trunk/include/AGILe/Rapgap/RapgapWrapper32.hh (revision 0)
+++ trunk/include/AGILe/Rapgap/RapgapWrapper32.hh (revision 698)
@@ -0,0 +1,239 @@
+#ifndef AGILE_RAPGAP_WRAPPER32_HH
+#define AGILE_RAPGAP_WRAPPER32_HH
+
+//////////////////////////////////////////////////////////////////////////
+// Rapgap common block declarations
+// hschulz@physik.hu-berlin.de, February 2010
+// Version 3.202 beta February 2010
+// Wrapper for FORTRAN version of Rapgap
+//////////////////////////////////////////////////////////////////////////
+
+#include <ctype.h>
+#include <cstring>
+#include "AGILe/Rapgap/RapgapWrapper.hh"
+#include "AGILe/FPythia/FPythiaWrapper62.hh"
+
+
+extern "C" {
+ // Functions
+ //
+ // This prints out the cross section
+ //# define FC_RAEND FC_FUNC(raend, RAEND)
+ //void FC_RAEND(void);
+ //# define FC_GRAINI FC_FUNC(graini, GRAINI)
+ //void FC_GRAINI(void);
+
+
+
+ /// Rapgap common block declarations.
+ //Beams (to access info)
+ #define FC_BEAM FC_FUNC(beam, BEAM)
+ extern struct {
+ double PBEAM[2];
+ double KBEAM[2];
+ double PBE1,PBE2;
+ } FC_BEAM;
+
+ // Buchmueller ???
+ #define FC_BUCHMUE FC_FUNC(buchmue, BUCHMUE)
+ extern struct {
+ double C1,Cg;
+ } FC_BUCHMUE;
+
+ // My first attempt, resolved photons, see manual section 4.7
+ #define FC_COLCON FC_FUNC(colcon, COLCON)
+ extern struct {
+ int ICOLORA,IRESPRO,IRPA,IRPB,IRPC,IRPD,IRPE,IRPF,IRPG;
+ } FC_COLCON;
+
+ // Parameters for diffraction
+ #define FC_DIFFR FC_FUNC(diffr, DIFFR)
+ extern struct {
+ double T2MAX,XF,ALPHP,RN2,EPSP,QMI,YMI,QMA,YMA;
+ int NG,NPOM;
+ } FC_DIFFR;
+
+ // Parameters for hard subprocess selection (DIS)
+ #define FC_DISDIF FC_FUNC(disdif, DISDIF)
+ extern struct {
+ int IDIR,IDISIDF;
+ } FC_DISDIF;
+
+ // Parameters for nuber of generation tries...
+ #define FC_EFFIC FC_FUNC(effic, EFFIC)
+ extern struct {
+ double AVGI,SD;
+ int NIN,NOUT;
+ } FC_EFFIC;
+
+ // Parameters for min/max electron scattering angle (degree)
+ #define FC_ELECT FC_FUNC(elect, ELECT)
+ extern struct {
+ double THEMA,THEMI;
+ } FC_ELECT;
+
+ // Parameters for electroweak stuff: sin2thetaWeinberg, M_W^2
+ #define FC_EWEAK FC_FUNC(eweak, EWEAK)
+ extern struct {
+ double SIN2W,MW2;
+ } FC_EWEAK;
+
+ // Parameters for structure function F2 ???
+ #define FC_F2INT FC_FUNC(f2int, F2INT)
+ extern struct {
+ // double ? F2DIS,F2DIS,F2PI;
+ } FC_F2INT;
+
+ // Parameters for bookkeeping inside event record format???
+ #define FC_HARD FC_FUNC(hard, HARD)
+ extern struct {
+ int NFT; // total number of final particles in 2to2 processes
+ int NIA1,NIR1,NIA2,NIR2,NF1,NF2;
+ } FC_HARD;
+
+ // Parameters for process steering
+ #define FC_INPU FC_FUNC(inpu, INPU)
+ extern struct {
+ // int NFRAG,ILEPTO,IHF, ?
+ // not used: ISEMIH
+ double PLEPIN,PIN; //momenta of incoming lepton, proton
+ int LEPI,HADI; // PDGids of incoming particles
+ int IFPS,IALMKT,INTER; // parton shower, inclusion of priordial kt for diff processes, interaction type switch
+ } FC_INPU;
+
+
+ // Parameters for exponential low Q2 suppression (possible tuning parameter)
+ #define FC_LOWQ2 FC_FUNC(lowq2, LOWQ2)
+ extern struct {
+ double Q2SUPP;
+ } FC_LOWQ2;
+
+ // Parameters for
+ #define FC_LUCO FC_FUNC(luco, LUCO)
+ extern struct {
+ int NFLAV,NFLQCDC; //number of active flavours, active flavours for QCD compton effect
+ //int ??? KE,KP,KEP,KPH,KGL,KPA // something about spectators etc.
+ } FC_LUCO;
+
+ // Parameters for accessing information of ???
+ #define FC_MEINFO FC_FUNC(meinfo, MEINFO)
+ extern struct {
+ double ZQGKI,XPGKI,PHIGKI;
+ } FC_MEINFO;
+
+ // Parameters for
+ #define FC_OALPINI FC_FUNC(oalpini, OALPINI)
+ extern struct {
+ int IFULL,IQCDGRID; // Switches for lowest order or quark parton model process, O(a_S) generation on a grid
+ } FC_OALPINI;
+
+ // Parameters for
+ #define FC_PARAE FC_FUNC(parae, PARAE)
+ extern struct {
+ double Q2; // actual Q2 of gammas in lepto-production
+ double Q2Q; // Scale mu^2 of hard scattering in a_S and structure functions
+ // PCM???
+ } FC_PARAE;
+
+ // Parameters for
+ #define FC_PARAM FC_FUNC(param, PARAM)
+ extern struct {
+ double ALPHS,ALPH; // actual a_S, a_em
+ double PI; // well ... pi!
+ //double ? IWEI
+ } FC_PARAM;
+
+ // Parameters for
+ #define FC_PARAT FC_FUNC(parat, PARAT)
+ extern struct {
+ double AM[18]; // vector of final state particle masse
+ double SHAT; // s^hat in hard sub processes
+ double YMAX,YMIN; // upper and lower boundaries for y
+ double QMAX,QMIN; // upper and lower boundaries for Q2 of photons
+ double XMAX,XMIN; // upper and lower boundaries for x
+ } FC_PARAT;
+
+ // Parameters for random seed
+ #define FC_ISEED FC_FUNC(iseed, ISEED)
+ extern struct {
+ int ISEED;
+ } FC_ISEED;
+
+ // Parameters for PTCUT
+ #define FC_PTCUT FC_FUNC(ptcut, PTCUT)
+ extern struct {
+ double PT2CUT[100];
+ } FC_PTCUT;
+
+ // Parameters for run setup
+ #define FC_RAPA FC_FUNC(rapa, RAPA)
+ extern struct {
+ int IPRO;
+ } FC_RAPA;
+
+ //// Parameters for
+ //#define FC_ FC_FUNC()
+ //extern struct {
+ //} FC_;
+
+ //// Parameters for
+ //#define FC_ FC_FUNC()
+ //extern struct {
+ //} FC_;
+
+ //// Parameters for
+ //#define FC_ FC_FUNC()
+ //extern struct {
+ //} FC_;
+
+ //// Parameters for
+ //#define FC_ FC_FUNC()
+ //extern struct {
+ //} FC_;
+
+ //// Parameters for
+ //#define FC_ FC_FUNC()
+ //extern struct {
+ //} FC_;
+
+ //// Parameters for
+ //#define FC_ FC_FUNC()
+ //extern struct {
+ //} FC_;
+
+ //// Parameters for
+ //#define FC_ FC_FUNC()
+ //extern struct {
+ //} FC_;
+
+ //// Parameters for
+ //#define FC_ FC_FUNC()
+ //extern struct {
+ //} FC_;
+
+ //// Parameters for
+ //#define FC_ FC_FUNC()
+ //extern struct {
+ //} FC_;
+
+ //// Parameters for
+ //#define FC_ FC_FUNC()
+ //extern struct {
+ //} FC_;
+
+ //// Parameters for
+ //#define FC_ FC_FUNC()
+ //extern struct {
+ //} FC_;
+
+ //// Parameters for
+ //#define FC_ FC_FUNC()
+ //extern struct {
+ //} FC_;
+
+
+
+
+}
+
+#endif

File Metadata

Mime Type
text/x-diff
Expires
Wed, May 14, 11:20 AM (14 h, 33 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5100222
Default Alt Text
(10 KB)

Event Timeline