HAIntranuke.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 <costas.andreopoulos \at stfc.ac.uk> STFC, Rutherford Lab
21 
22 \created September 20, 2005
23 
24 \cpright Copyright (c) 2003-2019, The GENIE Collaboration
25  For the full text of the license visit http://copyright.genie-mc.org
26  or see $GENIE/LICENSE
27 */
28 //____________________________________________________________________________
29 
30 #ifndef _HA_INTRANUKE_H_
31 #define _HA_INTRANUKE_H_
32 
33 #include <TGenPhaseSpace.h>
34 
41 
42 class TLorentzVector;
43 class TVector3;
44 
45 namespace genie {
46 
47 class GHepParticle;
48 class INukeHadroData;
49 class PDGCodeList;
50 
51 class HAIntranuke : public Intranuke {
52 
53 friend class IntranukeTester;
54 
55 public :
56  HAIntranuke();
57  HAIntranuke(string config);
58  ~HAIntranuke();
59 
60  void ProcessEventRecord(GHepRecord * event_rec) const;
61 
62  virtual void Configure (string param_set);
63 
64 private:
65 
66  void LoadConfig (void);
67 
70 
72  void Inelastic (GHepRecord* ev, GHepParticle* p, INukeFateHA_t fate) const;
73  void ElasHA (GHepRecord* ev, GHepParticle* p, INukeFateHA_t fate) const;
74  void InelasticHA (GHepRecord* ev, GHepParticle* p, INukeFateHA_t fate) const;
75  double PiBounce (void) const;
76  double PnBounce (void) const;
77  bool HandleCompoundNucleus(GHepRecord* ev, GHepParticle* p, int mom) const;
78 
79  mutable unsigned int fNumIterations;
80 };
81 
82 } // genie namespace
83 
84 #endif // _HA_INTRANUKE_H_
THE MAIN GENIE PROJECT NAMESPACE
Definition: GeneratorBase.h:8
const char * p
Definition: xmltok.h:285
double PnBounce(void) const
The INTRANUKE intranuclear hadron transport MC. Is a concrete implementation of the EventRecordVisito...
Definition: Intranuke.h:54
double PiBounce(void) const
Definition: config.py:1
friend class IntranukeTester
Definition: HAIntranuke.h:53
unsigned int fNumIterations
Definition: HAIntranuke.h:79
bool HandleCompoundNucleus(GHepRecord *ev, GHepParticle *p, int mom) const
void InelasticHA(GHepRecord *ev, GHepParticle *p, INukeFateHA_t fate) const
void SimulateHadronicFinalStateKinematics(GHepRecord *ev, GHepParticle *p) const
void Inelastic(GHepRecord *ev, GHepParticle *p, INukeFateHA_t fate) const
INukeFateHA_t HadronFateHA(const GHepParticle *p) const
void ElasHA(GHepRecord *ev, GHepParticle *p, INukeFateHA_t fate) const
GENIE&#39;s GHEP MC event record.
Definition: GHepRecord.h:46
STDHEP-like event record entry that can fit a particle or a nucleus.
Definition: GHepParticle.h:40
void ProcessEventRecord(GHepRecord *event_rec) const
enum genie::EINukeFateHA_t INukeFateHA_t
virtual void Configure(string param_set)
void SimulateHadronicFinalState(GHepRecord *ev, GHepParticle *p) const