18 using namespace genie;
42 <<
"InitialState = " << init_state.
AsString();
60 <<
"Unknown InteractionType! Returning NULL InteractionList " 61 <<
"for init-state: " << init_state.
AsString();
80 bool hasP = (target->
Z() > 0);
81 bool hasN = (target->
N() > 0);
83 if(!isnu && !isnubar) {
85 <<
"Can not handle probe! Returning NULL InteractionList " 86 <<
"for init-state: " << init_state.
AsString();
93 intlist->push_back(interaction);
95 }
else if (isnubar && hasP) {
97 intlist->push_back(interaction);
101 <<
"Returning NULL InteractionList for init-state: " 121 if(!isnu && !isnubar) {
123 <<
"Can not handle probe! Returning NULL InteractionList " 124 <<
"for init-state: " << init_state.
AsString();
129 for(
int i=0; i<2; i++) {
135 bool hasP = (target->
Z() > 0);
136 bool hasN = (target->
N() > 0);
142 if(nuclpdg[i] == kPdgNeutron && !hasN) {
147 intlist->push_back(interaction);
150 if(intlist->size() == 0) {
152 <<
"Returning NULL InteractionList for init-state: " 165 int tgtpdg = init_state.
Tgt().
Pdg();
171 <<
"Can not handle probe! Returning NULL InteractionList " 172 <<
"for init-state: " << init_state.
AsString();
177 bool hasP = (init_state.
Tgt().
Z() > 0);
180 intlist->push_back(interaction);
182 bool hasN = (init_state.
Tgt().
N() > 0);
185 intlist->push_back(interaction);
188 if(intlist->size() == 0) {
208 <<
"Returning NULL InteractionList for init-state: " 219 for(
int i=0; i<nch; i++) {
225 bool hasP = (target->
Z() > 0);
226 bool hasN = (target->
N() > 0);
230 if(nuclpdg[i] == kPdgProton && !hasP) {
241 intlist->push_back(interaction);
258 <<
"Returning NULL InteractionList for init-state: " 269 for(
int i=0; i<nch; i++) {
275 bool hasP = (target->
Z() > 0);
276 bool hasN = (target->
N() > 0);
280 if(nuclpdg[i] == kPdgProton && !hasP) {
291 intlist->push_back(interaction);
bool IsNeutrino(int pdgc)
THE MAIN GENIE PROJECT NAMESPACE
Defines the InteractionListGeneratorI interface. Concrete implementations of this interface generate ...
InteractionList * CreateInteractionListCharmCC(const InitialState &init) const
void LoadConfigData(void)
void Configure(const Registry &config)
bool IsChargedLepton(int pdgc)
Contains minimal information for tagging exclusive processes.
void SetCharm(int charm_pdgc=0)
InteractionList * CreateInteractionList(const InitialState &init) const
Summary information for an interaction.
~QELInteractionListGenerator()
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
QELInteractionListGenerator()
void SetStrange(int strange_pdgc=0)
A class encapsulating an enumeration of interaction types (EM, Weak-CC, Weak-NC) and scattering types...
bool IsAntiNeutrino(int pdgc)
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
virtual void Configure(const Registry &config)
InteractionList * CreateInteractionListNC(const InitialState &init) const
string AsString(void) const
XclsTag * ExclTagPtr(void) const
InteractionList * CreateInteractionListStrangeCC(const InitialState &init) const
static Interaction * QELEM(int tgt, int nuc, int probe, double E=0)
A registry. Provides the container for algorithm configuration parameters.
void SetHitNucPdg(int pdgc)
Target * TgtPtr(void) const
A vector of Interaction objects.
InitialState * InitStatePtr(void) const
bool GetParamDef(const RgKey &name, T &p, const T &def) const
const Target & Tgt(void) const
Most commonly used PDG codes. A set of utility functions to handle PDG codes is provided in PDGUtils...
InteractionList * CreateInteractionListEM(const InitialState &init) const
InteractionList * CreateInteractionListCC(const InitialState &init) const
Initial State information.