GENIEGenerator
Loading...
Searching...
No Matches
PythiaBaseHadro2019.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3
4\class genie::PythiaBaseHadro2019
5
6\brief Base class for the Pythia (6 and 8) hadronization modules in GENIE.
7 In particular, the base class provides common checks and basic
8 assignments of quark/diquark codes for a no frills interface to
9 Pythia hadronization routines.
10
11\author Costas Andreopoulos <c.andreopoulos \at cern.ch>
12 University of Liverpool
13
14\created August 17, 2004
15
16\cpright Copyright (c) 2003-2025, The GENIE Collaboration
17 For the full text of the license visit http://copyright.genie-mc.org
18*/
19//____________________________________________________________________________
20
21#ifndef _PYTHIA_HADRONIZATION_BASE_H_
22#define _PYTHIA_HADRONIZATION_BASE_H_
23
26
27namespace genie {
28
30
31protected:
33 PythiaBaseHadro2019(string name);
34 PythiaBaseHadro2019(string name, string config);
35 virtual ~PythiaBaseHadro2019();
36
37 virtual void ProcessEventRecord (GHepRecord* event) const;
38 virtual void MakeQuarkDiquarkAssignments(const Interaction* in) const;
39 virtual bool AssertValidity (const Interaction* in) const;
40 virtual void Initialize (void);
41 virtual void LoadConfig (void);
42
43 virtual void CopyOriginalDecayFlags (void) const = 0;
44 virtual void SetDesiredDecayFlags (void) const = 0;
45 virtual void RestoreOriginalDecayFlags (void) const = 0;
46
47 virtual bool Hadronize (GHepRecord* event) const = 0;
48
49 // PDG codes assigned on an event-by-event basis and driving
50 // PYTHIA6/8 hadronization routines
51 mutable int fLeadingQuark;
52 mutable int fRemnantDiquark;
53
54 // PYTHIA physics configuration parameters used
55 double fSSBarSuppression; ///< ssbar suppression
56 double fGaussianPt2; ///< gaussian pt2 distribution width
57 double fNonGaussianPt2Tail; ///< non gaussian pt2 tail parameterization
58 double fRemainingECutoff; ///< remaining E cutoff stopping fragmentation
59 double fDiQuarkSuppression; ///< di-quark suppression parameter
60 double fLightVMesonSuppression; ///< light vector meson suppression
61 double fSVMesonSuppression; ///< strange vector meson suppression
62 double fLunda; ///< Lund a parameter
63 double fLundb; ///< Lund b parameter
64 double fLundaDiq; ///< adjustment of Lund a for di-quark
65
66 // Original PYTHIA decay flags (stored so as to be restored after hadronization)
67 mutable bool fOriDecayFlag_pi0; // pi^0
68 mutable bool fOriDecayFlag_K0; // K^0
69 mutable bool fOriDecayFlag_K0b; // \bar{K^0}
70 mutable bool fOriDecayFlag_L0; // \Lambda^0
71 mutable bool fOriDecayFlag_L0b; // \bar{\Lambda^0}
72 mutable bool fOriDecayFlag_Dm; // \Delta^-
73 mutable bool fOriDecayFlag_D0; // \Delta^0
74 mutable bool fOriDecayFlag_Dp; // \Delta^+
75 mutable bool fOriDecayFlag_Dpp; // \Delta^++
76 // Required PYTHIA decay flags set via Configure() [fixed]
77 bool fReqDecayFlag_pi0; // pi^0
78 bool fReqDecayFlag_K0; // K^0
79 bool fReqDecayFlag_K0b; // \bar{K^0}
80 bool fReqDecayFlag_L0; // \Lambda^0
81 bool fReqDecayFlag_L0b; // \bar{\Lambda^0}
82 bool fReqDecayFlag_Dm; // \Delta^-
83 bool fReqDecayFlag_D0; // \Delta^0
84 bool fReqDecayFlag_Dp; // \Delta^+
85 bool fReqDecayFlag_Dpp; // \Delta^++
86};
87
88} // genie namespace
89
90#endif // _PYTHIA_HADRONIZATION_BASE_H_
GENIE's GHEP MC event record.
Definition GHepRecord.h:45
Summary information for an interaction.
Definition Interaction.h:56
double fLundb
Lund b parameter.
double fSSBarSuppression
ssbar suppression
virtual void MakeQuarkDiquarkAssignments(const Interaction *in) const
virtual void CopyOriginalDecayFlags(void) const =0
double fNonGaussianPt2Tail
non gaussian pt2 tail parameterization
virtual void SetDesiredDecayFlags(void) const =0
double fDiQuarkSuppression
di-quark suppression parameter
double fLundaDiq
adjustment of Lund a for di-quark
double fGaussianPt2
gaussian pt2 distribution width
virtual void RestoreOriginalDecayFlags(void) const =0
double fRemainingECutoff
remaining E cutoff stopping fragmentation
virtual bool AssertValidity(const Interaction *in) const
double fLunda
Lund a parameter.
virtual bool Hadronize(GHepRecord *event) const =0
double fSVMesonSuppression
strange vector meson suppression
virtual void ProcessEventRecord(GHepRecord *event) const
double fLightVMesonSuppression
light vector meson suppression
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25