GENIEGenerator
Loading...
Searching...
No Matches
HINCLCascadeIntranuke.h
Go to the documentation of this file.
1#include "Framework/Conventions/GBuild.h"
2#ifdef __GENIE_INCL_ENABLED__
3
4#ifndef _HINCLCascadeIntranuke_H_
5#define _HINCLCascadeIntranuke_H_
6
7#include <string>
8using std::string;
9
12
13#include <TLorentzVector.h>
14
15namespace G4INCL {
16 class Config;
17 class INCL;
18 class IDeExcitation;
19}
20
21namespace genie {
22
23 class GHepParticle;
24
25 class HINCLCascadeIntranuke: public EventRecordVisitorI {
26
27 public :
28 HINCLCascadeIntranuke();
29 HINCLCascadeIntranuke(std::string config);
30 ~HINCLCascadeIntranuke();
31
32 int pdgcpiontoA(int pdgc) const;
33 int pdgcpiontoZ(int pdgc) const;
34
35 // implement the EventRecordVisitorI interface
36 // also the LoadConfig interface
37
38 void Configure (const Registry & config);
39 void Configure (string param_set);
40
41 virtual void ProcessEventRecord(GHepRecord * event_rec) const;
42
43 protected:
44 virtual void LoadConfig (void);
45
46 bool CanRescatter(const GHepParticle * p) const;
47 bool IsInNucleus(const GHepParticle * p) const;
48 void TransportHadrons(GHepRecord * evrec) const;
49 int doCascade(GHepRecord * event_rec) const;
50 bool NeedsRescattering(const GHepParticle * p) const;
51
52 bool AddDataPathFlags(size_t& nflags, char** flags);
53 bool LookForAndAddValidPath(std::vector<std::string>& datapaths,
54 size_t defaultIndx,
55 const char* optString,
56 size_t& nflags, char** flags);
57
58
59 mutable int fRemnA; ///< remnant nucleus A
60 mutable int fRemnZ; ///< remnant nucleus Z
61 mutable TLorentzVector fRemnP4; ///< P4 of remnant system
62 mutable GEvGenMode_t fGMode;
63
64 mutable G4INCL::Config *theINCLConfig;
65 mutable G4INCL::INCL *theINCLModel;
66 mutable G4INCL::IDeExcitation *theDeExcitation;
67
68 };
69
70}
71
72#endif
73#endif // __GENIE_INCL_ENABLED__
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.
void Configure(string mesg)
Definition gEvServ.cxx:196
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25
enum genie::EGEvGenMode GEvGenMode_t