ATLAS Offline Software
Hydjet_i.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // --------------------------------------------------
6 //
7 // File: Generators/Hydjet.h
8 // Description:
9 // This code is used to get a HYDJET Monte Carlo event.
10 // genInitialize() is used to read parameters
11 // callGenerator() makes the event
12 // genFinalize() writes log files etc
13 // fillEvt(GeneratorEvent* evt) passes the event to HepMC
14 //
15 // The output will be stored in the transient event store so it can be
16 // passed to the simulation.
17 //
18 // AuthorList:
19 // Andrzej Olszewski, February 2007
20 // Andrzej Olszewski, March 2008
21 
22 #ifndef GENERATORMODULESHYDJET_H
23 #define GENERATORMODULESHYDJET_H
24 
26 
27 #include "Hydjet_i/HyiPar.h"
28 #include "Hydjet_i/HyFlow.h"
29 #include "Hydjet_i/HyfPar.h"
30 #include "Hydjet_i/HyJets.h"
31 #include "Hydjet_i/HyjPar.h"
32 #include "Hydjet_i/LuJets.h"
33 #include "Hydjet_i/LuDatr.h"
34 #include "Hydjet_i/PyDat1.h"
35 #include "Hydjet_i/PyPars.h"
36 #include "Hydjet_i/PySubs.h"
37 #include "Hydjet_i/PyqPar.h"
38 
39 typedef std::vector<std::string> CommandVector;
40 
41 // new to store hydjet event parameters
43 
44 class Hydjet:public GenModule {
45 public:
46  Hydjet(const std::string& name, ISvcLocator* pSvcLocator);
47  virtual ~Hydjet() = default;
48 
49  virtual StatusCode genInitialize();
50  virtual StatusCode callGenerator();
51  virtual StatusCode genFinalize();
52  virtual StatusCode fillEvt(HepMC::GenEvent* evt);
53 
54 protected:
55 
56  // inputs to HYINIT (Hydjet event generation)
57  double m_e{0.};
58  double m_a{0.};
59  int m_ifb{0};
60  double m_bmin{0.};
61  double m_bmax{0.};
62  double m_bfix{0.};
63  int m_nh{0};
64 
65  // Random numbers seed
66  std::vector<long int> m_seeds;
67 
68  // event counter
69  int m_events{0};
70 
71  // Commands to setup hydjet
73 
74  // Accessor to HYDJET Options and parameters COMMONs
79 
80  // Accessor to PYTHIA parameters COMMON
84 
85  // Accessor to PYQUEN parameters COMMON
87 
88  // Accessor to JETSET Random number seed COMMON
90 
91  // Accessors to Event information COMMONS
94 
95  void set_user_params(void);
96 
97  SG::WriteHandleKey<HijingEventParams> m_event_paramsKey{this, "HijingOutputKey", "Hijing_event_params"};
98  //--------------------------------
99 };
100 
101 #endif
Hydjet::~Hydjet
virtual ~Hydjet()=default
HyiPar
Definition: HyiPar.h:17
HyiPar.h
HyjPar
Definition: HyjPar.h:17
Hydjet::m_ludatr
LuDatr m_ludatr
Definition: Hydjet_i.h:89
Hydjet::m_bmin
double m_bmin
Definition: Hydjet_i.h:60
LuJets.h
PyDat1.h
HijingEventParams.h
PySubs.h
HyFlow
Definition: HyFlow.h:17
Hydjet::callGenerator
virtual StatusCode callGenerator()
For calling the generator on each iteration of the event loop.
Definition: Hydjet_i.cxx:135
Hydjet::m_InitializeVector
CommandVector m_InitializeVector
Definition: Hydjet_i.h:72
HyjPar.h
Hydjet::set_user_params
void set_user_params(void)
Definition: Hydjet_i.cxx:249
LArG4FSStartPointFilter.evt
evt
Definition: LArG4FSStartPointFilter.py:42
Hydjet::m_a
double m_a
Definition: Hydjet_i.h:58
PyDat1
Definition: PyDat1.h:17
LuDatr.h
Hydjet::m_pypars
PyPars m_pypars
Definition: Hydjet_i.h:81
HyfPar.h
GenModule
Base class for common behaviour of generator interfaces.
Definition: GenModule.h:39
PyqPar.h
Hydjet::m_bmax
double m_bmax
Definition: Hydjet_i.h:61
Hydjet::m_bfix
double m_bfix
Definition: Hydjet_i.h:62
SG::WriteHandleKey< HijingEventParams >
Hydjet::m_hyjets
HyJets m_hyjets
Definition: Hydjet_i.h:93
PySubs
Definition: PySubs.h:17
Hydjet::m_pydat1
PyDat1 m_pydat1
Definition: Hydjet_i.h:83
Hydjet::m_hyjpar
HyjPar m_hyjpar
Definition: Hydjet_i.h:76
LuJets
Definition: LuJets.h:17
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Hydjet::m_pysubs
PySubs m_pysubs
Definition: Hydjet_i.h:82
Hydjet::m_nh
int m_nh
Definition: Hydjet_i.h:63
PyqPar
Definition: PyqPar.h:17
Hydjet::m_pyqpar
PyqPar m_pyqpar
Definition: Hydjet_i.h:86
Hydjet::Hydjet
Hydjet(const std::string &name, ISvcLocator *pSvcLocator)
Definition: Hydjet_i.cxx:40
Hydjet::m_seeds
std::vector< long int > m_seeds
Definition: Hydjet_i.h:66
Hydjet::m_lujets
LuJets m_lujets
Definition: Hydjet_i.h:92
Hydjet::m_hyfpar
HyfPar m_hyfpar
Definition: Hydjet_i.h:77
HyJets
Definition: HyJets.h:17
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
Hydjet::m_hyipar
HyiPar m_hyipar
Definition: Hydjet_i.h:75
Hydjet
Definition: Hydjet_i.h:44
Hydjet::genInitialize
virtual StatusCode genInitialize()
For initializing the generator, if required.
Definition: Hydjet_i.cxx:46
PyPars.h
PyPars
Definition: PyPars.h:17
CommandVector
std::vector< std::string > CommandVector
Definition: Hydjet_i.h:39
Hydjet::m_hyflow
HyFlow m_hyflow
Definition: Hydjet_i.h:78
LuDatr
Definition: LuDatr.h:17
GenModule.h
Hydjet::fillEvt
virtual StatusCode fillEvt(HepMC::GenEvent *evt)
For filling the HepMC event object.
Definition: Hydjet_i.cxx:204
Hydjet::genFinalize
virtual StatusCode genFinalize()
For finalising the generator, if required.
Definition: Hydjet_i.cxx:197
Hydjet::m_event_paramsKey
SG::WriteHandleKey< HijingEventParams > m_event_paramsKey
Definition: Hydjet_i.h:97
CommandVector
std::vector< std::string > CommandVector
Definition: Hijing.h:21
HyJets.h
HyFlow.h
Hydjet::m_ifb
int m_ifb
Definition: Hydjet_i.h:59
HyfPar
Definition: HyfPar.h:17
Hydjet::m_e
double m_e
Definition: Hydjet_i.h:57
Hydjet::m_events
int m_events
Definition: Hydjet_i.h:69