GENIEGenerator
Loading...
Searching...
No Matches
HNIntranuke2018.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3
4\class genie::Intranuke
5
6\brief The INTRANUKE intranuclear hadron transport MC.
7 Is a concrete implementation of the EventRecordVisitorI interface.
8
9\ref R.Merenyi et al., Phys.Rev.D45 (1992)
10 R.D.Ransome, Nucl.Phys.B 139 (2005)
11
12 Current INTRANUKE development is led by S.Dytman and H.Gallagher.
13 The original INTRANUKE cascade MC was developed (in fortran) for the
14 NeuGEN MC by R.Edgecock, G.F.Pearce, W.A.Mann, R.Merenyi and others.
15
16\author Steve Dytman <dytman+@pitt.edu>, Pittsburgh University
17 Aaron Meyer <asm58@pitt.edu>, Pittsburgh University
18 Alex Bell, Pittsburgh University
19 Hugh Gallagher <gallag@minos.phy.tufts.edu>, Tufts University
20 Costas Andreopoulos <c.andreopoulos \at cern.ch> STFC, Rutherford Lab
21
22\created September 20, 2005
23
24\cpright Copyright (c) 2003-2025, The GENIE Collaboration
25 For the full text of the license visit http://copyright.genie-mc.org
26
27*/
28//____________________________________________________________________________
29
30#ifndef _HN_INTRANUKE_2018_H_
31#define _HN_INTRANUKE_2018_H_
32
33#include <TGenPhaseSpace.h>
34
41
42class TLorentzVector;
43class TVector3;
44
45namespace genie {
46
47class GHepParticle;
48class INukeHadroData;
49class PDGCodeList;
50
52
53friend class IntranukeTester;
54
55public :
57 HNIntranuke2018(string config);
59
60 void ProcessEventRecord(GHepRecord * event_rec) const;
61
62 virtual string GetINukeMode() const {return "hN2018";};
63 virtual string GetGenINukeMode() const {return "hN";};
64
65private:
66
67 void LoadConfig (void);
68
69 // methods specific to intranuke HN-mode
73 double FateWeight (int pdgc, INukeFateHN_t fate) const;
74 void ElasHN (GHepRecord* ev, GHepParticle* p, INukeFateHN_t fate) const;
75 void AbsorbHN (GHepRecord* ev, GHepParticle* p, INukeFateHN_t fate) const;
76 void InelasticHN (GHepRecord* ev, GHepParticle* p) const;
77 void GammaInelasticHN (GHepRecord* ev, GHepParticle* p, INukeFateHN_t fate) const;
79 int HandleCompoundNucleus(GHepRecord* ev, GHepParticle* p, int mom) const;
80
81 mutable int nuclA; ///< value of A for the target nucleus in hA mode
82
83 // data members specific to intranuke HN-mode
84 double fNucQEFac;
85
86};
87
88} // genie namespace
89
90#endif // _HN_INTRANUKE_ALT_H_
91
STDHEP-like event record entry that can fit a particle or a nucleus.
GENIE's GHEP MC event record.
Definition GHepRecord.h:45
INukeFateHN_t HadronFateOset() const
virtual string GetINukeMode() const
void InelasticHN(GHepRecord *ev, GHepParticle *p) const
void GammaInelasticHN(GHepRecord *ev, GHepParticle *p, INukeFateHN_t fate) const
int HandleCompoundNucleus(GHepRecord *ev, GHepParticle *p, int mom) const
virtual string GetGenINukeMode() const
void AbsorbHN(GHepRecord *ev, GHepParticle *p, INukeFateHN_t fate) const
double FateWeight(int pdgc, INukeFateHN_t fate) const
bool HandleCompoundNucleusHN(GHepRecord *ev, GHepParticle *p) const
void ProcessEventRecord(GHepRecord *event_rec) const
void ElasHN(GHepRecord *ev, GHepParticle *p, INukeFateHN_t fate) const
void SimulateHadronicFinalState(GHepRecord *ev, GHepParticle *p) const
INukeFateHN_t HadronFateHN(const GHepParticle *p) const
int nuclA
value of A for the target nucleus in hA mode
Singleton class to load & serve hadron x-section splines used by GENIE's version of the INTRANUKE cas...
A list of PDG codes.
Definition PDGCodeList.h:32
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25
enum genie::EINukeFateHN_t INukeFateHN_t