GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
AMNuGammaInteractionListGenerator.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 
16 
17 using namespace genie;
18 
19 //___________________________________________________________________________
22  "genie::AMNuGammaInteractionListGenerator")
23 {
24 
25 }
26 //___________________________________________________________________________
28  string config):
30  "genie::AMNuGammaInteractionListGenerator", config)
31 {
32 
33 }
34 //___________________________________________________________________________
36 {
37 
38 }
39 //___________________________________________________________________________
41  const InitialState & init_state) const
42 {
43  LOG("IntLst", pINFO)
44  << "InitialState = " << init_state.AsString();
45 
46  int nupdg = init_state.ProbePdg();
47  int tgtpdg = init_state.Tgt().Pdg();
48 
49  InteractionList * intlist = new InteractionList;
50 
51  const Target & target = init_state.Tgt();
52 
53  if(target.Z()>0) {
54  Interaction * interaction = Interaction::AMNuGamma(tgtpdg,kPdgProton,nupdg,0);
55  intlist->push_back(interaction);
56  }
57  if(target.N()>0) {
58  Interaction * interaction = Interaction::AMNuGamma(tgtpdg,kPdgNeutron,nupdg,0);
59  intlist->push_back(interaction);
60  }
61 
62  return intlist;
63 }
64 //___________________________________________________________________________
Defines the InteractionListGeneratorI interface. Concrete implementations of this interface generate ...
int Pdg(void) const
Definition: Target.h:71
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
InteractionList * CreateInteractionList(const InitialState &init) const
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
Definition: Target.h:40
int ProbePdg(void) const
Definition: InitialState.h:64
string AsString(void) const
int Z(void) const
Definition: Target.h:68
#define pINFO
Definition: Messenger.h:62
int N(void) const
Definition: Target.h:69
A vector of Interaction objects.
const int kPdgProton
Definition: PDGCodes.h:81
const Target & Tgt(void) const
Definition: InitialState.h:66
const int kPdgNeutron
Definition: PDGCodes.h:83
Most commonly used PDG codes. A set of utility functions to handle PDG codes is provided in PDGUtils...
static Interaction * AMNuGamma(int tgt, int nuc, int probe, double E=0)
Initial State information.
Definition: InitialState.h:48