GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CEvNSInteractionListGenerator.cxx
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*
3  Copyright (c) 2003-2024, The GENIE Collaboration
4  For the full text of the license visit http://copyright.genie-mc.org
5 
6  Costas Andreopoulos <c.andreopoulos \at cern.ch>
7  University of Liverpool
8 */
9 //____________________________________________________________________________
10 
15 
16 using namespace genie;
17 
18 //___________________________________________________________________________
20 InteractionListGeneratorI("genie::CEvNSInteractionListGenerator")
21 {
22 
23 }
24 //___________________________________________________________________________
26 InteractionListGeneratorI("genie::CEvNSInteractionListGenerator", config)
27 {
28 
29 }
30 //___________________________________________________________________________
32 {
33 
34 }
35 //___________________________________________________________________________
37  const InitialState & init_state) const
38 {
39  LOG("IntLst", pINFO)
40  << "InitialState = " << init_state.AsString();
41 
42  const Target & target = init_state.Tgt();
43  if(!target.IsNucleus()) {
44  LOG("IntLst", pINFO)
45  << "Not a nuclear target! Returning NULL CEvNS interaction list "
46  << "for init-state: " << init_state.AsString();
47  return 0;
48  }
49 
50  InteractionList * intlist = new InteractionList;
51 
53  Interaction * interaction = new Interaction(init_state, proc_info);
54 
55  intlist->push_back(interaction);
56 
57  return intlist;
58 }
59 //___________________________________________________________________________
Defines the InteractionListGeneratorI interface. Concrete implementations of this interface generate ...
bool IsNucleus(void) const
Definition: Target.cxx:272
Summary information for an interaction.
Definition: Interaction.h:56
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:96
A class encapsulating an enumeration of interaction types (EM, Weak-CC, Weak-NC) and scattering types...
Definition: ProcessInfo.h:46
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
Definition: Target.h:40
string AsString(void) const
#define pINFO
Definition: Messenger.h:62
InteractionList * CreateInteractionList(const InitialState &init) const
A vector of Interaction objects.
const Target & Tgt(void) const
Definition: InitialState.h:66
Initial State information.
Definition: InitialState.h:48