1#include "Framework/Conventions/GBuild.h"
2#ifdef __GENIE_GEANT4_INTERFACE_ENABLED__
21#ifndef _HG4BERTCASCINTERNUKE_H_
22#define _HG4BERTCASCINTERNUKE_H_
23#include "Framework/Conventions/GBuild.h"
30#include <TLorentzVector.h>
36class G4ParticleDefinition;
37class G4KineticTrackVector;
49 HG4BertCascIntranuke();
50 HG4BertCascIntranuke(
string config);
51 int G4BertCascade(GHepRecord * event_rec)
const;
52 ~HG4BertCascIntranuke();
54 void ProcessEventRecord(GHepRecord* event_rec)
const;
55 virtual string GetINukeMode()
const {
return "hG4BertCasc";};
63 void LoadConfig (
void);
65 void InitG4Particles()
const;
66 void TransportHadrons(GHepRecord* ev)
const;
67 const G4ParticleDefinition* PDGtoG4Particle(
int pdg)
const;
68 G4KineticTrackVector* ConvertGenieSecondariesToG4(GHepRecord* evrec)
const;
69 G4KineticTrackVector* ConvertGenieSecondariesToG4(std::vector<GHepParticle> partList)
const;
71 bool Conserve4Momentum (GHepRecord* ev)
const;
72 bool CanRescatter (
const GHepParticle* p)
const;
73 bool IsBaryon (
const GHepParticle* p)
const;
74 void GenerateVertex (GHepRecord * ev)
const;
75 bool IsInNucleus (
const GHepParticle* p)
const;
76 void SetTrackingRadius (
const GHepParticle* p)
const;
77 double GenerateStep (GHepRecord* ev, GHepParticle* p)
const;
78 bool NeedsRescattering (
const GHepParticle * p)
const;
81 mutable double fTrackingRadius;
83 const NuclearModelI* fNuclmodel;
100 double fFermiMomentum;
105 double fPionMFPScale;
106 double fNucleonMFPScale;
The GENIE Algorithm Factory.
Defines the EventRecordVisitorI interface. Concrete implementations of this interface use the 'Visito...
STDHEP-like event record entry that can fit a particle or a nucleus.
Singleton class to load & serve hadron x-section splines used by GENIE's version of the INTRANUKE cas...
void Configure(string mesg)
THE MAIN GENIE PROJECT NAMESPACE
enum genie::EGEvGenMode GEvGenMode_t