Pythia6Hadronization.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::Pythia6Hadronization
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 \created August 17, 2004
13 
14 \cpright Copyright (c) 2003-2019, The GENIE Collaboration
15  For the full text of the license visit http://copyright.genie-mc.org
16  or see $GENIE/LICENSE
17 */
18 //____________________________________________________________________________
19 
20 #ifndef _PYTHIA6_HADRONIZATION_H_
21 #define _PYTHIA6_HADRONIZATION_H_
22 
23 #define __GENIE_PYTHIA6_ENABLED__
24 
25 #include "Framework/Conventions/GBuild.h"
28 
29 #ifdef __GENIE_PYTHIA6_ENABLED__
30 #include <TPythia6.h>
31 #endif
32 
33 namespace genie {
34 
35 class GHepParticle;
36 
38 
39 public:
42  virtual ~Pythia6Hadronization();
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_PYTHIA6_ENABLED__
64  mutable TPythia6 * fPythia; ///< PYTHIA6 wrapper class
65 #endif
66 };
67 
68 } // genie namespace
69 
70 #endif // _PYTHIA6_HADRONIZATION_H_
void Configure(const Registry &config)
THE MAIN GENIE PROJECT NAMESPACE
Definition: AlgCmp.h:26
bool Hadronize(GHepRecord *event) const
TPythia6 * fPythia
PYTHIA6 wrapper class.
static Config * config
Definition: config.cpp:1054
void ProcessEventRecord(GHepRecord *event) const
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.
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:66
void RestoreOriginalDecayFlags(void) const
GENIE&#39;s GHEP MC event record.
Definition: GHepRecord.h:46
Event finding and building.