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>
36 class G4ParticleDefinition;
37 class G4KineticTrackVector;
46 class HG4BertCascIntranuke :
public EventRecordVisitorI {
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;
111 #endif // _HG4BERTCASCINTERNUKE_H_
112 #endif // __GENIE_GEANT4_INTERFACE_ENABLED__
enum genie::EGEvGenMode GEvGenMode_t
void Configure(string mesg)