Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
epemGun.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file epemGun.h
1 /*******************************************************************************
2  * Copyright (c) The JETSCAPE Collaboration, 2018
3  *
4  * Modular, task-based framework for simulating all aspects of heavy-ion collisions
5  *
6  * For the list of contributors see AUTHORS.
7  *
8  * Report issues at https://github.com/JETSCAPE/JETSCAPE/issues
9  *
10  * or via email to bugs.jetscape@gmail.com
11  *
12  * Distributed under the GNU General Public License 3.0 (GPLv3 or later).
13  * See COPYING for details.
14  ******************************************************************************/
15 
16 // Create a pythia collision at a specified point and return the two inital hard partons
17 
18 #ifndef EPEMGUN_H
19 #define EPEMGUN_H
20 
21 #include "HardProcess.h"
22 #include "JetScapeLogger.h"
23 #include "Pythia8/Pythia.h"
24 
25 using namespace Jetscape;
26 
27 class epemGun : public HardProcess, public Pythia8::Pythia {
28 
29 private:
30  //double pTHatMin;
31  //double pTHatMax;
32  double eCM;
33  //bool FSR_on;
34 
35  // Allows the registration of the module so that it is available to be used by the Jetscape framework.
37 
38  double sud_val_QG_w_M(double M, double h0, double h1, double h2, double E1);
39  double sud_z_QG_w_M(double M, double cg, double cg1, double E2);
40  double alpha_s(double q2);
41 
42 protected:
43  std::uniform_real_distribution<double> ZeroOneDistribution;
44 
45 public:
50  epemGun(string xmlDir = "DONTUSETHIS", bool printBanner = false)
51  : Pythia8::Pythia(xmlDir, printBanner), HardProcess() {
52  SetId("UninitializedepemGun");
53  }
54 
55  ~epemGun();
56 
57  void InitTask();
58  void Exec();
59 
60  // Getters
61  //double GetpTHatMin() const { return pTHatMin; }
62  //double GetpTHatMax() const { return pTHatMax; }
63 
64  // Cross-section information in mb and event weight.
65  double GetSigmaGen() { return info.sigmaGen(); };
66  double GetSigmaErr() { return info.sigmaErr(); };
67  double GetEventWeight() { return info.weight(); };
68 };
69 
70 #endif // EPEMGUN_H