Pythia8Hadronization.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::Pythia8Hadronization
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 <costas.andreopoulos \at stfc.ac.uk>
10  University of Liverpool & STFC Rutherford Appleton Lab
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-2019, The GENIE Collaboration
18  For the full text of the license visit http://copyright.genie-mc.org
19  or see $GENIE/LICENSE
20 */
21 //____________________________________________________________________________
22 
23 #ifndef _PYTHIA8_HADRONIZATION_H_
24 #define _PYTHIA8_HADRONIZATION_H_
25 
26 #include "Framework/Conventions/GBuild.h"
29 
30 #ifdef __GENIE_PYTHIA8_ENABLED__
31 #include "Pythia8/Pythia.h"
32 #endif
33 
34 namespace genie {
35 
36 class GHepParticle;
37 
39 
40 public:
43  virtual ~Pythia8Hadronization();
44 
45  // Implement the EventRecordVisitorI interface
46  void ProcessEventRecord(GHepRecord * event) const;
47 
48  // Overload the Algorithm::Configure() methods to load private data
49  // members from configuration options
50  void Configure(const Registry & config);
51  void Configure(string config);
52 
53 private:
54 
55  bool Hadronize (GHepRecord* event) const;
56 
57  void CopyOriginalDecayFlags (void) const;
58  void SetDesiredDecayFlags (void) const;
59  void RestoreOriginalDecayFlags (void) const;
60 
61  void LoadConfig (void);
62  void Initialize (void);
63 
64 #ifdef __GENIE_PYTHIA8_ENABLED__
65  mutable Pythia8::Pythia * fPythia; ///< PYTHIA8 instance
66 #endif
67 
68 };
69 
70 } // genie namespace
71 
72 #endif // _PYTHIA8_HADRONIZATION_H_
THE MAIN GENIE PROJECT NAMESPACE
Definition: AlgCmp.h:26
Provides access to the PYTHIA hadronization models. Is a concrete implementation of the EventRecord...
void RestoreOriginalDecayFlags(void) const
static Config * config
Definition: config.cpp:1054
void Configure(const Registry &config)
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.
bool Hadronize(GHepRecord *event) const
void ProcessEventRecord(GHepRecord *event) const
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:66
GENIE&#39;s GHEP MC event record.
Definition: GHepRecord.h:46
Event finding and building.