Page Menu
Home
HEPForge
Search
Configure Global Search
Log In
Files
F11222057
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
10 KB
Subscribers
None
View Options
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
Details
Attached
Mime Type
text/x-diff
Expires
Wed, May 14, 11:20 AM (17 h, 19 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5100222
Default Alt Text
(10 KB)
Attached To
rAGILESVN agilesvn
Event Timeline
Log In to Comment