Pythia8Hadro2019.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::Pythia8Hadro2019
5 
6 \brief Provides access to the PYTHIA hadronization models. \n
7  Is a concrete implementation of the EventRecordVisitorI interface.
8 
9 \author Costas Andreopoulos <constantinos.andreopoulos \at cern.ch>
10  University of Liverpool & STFC Rutherford Appleton Laboratory
11 
12  Shivesh Mandalia <s.p.mandalia@qmul.ac.uk>
13  Queen Mary University of London
14 
15 \created October 17, 2019
16 
17 \cpright Copyright (c) 2003-2020, The GENIE Collaboration
18  For the full text of the license visit http://copyright.genie-mc.org
19 */
20 //____________________________________________________________________________
21 
22 #ifndef _PYTHIA8_HADRONIZATION_H_
23 #define _PYTHIA8_HADRONIZATION_H_
24 
25 #include "Framework/Conventions/GBuild.h"
28 
29 #ifdef __GENIE_PYTHIA8_ENABLED__
30 #include "Pythia8/Pythia.h"
31 #endif
32 
33 namespace genie {
34 
35 class GHepParticle;
36 
38 
39 public:
41  Pythia8Hadro2019(string config);
42  virtual ~Pythia8Hadro2019();
43 
44  // Implement the EventRecordVisitorI interface
45  void ProcessEventRecord(GHepRecord * event) const;
46 
47  // Overload the Algorithm::Configure() methods to load private data
48  // members from configuration options
49  void Configure(const Registry & config);
50  void Configure(string config);
51 
52 private:
53 
54  bool Hadronize (GHepRecord* event) const;
55 
56  void CopyOriginalDecayFlags (void) const;
57  void SetDesiredDecayFlags (void) const;
58  void RestoreOriginalDecayFlags (void) const;
59 
60  void LoadConfig (void);
61  void Initialize (void);
62 
63 #ifdef __GENIE_PYTHIA8_ENABLED__
64  mutable Pythia8::Pythia * fPythia; ///< PYTHIA8 instance
65 #endif
66 
67 };
68 
69 } // genie namespace
70 
71 #endif // _PYTHIA8_HADRONIZATION_H_
void ProcessEventRecord(GHepRecord *event) const
THE MAIN GENIE PROJECT NAMESPACE
Definition: AlgCmp.h:25
void Configure(const Registry &config)
bool Hadronize(GHepRecord *event) const
static Config * config
Definition: config.cpp:1054
Base class for the Pythia (6 and 8) hadronization modules in GENIE. In particular, the base class provides common checks and basic assignments of quark/diquark codes for a no frills interface to Pythia hadronization routines.
void CopyOriginalDecayFlags(void) const
void SetDesiredDecayFlags(void) const
Provides access to the PYTHIA hadronization models. Is a concrete implementation of the EventRecord...
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
void RestoreOriginalDecayFlags(void) const
GENIE&#39;s GHEP MC event record.
Definition: GHepRecord.h:45
Event finding and building.