GENIEGenerator
Loading...
Searching...
No Matches
COHDNuInteractionListGenerator.cxx
Go to the documentation of this file.
1//____________________________________________________________________________
2/*
3 Copyright (c) 2003-2025, The GENIE Collaboration
4 For the full text of the license visit http://copyright.genie-mc.org
5
6 Author: Iker de Icaza <i.de-icaza-astiz \at sussex.ac.uk>
7 University of Sussex
8
9 Costas Andreopoulos <c.andreopoulos \at cern.ch>
10 University of Liverpool
11*/
12//____________________________________________________________________________
13
20
21using namespace genie;
22
23//___________________________________________________________________________
25InteractionListGeneratorI("genie::COHDNuInteractionListGenerator")
26{
27
28}
29//___________________________________________________________________________
31InteractionListGeneratorI("genie::COHDNuInteractionListGenerator", config)
32{
33
34}
35//___________________________________________________________________________
40//___________________________________________________________________________
42 const InitialState & init_state) const
43{
44 LOG("IntLst", pINFO)
45 << "InitialState = " << init_state.AsString();
46
47 int probe_pdg = init_state.ProbePdg();
48 bool isnu = pdg::IsNeutrino(probe_pdg) || pdg::IsAntiNeutrino(probe_pdg);
49 if( !isnu) {
50 // shouldn't happen... warn
51 LOG("IntLst", pWARN)
52 << "Can not handle probe! Returning NULL InteractionList "
53 << "for init-state: " << init_state.AsString();
54 return 0;
55 }
56 const Target & target = init_state.Tgt();
57 if(!target.IsNucleus()) {
58 // happens as this code is also indiscriminately both for free-nucleon and
59 // nuclear targets - don't warn
60 LOG("IntLst", pINFO)
61 << "Not a nuclear target! Returning NULL InteractionList "
62 << "for init-state: " << init_state.AsString();
63 return 0;
64 }
65
66 InteractionList * intlist = new InteractionList;
67
69 Interaction * interaction = new Interaction( init_state, proc_info);
70
71 intlist->push_back(interaction);
72
73 return intlist;
74}
75//___________________________________________________________________________
81//____________________________________________________________________________
83{
85 this->LoadConfigData();
86}
87//____________________________________________________________________________
92//____________________________________________________________________________
#define pINFO
Definition Messenger.h:62
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE,...
Definition Messenger.h:96
#define pWARN
Definition Messenger.h:60
Most commonly used PDG codes. A set of utility functions to handle PDG codes is provided in PDGUtils.
virtual void Configure(const Registry &config)
Definition Algorithm.cxx:62
InteractionList * CreateInteractionList(const InitialState &init) const
Initial State information.
const Target & Tgt(void) const
string AsString(void) const
int ProbePdg(void) const
A vector of Interaction objects.
Summary information for an interaction.
Definition Interaction.h:56
A class encapsulating an enumeration of interaction types (EM, Weak-CC, Weak-NC) and scattering types...
Definition ProcessInfo.h:46
A registry. Provides the container for algorithm configuration parameters.
Definition Registry.h:65
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
Definition Target.h:40
bool IsNucleus(void) const
Definition Target.cxx:272
bool IsNeutrino(int pdgc)
Definition PDGUtils.cxx:110
bool IsAntiNeutrino(int pdgc)
Definition PDGUtils.cxx:118
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25
@ kScCoherentElastic