Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Friends | List of all members
genie::Interaction Class Reference

Summary information for an interaction. More...

#include "/cvmfs/nova.opensciencegrid.org/externals/genie/v3_00_06_p01/Linux64bit+2.6-2.12-e17-debug/GENIE-Generator/src/Framework/Interaction/Interaction.h"

Inheritance diagram for genie::Interaction:

Public Member Functions

 Interaction ()
 
 Interaction (const InitialState &init, const ProcessInfo &proc)
 
 Interaction (const Interaction &i)
 
 Interaction (TRootIOCtor *)
 
 ~Interaction ()
 
const InitialStateInitState (void) const
 
const ProcessInfoProcInfo (void) const
 
const KinematicsKine (void) const
 
const XclsTagExclTag (void) const
 
const KPhaseSpacePhaseSpace (void) const
 
InitialStateInitStatePtr (void) const
 
ProcessInfoProcInfoPtr (void) const
 
KinematicsKinePtr (void) const
 
XclsTagExclTagPtr (void) const
 
KPhaseSpacePhaseSpacePtr (void) const
 
void SetInitState (const InitialState &init)
 
void SetProcInfo (const ProcessInfo &proc)
 
void SetKine (const Kinematics &kine)
 
void SetExclTag (const XclsTag &xcls)
 
int FSPrimLeptonPdg (void) const
 final state primary lepton pdg More...
 
int RecoilNucleonPdg (void) const
 recoil nucleon pdg More...
 
TParticlePDG * FSPrimLepton (void) const
 final state primary lepton More...
 
TParticlePDG * RecoilNucleon (void) const
 recoil nucleon More...
 
void Reset (void)
 
void Copy (const Interaction &i)
 
string AsString (void) const
 
void Print (ostream &stream) const
 
Interactionoperator= (const Interaction &i)
 copy More...
 

Static Public Member Functions

static InteractionDISCC (int tgt, int nuc, int probe, double E=0)
 
static InteractionDISCC (int tgt, int nuc, int qrk, bool sea, int probe, double E=0)
 
static InteractionDISCC (int tgt, int nuc, int probe, const TLorentzVector &p4probe)
 
static InteractionDISCC (int tgt, int nuc, int qrk, bool sea, int probe, const TLorentzVector &p4probe)
 
static InteractionDISNC (int tgt, int nuc, int probe, double E=0)
 
static InteractionDISNC (int tgt, int nuc, int qrk, bool sea, int probe, double E=0)
 
static InteractionDISNC (int tgt, int nuc, int probe, const TLorentzVector &p4probe)
 
static InteractionDISNC (int tgt, int nuc, int qrk, bool sea, int probe, const TLorentzVector &p4probe)
 
static InteractionDISEM (int tgt, int nuc, int probe, double E=0)
 
static InteractionDISEM (int tgt, int nuc, int qrk, bool sea, int probe, double E=0)
 
static InteractionDISEM (int tgt, int nuc, int probe, const TLorentzVector &p4probe)
 
static InteractionDISEM (int tgt, int nuc, int qrk, bool sea, int probe, const TLorentzVector &p4probe)
 
static InteractionQELCC (int tgt, int nuc, int probe, double E=0)
 
static InteractionQELCC (int tgt, int nuc, int probe, const TLorentzVector &p4probe)
 
static InteractionQELNC (int tgt, int nuc, int probe, double E=0)
 
static InteractionQELNC (int tgt, int nuc, int probe, const TLorentzVector &p4probe)
 
static InteractionQELEM (int tgt, int nuc, int probe, double E=0)
 
static InteractionQELEM (int tgt, int nuc, int probe, const TLorentzVector &p4probe)
 
static InteractionIBD (int tgt, int nuc, int probe, double E=0)
 
static InteractionIBD (int tgt, int nuc, int probe, const TLorentzVector &p4probe)
 
static InteractionRESCC (int tgt, int nuc, int probe, double E=0)
 
static InteractionRESCC (int tgt, int nuc, int probe, const TLorentzVector &p4probe)
 
static InteractionRESNC (int tgt, int nuc, int probe, double E=0)
 
static InteractionRESNC (int tgt, int nuc, int probe, const TLorentzVector &p4probe)
 
static InteractionRESEM (int tgt, int nuc, int probe, double E=0)
 
static InteractionRESEM (int tgt, int nuc, int probe, const TLorentzVector &p4probe)
 
static InteractionDFRCC (int tgt, int nuc, int probe, double E=0)
 
static InteractionDFRCC (int tgt, int nuc, int probe, const TLorentzVector &p4probe)
 
static InteractionCOHCC (int tgt, int probe, double E=0)
 
static InteractionCOHCC (int tgt, int probe, const TLorentzVector &p4probe)
 
static InteractionCOHNC (int tgt, int probe, double E=0)
 
static InteractionCOHNC (int tgt, int probe, const TLorentzVector &p4probe)
 
static InteractionCOHEl (int tgt, int probe, double E=0)
 
static InteractionCOHEl (int tgt, int probe, const TLorentzVector &p4probe)
 
static InteractionIMD (int tgt, double E=0)
 
static InteractionIMD (int tgt, const TLorentzVector &p4probe)
 
static InteractionAMNuGamma (int tgt, int nuc, int probe, double E=0)
 
static InteractionAMNuGamma (int tgt, int nuc, int probe, const TLorentzVector &p4probe)
 
static InteractionMECCC (int tgt, int nuccluster, int probe, double E=0)
 
static InteractionMECCC (int tgt, int nuccluster, int probe, const TLorentzVector &p4probe)
 
static InteractionMECCC (int tgt, int probe, double E=0)
 
static InteractionMECCC (int tgt, int probe, const TLorentzVector &p4probe)
 
static InteractionMECNC (int tgt, int nuccluster, int probe, double E=0)
 
static InteractionMECNC (int tgt, int nuccluster, int probe, const TLorentzVector &p4probe)
 
static InteractionMECEM (int tgt, int nuccluster, int probe, double E=0)
 
static InteractionMECEM (int tgt, int nuccluster, int probe, const TLorentzVector &p4probe)
 
static InteractionGLR (int tgt, double E=0)
 
static InteractionGLR (int tgt, const TLorentzVector &p4probe)
 
static InteractionNDecay (int tgt, int decay_mode=-1, int decayed_nucleon=0)
 
static InteractionNOsc (int tgt, int annihilation_mode=-1)
 
static InteractionASK (int tgt, int probe, double E=0)
 
static InteractionASK (int tgt, int probe, const TLorentzVector &p4probe)
 
static InteractionDME (int tgt, int nuc, int probe, double E=0)
 
static InteractionDME (int tgt, int nuc, int probe, const TLorentzVector &p4probe)
 
static InteractionDMDI (int tgt, int nuc, int probe, double E=0)
 
static InteractionDMDI (int tgt, int nuc, int qrk, bool sea, int probe, double E=0)
 
static InteractionDMDI (int tgt, int nuc, int probe, const TLorentzVector &p4probe)
 
static InteractionDMDI (int tgt, int nuc, int qrk, bool sea, int probe, const TLorentzVector &p4probe)
 

Private Member Functions

void Init (void)
 
void CleanUp (void)
 

Static Private Member Functions

static InteractionCreate (int tgt, int probe, ScatteringType_t st, InteractionType_t it)
 

Private Attributes

InitialStatefInitialState
 Initial State info. More...
 
ProcessInfofProcInfo
 Process info (scattering, weak current,...) More...
 
KinematicsfKinematics
 kinematical variables More...
 
XclsTagfExclusiveTag
 Additional info for exclusive channels. More...
 
KPhaseSpacefKinePhSp
 Kinematic phase space. More...
 

Friends

ostream & operator<< (ostream &stream, const Interaction &i)
 print More...
 

Detailed Description

Summary information for an interaction.

It is a container of an InitialState, a ProcessInfo, an XclsTag and a Kinematics object.

Author
Costas Andreopoulos <costas.andreopoulos stfc.ac.uk> University of Liverpool & STFC Rutherford Appleton Lab

Changes required to implement the GENIE Boosted Dark Matter module were installed by Josh Berger (Univ. of Wisconsin)

April 25, 2004

Copyright (c) 2003-2019, The GENIE Collaboration For the full text of the license visit http://copyright.genie-mc.org or see $GENIE/LICENSE

Definition at line 56 of file Interaction.h.

Constructor & Destructor Documentation

Interaction::Interaction ( )

Definition at line 43 of file Interaction.cxx.

References Init().

Referenced by Create().

43  :
44 TObject()
45 {
46  this->Init();
47 }
Interaction::Interaction ( const InitialState init,
const ProcessInfo proc 
)

Definition at line 49 of file Interaction.cxx.

References Copy(), fInitialState, fProcInfo, and Init().

49  :
50 TObject()
51 {
52  this->Init();
53 
54  fInitialState -> Copy (ist);
55  fProcInfo -> Copy (prc);
56 }
InitialState * fInitialState
Initial State info.
Definition: Interaction.h:173
void Copy(const Interaction &i)
ProcessInfo * fProcInfo
Process info (scattering, weak current,...)
Definition: Interaction.h:174
Interaction::Interaction ( const Interaction i)

Definition at line 58 of file Interaction.cxx.

References Copy(), and Init().

58  :
59 TObject()
60 {
61  this->Init();
62  this->Copy(interaction);
63 }
void Copy(const Interaction &i)
Interaction::Interaction ( TRootIOCtor *  )

Definition at line 65 of file Interaction.cxx.

65  :
66 TObject(),
67 fInitialState(0),
68 fProcInfo(0),
69 fKinematics(0),
70 fExclusiveTag(0),
71 fKinePhSp(0)
72 {
73 
74 }
InitialState * fInitialState
Initial State info.
Definition: Interaction.h:173
XclsTag * fExclusiveTag
Additional info for exclusive channels.
Definition: Interaction.h:176
Kinematics * fKinematics
kinematical variables
Definition: Interaction.h:175
ProcessInfo * fProcInfo
Process info (scattering, weak current,...)
Definition: Interaction.h:174
KPhaseSpace * fKinePhSp
Kinematic phase space.
Definition: Interaction.h:177
Interaction::~Interaction ( )

Definition at line 76 of file Interaction.cxx.

References CleanUp().

77 {
78  this->CleanUp();
79 }
void CleanUp(void)
Definition: Interaction.cxx:96

Member Function Documentation

Interaction * Interaction::AMNuGamma ( int  tgt,
int  nuc,
int  probe,
double  E = 0 
)
static

Definition at line 755 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakNC, genie::kScAMNuGamma, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeE(), and genie::InitialState::TgtPtr().

Referenced by genie::AMNuGammaInteractionListGenerator::CreateInteractionList(), and PhaseSpacePtr().

756 {
757  Interaction * interaction =
759 
760  InitialState * init_state = interaction->InitStatePtr();
761  init_state->SetProbeE(E);
762  init_state->TgtPtr()->SetHitNucPdg(nuc);
763 
764  return interaction;
765 }
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
Float_t E
Definition: plot.C:20
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::AMNuGamma ( int  tgt,
int  nuc,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 767 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakNC, genie::kScAMNuGamma, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeP4(), and genie::InitialState::TgtPtr().

769 {
770  Interaction * interaction =
772 
773  InitialState * init_state = interaction->InitStatePtr();
774  init_state->SetProbeP4(p4probe);
775  init_state->TgtPtr()->SetHitNucPdg(nuc);
776 
777  return interaction;
778 }
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::ASK ( int  tgt,
int  probe,
double  E = 0 
)
static

Definition at line 923 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakCC, genie::kScSingleKaon, and genie::InitialState::SetProbeE().

Referenced by PhaseSpacePtr().

924 {
925  Interaction * interaction =
927 
928  InitialState * init_state = interaction->InitStatePtr();
929  init_state->SetProbeE(E);
930 
931  return interaction;
932 }
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
Float_t E
Definition: plot.C:20
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::ASK ( int  tgt,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 934 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakCC, genie::kScSingleKaon, and genie::InitialState::SetProbeP4().

936 {
937  Interaction * interaction =
939 
940  InitialState * init_state = interaction->InitStatePtr();
941  init_state->SetProbeP4(p4probe);
942 
943  return interaction;
944 }
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
string Interaction::AsString ( void  ) const

Definition at line 238 of file Interaction.cxx.

References genie::XclsTag::AsString(), fExclusiveTag, fInitialState, fProcInfo, genie::Target::HitNucIsSet(), genie::Target::HitNucPdg(), genie::Target::HitQrkIsSet(), genie::Target::HitQrkPdg(), genie::Target::HitSeaQrk(), genie::ProcessInfo::InteractionTypeAsString(), genie::kPdgDarkMatter, genie::Target::Pdg(), genie::InitialState::Probe(), genie::InitialState::ProbePdg(), genie::ProcessInfo::ScatteringTypeAsString(), and genie::InitialState::Tgt().

Referenced by genie::KineGeneratorWithCache::AccessCacheBranch(), genie::QELEventGeneratorSM::AccessCacheBranch2(), genie::QELEventGeneratorSM::AccessCacheBranchDiffv(), genie::XSecAlgorithmMap::BuildMap(), genie::InteractionGeneratorMap::BuildMap(), genie::XSecSplineList::BuildSplineKey(), genie::DISXSec::CacheBranchName(), genie::DMDISXSec::CacheBranchName(), genie::DFRKinematicsGenerator::ComputeMaxXSec(), genie::RESKinematicsGenerator::ComputeMaxXSec(), genie::IBDKinematicsGenerator::ComputeMaxXSec(), genie::COHElKinematicsGenerator::ComputeMaxXSec(), genie::NuEKinematicsGenerator::ComputeMaxXSec(), genie::QELKinematicsGenerator::ComputeMaxXSec(), genie::DISKinematicsGenerator::ComputeMaxXSec(), genie::SKKinematicsGenerator::ComputeMaxXSec(), genie::DMELKinematicsGenerator::ComputeMaxXSec(), genie::DMDISKinematicsGenerator::ComputeMaxXSec(), genie::QELEventGenerator::ComputeMaxXSec(), genie::COHKinematicsGenerator::ComputeMaxXSec(), ConvertToGTracker(), genie::GEVGDriver::CreateSplines(), genie::InteractionGeneratorMap::FindGenerator(), genie::XSecAlgorithmMap::FindXSecAlgorithm(), main(), genie::COHKinematicsGenerator::MaxXSec_AlvarezRuso(), PhaseSpacePtr(), SaveToPsFile(), genie::PhysInteractionSelector::SelectInteraction(), genie::GEVGDriver::UseSplines(), genie::ReinSehgalRESPXSec::XSec(), genie::BSKLNBaseRESPXSec2014::XSec(), and genie::GEVGDriver::XSecSum().

239 {
240 // Code-ify the interaction in a string to be used as (part of a) cache
241 // branch key.
242 // Template:
243 // nu:x;tgt:x;N:x;q:x(s/v);proc:x;xclv_tag
244 
245  const Target & tgt = fInitialState->Tgt();
246 
247  ostringstream interaction;
248 
249  // If the probe has non-zero mass, then it is DM
250  if (fInitialState->Probe()->PdgCode() == kPdgDarkMatter) {
251  interaction << "dm;";
252  }
253  else {
254  interaction << "nu:" << fInitialState->ProbePdg() << ";";
255  }
256  interaction << "tgt:" << tgt.Pdg() << ";";
257 
258  if(tgt.HitNucIsSet()) {
259  interaction << "N:" << tgt.HitNucPdg() << ";";
260  }
261  if(tgt.HitQrkIsSet()) {
262  interaction << "q:" << tgt.HitQrkPdg()
263  << (tgt.HitSeaQrk() ? "(s)" : "(v)") << ";";
264  }
265 
266  interaction << "proc:" << fProcInfo->InteractionTypeAsString()
267  << "," << fProcInfo->ScatteringTypeAsString() << ";";
268 
269  string xcls = fExclusiveTag->AsString();
270  interaction << xcls;
271  if(xcls.size()>0) interaction << ";";
272 
273  return interaction.str();
274 }
bool HitSeaQrk(void) const
Definition: Target.cxx:316
string ScatteringTypeAsString(void) const
int HitNucPdg(void) const
Definition: Target.cxx:321
int HitQrkPdg(void) const
Definition: Target.cxx:259
InitialState * fInitialState
Initial State info.
Definition: Interaction.h:173
const int kPdgDarkMatter
Definition: PDGCodes.h:195
int Pdg(void) const
Definition: Target.h:72
TParticlePDG * Probe(void) const
XclsTag * fExclusiveTag
Additional info for exclusive channels.
Definition: Interaction.h:176
string AsString(void) const
pack into a string code
Definition: XclsTag.cxx:179
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
Definition: Target.h:41
int ProbePdg(void) const
Definition: InitialState.h:65
string InteractionTypeAsString(void) const
bool HitNucIsSet(void) const
Definition: Target.cxx:300
bool HitQrkIsSet(void) const
Definition: Target.cxx:309
ProcessInfo * fProcInfo
Process info (scattering, weak current,...)
Definition: Interaction.h:174
const Target & Tgt(void) const
Definition: InitialState.h:67
void Interaction::CleanUp ( void  )
private

Definition at line 96 of file Interaction.cxx.

References fExclusiveTag, fInitialState, fKinematics, fKinePhSp, and fProcInfo.

Referenced by PhaseSpacePtr(), Reset(), and ~Interaction().

97 {
98  if ( fInitialState ) delete fInitialState;
99  if ( fProcInfo ) delete fProcInfo;
100  if ( fKinematics ) delete fKinematics;
101  if ( fExclusiveTag ) delete fExclusiveTag;
102  if ( fKinePhSp ) delete fKinePhSp;
103 
104  fInitialState = 0;
105  fProcInfo = 0;
106  fKinematics = 0;
107  fExclusiveTag = 0;
108  fKinePhSp = 0;
109 }
InitialState * fInitialState
Initial State info.
Definition: Interaction.h:173
XclsTag * fExclusiveTag
Additional info for exclusive channels.
Definition: Interaction.h:176
Kinematics * fKinematics
kinematical variables
Definition: Interaction.h:175
ProcessInfo * fProcInfo
Process info (scattering, weak current,...)
Definition: Interaction.h:174
KPhaseSpace * fKinePhSp
Kinematic phase space.
Definition: Interaction.h:177
Interaction * Interaction::COHCC ( int  tgt,
int  probe,
double  E = 0 
)
static

Definition at line 664 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakCC, genie::kScCoherent, and genie::InitialState::SetProbeE().

Referenced by PhaseSpacePtr().

665 {
666  Interaction * interaction =
668 
669  InitialState * init_state = interaction->InitStatePtr();
670  init_state->SetProbeE(E);
671 
672  return interaction;
673 }
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
Float_t E
Definition: plot.C:20
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::COHCC ( int  tgt,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 675 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakCC, genie::kScCoherent, and genie::InitialState::SetProbeP4().

677 {
678  Interaction * interaction =
680 
681  InitialState * init_state = interaction->InitStatePtr();
682  init_state->SetProbeP4(p4probe);
683 
684  return interaction;
685 }
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::COHEl ( int  tgt,
int  probe,
double  E = 0 
)
static

Definition at line 710 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakNC, genie::kScCoherentElas, and genie::InitialState::SetProbeE().

Referenced by PhaseSpacePtr().

711 {
712  Interaction * interaction =
714 
715  InitialState * init_state = interaction->InitStatePtr();
716  init_state->SetProbeE(E);
717 
718  return interaction;
719 }
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
Float_t E
Definition: plot.C:20
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::COHEl ( int  tgt,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 721 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakNC, genie::kScCoherentElas, and genie::InitialState::SetProbeP4().

723 {
724  Interaction * interaction =
726 
727  InitialState * init_state = interaction->InitStatePtr();
728  init_state->SetProbeP4(p4probe);
729 
730  return interaction;
731 }
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::COHNC ( int  tgt,
int  probe,
double  E = 0 
)
static

Definition at line 687 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakNC, genie::kScCoherent, and genie::InitialState::SetProbeE().

Referenced by PhaseSpacePtr().

688 {
689  Interaction * interaction =
691 
692  InitialState * init_state = interaction->InitStatePtr();
693  init_state->SetProbeE(E);
694 
695  return interaction;
696 }
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
Float_t E
Definition: plot.C:20
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::COHNC ( int  tgt,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 698 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakNC, genie::kScCoherent, and genie::InitialState::SetProbeP4().

700 {
701  Interaction * interaction =
703 
704  InitialState * init_state = interaction->InitStatePtr();
705  init_state->SetProbeP4(p4probe);
706 
707  return interaction;
708 }
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
void Interaction::Copy ( const Interaction i)

Definition at line 111 of file Interaction.cxx.

References fExclusiveTag, fInitialState, fKinematics, and fProcInfo.

Referenced by Interaction(), operator=(), and PhaseSpacePtr().

112 {
113  const InitialState & init = *interaction.fInitialState;
114  const ProcessInfo & proc = *interaction.fProcInfo;
115  const Kinematics & kine = *interaction.fKinematics;
116  const XclsTag & xcls = *interaction.fExclusiveTag;
117 
118  fInitialState -> Copy (init);
119  fProcInfo -> Copy (proc);
120  fKinematics -> Copy (kine);
121  fExclusiveTag -> Copy (xcls);
122 }
InitialState * fInitialState
Initial State info.
Definition: Interaction.h:173
Generated/set kinematical variables for an event.
Definition: Kinematics.h:40
XclsTag * fExclusiveTag
Additional info for exclusive channels.
Definition: Interaction.h:176
Contains minimal information for tagging exclusive processes.
Definition: XclsTag.h:37
A class encapsulating an enumeration of interaction types (EM, Weak-CC, Weak-NC) and scattering types...
Definition: ProcessInfo.h:44
void Copy(const Interaction &i)
Kinematics * fKinematics
kinematical variables
Definition: Interaction.h:175
ProcessInfo * fProcInfo
Process info (scattering, weak current,...)
Definition: Interaction.h:174
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::Create ( int  tgt,
int  probe,
ScatteringType_t  st,
InteractionType_t  it 
)
staticprivate

Definition at line 304 of file Interaction.cxx.

References Interaction().

Referenced by AMNuGamma(), ASK(), COHCC(), COHEl(), COHNC(), DFRCC(), DISCC(), DISEM(), DISNC(), DMDI(), DME(), GLR(), IBD(), IMD(), MECCC(), MECEM(), MECNC(), NDecay(), NOsc(), PhaseSpacePtr(), QELCC(), QELEM(), QELNC(), RESCC(), RESEM(), and RESNC().

306 {
307  InitialState init_state (target, probe);
308  ProcessInfo proc_info (st, it);
309 
310  Interaction * interaction = new Interaction(init_state, proc_info);
311  return interaction;
312 }
const XML_Char * target
Definition: expat.h:268
set< int >::iterator it
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:44
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::DFRCC ( int  tgt,
int  nuc,
int  probe,
double  E = 0 
)
static

Definition at line 639 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakCC, genie::kScDiffractive, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeE(), and genie::InitialState::TgtPtr().

Referenced by PhaseSpacePtr().

640 {
641  Interaction * interaction =
643 
644  InitialState * init_state = interaction->InitStatePtr();
645  init_state->SetProbeE(E);
646  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
647 
648  return interaction;
649 }
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
Float_t E
Definition: plot.C:20
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::DFRCC ( int  tgt,
int  nuc,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 651 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakCC, genie::kScDiffractive, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeP4(), and genie::InitialState::TgtPtr().

653 {
654  Interaction * interaction =
656 
657  InitialState * init_state = interaction->InitStatePtr();
658  init_state->SetProbeP4(p4probe);
659  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
660 
661  return interaction;
662 }
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::DISCC ( int  tgt,
int  nuc,
int  probe,
double  E = 0 
)
static

Definition at line 314 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakCC, genie::kScDeepInelastic, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeE(), and genie::InitialState::TgtPtr().

Referenced by BuildStdNtuple(), DISCC(), GetCrossSection(), main(), PhaseSpacePtr(), and VerticalSlice().

315 {
316  Interaction * interaction =
318 
319  InitialState * init_state = interaction->InitStatePtr();
320  init_state->SetProbeE(E);
321  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
322 
323  return interaction;
324 }
const XML_Char * target
Definition: expat.h:268
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
Float_t E
Definition: plot.C:20
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::DISCC ( int  tgt,
int  nuc,
int  qrk,
bool  sea,
int  probe,
double  E = 0 
)
static

Definition at line 326 of file Interaction.cxx.

References DISCC(), InitStatePtr(), and genie::InitialState::TgtPtr().

328 {
329  Interaction* interaction = Interaction::DISCC(target,hitnuc,probe,E);
330 
331  Target * tgt = interaction->InitStatePtr()->TgtPtr();
332  tgt -> SetHitQrkPdg (hitqrk);
333  tgt -> SetHitSeaQrk (fromsea);
334 
335  return interaction;
336 }
const XML_Char * target
Definition: expat.h:268
Summary information for an interaction.
Definition: Interaction.h:56
Float_t E
Definition: plot.C:20
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
Definition: Target.h:41
static Interaction * DISCC(int tgt, int nuc, int probe, double E=0)
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
Interaction * Interaction::DISCC ( int  tgt,
int  nuc,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 338 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakCC, genie::kScDeepInelastic, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeP4(), and genie::InitialState::TgtPtr().

340 {
341  Interaction * interaction =
343 
344  InitialState * init_state = interaction->InitStatePtr();
345  init_state->SetProbeP4(p4probe);
346  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
347 
348  return interaction;
349 }
const XML_Char * target
Definition: expat.h:268
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::DISCC ( int  tgt,
int  nuc,
int  qrk,
bool  sea,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 351 of file Interaction.cxx.

References DISCC(), InitStatePtr(), and genie::InitialState::TgtPtr().

354 {
355  Interaction* interaction = Interaction::DISCC(target,hitnuc,probe,p4probe);
356 
357  Target * tgt = interaction->InitStatePtr()->TgtPtr();
358  tgt -> SetHitQrkPdg (hitqrk);
359  tgt -> SetHitSeaQrk (fromsea);
360 
361  return interaction;
362 }
const XML_Char * target
Definition: expat.h:268
Summary information for an interaction.
Definition: Interaction.h:56
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
Definition: Target.h:41
static Interaction * DISCC(int tgt, int nuc, int probe, double E=0)
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
Interaction * Interaction::DISEM ( int  tgt,
int  nuc,
int  probe,
double  E = 0 
)
static

Definition at line 414 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntEM, genie::kScDeepInelastic, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeE(), and genie::InitialState::TgtPtr().

Referenced by DISEM(), and PhaseSpacePtr().

415 {
416  Interaction * interaction =
418 
419  InitialState * init_state = interaction->InitStatePtr();
420  init_state->SetProbeE(E);
421  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
422 
423  return interaction;
424 }
const XML_Char * target
Definition: expat.h:268
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
Float_t E
Definition: plot.C:20
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::DISEM ( int  tgt,
int  nuc,
int  qrk,
bool  sea,
int  probe,
double  E = 0 
)
static

Definition at line 426 of file Interaction.cxx.

References DISEM(), InitStatePtr(), and genie::InitialState::TgtPtr().

428 {
429  Interaction* interaction = Interaction::DISEM(target,hitnuc,probe,E);
430 
431  Target * tgt = interaction->InitStatePtr()->TgtPtr();
432  tgt -> SetHitQrkPdg (hitqrk);
433  tgt -> SetHitSeaQrk (fromsea);
434 
435  return interaction;
436 }
const XML_Char * target
Definition: expat.h:268
Summary information for an interaction.
Definition: Interaction.h:56
Float_t E
Definition: plot.C:20
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
Definition: Target.h:41
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * DISEM(int tgt, int nuc, int probe, double E=0)
Interaction * Interaction::DISEM ( int  tgt,
int  nuc,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 438 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntEM, genie::kScDeepInelastic, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeP4(), and genie::InitialState::TgtPtr().

440 {
441  Interaction * interaction =
443 
444  InitialState * init_state = interaction->InitStatePtr();
445  init_state->SetProbeP4(p4probe);
446  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
447 
448  return interaction;
449 }
const XML_Char * target
Definition: expat.h:268
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::DISEM ( int  tgt,
int  nuc,
int  qrk,
bool  sea,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 451 of file Interaction.cxx.

References DISEM(), InitStatePtr(), and genie::InitialState::TgtPtr().

454 {
455  Interaction * interaction = Interaction::DISEM(target,hitnuc,probe,p4probe);
456 
457  Target * tgt = interaction->InitStatePtr()->TgtPtr();
458  tgt -> SetHitQrkPdg (hitqrk);
459  tgt -> SetHitSeaQrk (fromsea);
460 
461  return interaction;
462 }
const XML_Char * target
Definition: expat.h:268
Summary information for an interaction.
Definition: Interaction.h:56
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
Definition: Target.h:41
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * DISEM(int tgt, int nuc, int probe, double E=0)
Interaction * Interaction::DISNC ( int  tgt,
int  nuc,
int  probe,
double  E = 0 
)
static

Definition at line 364 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakNC, genie::kScDeepInelastic, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeE(), and genie::InitialState::TgtPtr().

Referenced by DISNC(), and PhaseSpacePtr().

365 {
366  Interaction * interaction =
368 
369  InitialState * init_state = interaction->InitStatePtr();
370  init_state->SetProbeE(E);
371  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
372 
373  return interaction;
374 }
const XML_Char * target
Definition: expat.h:268
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
Float_t E
Definition: plot.C:20
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::DISNC ( int  tgt,
int  nuc,
int  qrk,
bool  sea,
int  probe,
double  E = 0 
)
static

Definition at line 376 of file Interaction.cxx.

References DISNC(), InitStatePtr(), and genie::InitialState::TgtPtr().

378 {
379  Interaction* interaction = Interaction::DISNC(target,hitnuc,probe,E);
380 
381  Target * tgt = interaction->InitStatePtr()->TgtPtr();
382  tgt -> SetHitQrkPdg (hitqrk);
383  tgt -> SetHitSeaQrk (fromsea);
384 
385  return interaction;
386 }
const XML_Char * target
Definition: expat.h:268
Summary information for an interaction.
Definition: Interaction.h:56
Float_t E
Definition: plot.C:20
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
Definition: Target.h:41
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * DISNC(int tgt, int nuc, int probe, double E=0)
Interaction * Interaction::DISNC ( int  tgt,
int  nuc,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 388 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakNC, genie::kScDeepInelastic, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeP4(), and genie::InitialState::TgtPtr().

390 {
391  Interaction * interaction =
393 
394  InitialState * init_state = interaction->InitStatePtr();
395  init_state->SetProbeP4(p4probe);
396  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
397 
398  return interaction;
399 }
const XML_Char * target
Definition: expat.h:268
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::DISNC ( int  tgt,
int  nuc,
int  qrk,
bool  sea,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 401 of file Interaction.cxx.

References DISNC(), InitStatePtr(), and genie::InitialState::TgtPtr().

404 {
405  Interaction * interaction = Interaction::DISNC(target,hitnuc,probe,p4probe);
406 
407  Target * tgt = interaction->InitStatePtr()->TgtPtr();
408  tgt -> SetHitQrkPdg (hitqrk);
409  tgt -> SetHitSeaQrk (fromsea);
410 
411  return interaction;
412 }
const XML_Char * target
Definition: expat.h:268
Summary information for an interaction.
Definition: Interaction.h:56
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
Definition: Target.h:41
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * DISNC(int tgt, int nuc, int probe, double E=0)
Interaction * Interaction::DMDI ( int  tgt,
int  nuc,
int  probe,
double  E = 0 
)
static

Definition at line 973 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntDarkMatter, genie::kScDarkMatterDeepInelastic, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeE(), and genie::InitialState::TgtPtr().

Referenced by DMDI(), and PhaseSpacePtr().

974 {
975  Interaction * interaction =
977 
978  InitialState * init_state = interaction->InitStatePtr();
979  init_state->SetProbeE(E);
980  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
981 
982  return interaction;
983 }
const XML_Char * target
Definition: expat.h:268
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
Float_t E
Definition: plot.C:20
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::DMDI ( int  tgt,
int  nuc,
int  qrk,
bool  sea,
int  probe,
double  E = 0 
)
static

Definition at line 985 of file Interaction.cxx.

References DMDI(), InitStatePtr(), and genie::InitialState::TgtPtr().

987 {
988  Interaction* interaction = Interaction::DMDI(target,hitnuc,probe,E);
989 
990  Target * tgt = interaction->InitStatePtr()->TgtPtr();
991  tgt -> SetHitQrkPdg (hitqrk);
992  tgt -> SetHitSeaQrk (fromsea);
993 
994  return interaction;
995 }
const XML_Char * target
Definition: expat.h:268
Summary information for an interaction.
Definition: Interaction.h:56
static Interaction * DMDI(int tgt, int nuc, int probe, double E=0)
Float_t E
Definition: plot.C:20
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
Definition: Target.h:41
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
Interaction * Interaction::DMDI ( int  tgt,
int  nuc,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 997 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntDarkMatter, genie::kScDarkMatterDeepInelastic, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeP4(), and genie::InitialState::TgtPtr().

999 {
1000  Interaction * interaction =
1002 
1003  InitialState * init_state = interaction->InitStatePtr();
1004  init_state->SetProbeP4(p4probe);
1005  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
1006 
1007  return interaction;
1008 }
const XML_Char * target
Definition: expat.h:268
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::DMDI ( int  tgt,
int  nuc,
int  qrk,
bool  sea,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 1010 of file Interaction.cxx.

References DMDI(), InitStatePtr(), and genie::InitialState::TgtPtr().

1013 {
1014  Interaction * interaction = Interaction::DMDI(target,hitnuc,probe,p4probe);
1015 
1016  Target * tgt = interaction->InitStatePtr()->TgtPtr();
1017  tgt -> SetHitQrkPdg (hitqrk);
1018  tgt -> SetHitSeaQrk (fromsea);
1019 
1020  return interaction;
1021 }
const XML_Char * target
Definition: expat.h:268
Summary information for an interaction.
Definition: Interaction.h:56
static Interaction * DMDI(int tgt, int nuc, int probe, double E=0)
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
Definition: Target.h:41
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
Interaction * Interaction::DME ( int  tgt,
int  nuc,
int  probe,
double  E = 0 
)
static

Definition at line 946 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntDarkMatter, genie::kScDarkMatterElastic, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeE(), and genie::InitialState::TgtPtr().

Referenced by PhaseSpacePtr().

947 {
948  // EDIT: need to be able to create dark matter elastic
949  Interaction * interaction =
951 
952  InitialState * init_state = interaction->InitStatePtr();
953  init_state->SetProbeE(E);
954  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
955 
956  return interaction;
957 }
const XML_Char * target
Definition: expat.h:268
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
Float_t E
Definition: plot.C:20
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::DME ( int  tgt,
int  nuc,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 959 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntDarkMatter, genie::kScDarkMatterElastic, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeP4(), and genie::InitialState::TgtPtr().

961 {
962  // EDIT: need to be able to create dark matter elastic
963  Interaction * interaction =
965 
966  InitialState * init_state = interaction->InitStatePtr();
967  init_state->SetProbeP4(p4probe);
968  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
969 
970  return interaction;
971 }
const XML_Char * target
Definition: expat.h:268
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
const XclsTag& genie::Interaction::ExclTag ( void  ) const
inline

Definition at line 72 of file Interaction.h.

References fExclusiveTag.

Referenced by genie::QELHadronicSystemGenerator::AddRecoilBaryon(), genie::RSPPResonanceSelector::AddResonance(), genie::PythiaHadronization::AssertValidity(), genie::KNOHadronization::AssertValidity(), genie::SKHadronicSystemGenerator::CalculateHadronicSystem_AtharSingleKaon(), genie::COHHadronicSystemGenerator::CalculateHadronicSystem_BergerSehgalFM(), genie::COHHadronicSystemGenerator::CalculateHadronicSystem_ReinSehgal(), genie::SKKinematicsGenerator::CalculateKin_AtharSingleKaon(), genie::RESKinematicsGenerator::ComputeMaxXSec(), genie::SKKinematicsGenerator::ComputeMaxXSec(), ConvertToGST(), genie::utils::gsl::d2XSecRESFast_dWQ2_E::d2XSecRESFast_dWQ2_E(), genie::SppChannel::FromInteraction(), genie::NNBarOscPrimaryVtxGenerator::GenerateDecayProducts(), genie::RESHadronicSystemGenerator::GetResonancePdgCode(), genie::AlamSimoAtharVacasSKXSec::Integrate(), genie::ReinSehgalRESXSec::Integrate(), genie::ReinSehgalRESXSecFast::Integrate(), main(), genie::PaisQELLambdaPXSec::MHyperon(), genie::KovalenkoQELCharmPXSec::MRes(), genie::utils::ghep::NeutReactionCode(), genie::DFRHadronicSystemGenerator::ProcessEventRecord(), genie::QELKinematicsGenerator::ProcessEventRecord(), genie::RESKinematicsGenerator::ProcessEventRecord(), genie::DMELKinematicsGenerator::ProcessEventRecord(), genie::NucleonDecayPrimaryVtxGenerator::ProcessEventRecord(), genie::QELEventGenerator::ProcessEventRecord(), genie::NNBarOscPrimaryVtxGenerator::ProcessEventRecord(), genie::KPhaseSpace::Q2Lim(), genie::KovalenkoQELCharmPXSec::ResDM(), SaveGraphsToRootFile(), SaveToPsFile(), genie::QELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::DMELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::LwlynSmithFF::StrangeF1V(), genie::LwlynSmithFF::StrangeFA(), genie::LwlynSmithFF::StrangexiF2V(), genie::KPhaseSpace::Threshold(), genie::SlowRsclCharmDISPXSecLO::ValidProcess(), genie::AivazisCharmPXSecLO::ValidProcess(), genie::PaisQELLambdaPXSec::ValidProcess(), genie::KovalenkoQELCharmPXSec::ValidProcess(), genie::ReinSehgalRESPXSec::ValidProcess(), genie::BSKLNBaseRESPXSec2014::ValidProcess(), genie::KPhaseSpace::WLim(), genie::NievesSimoVacasMECPXSec2016::XSec(), genie::ReinSehgalRESPXSec::XSec(), genie::BSKLNBaseRESPXSec2014::XSec(), genie::ReinSehgalSPPPXSec::XSec(), and genie::KovalenkoQELCharmPXSec::ZR().

72 { return *fExclusiveTag; }
XclsTag * fExclusiveTag
Additional info for exclusive channels.
Definition: Interaction.h:176
XclsTag* genie::Interaction::ExclTagPtr ( void  ) const
inline
TParticlePDG * Interaction::FSPrimLepton ( void  ) const

final state primary lepton

Definition at line 124 of file Interaction.cxx.

References genie::PDGLibrary::Find(), FSPrimLeptonPdg(), and genie::PDGLibrary::Instance().

Referenced by genie::MECGenerator::AddFinalStateLepton(), genie::PrimaryLeptonGenerator::AddToEventRecord(), genie::OutgoingDarkGenerator::AddToEventRecord(), genie::COHKinematicsGenerator::CalculateKin_AlvarezRuso(), genie::COHPrimaryLeptonGenerator::CalculatePrimaryLepton_AlvarezRuso(), genie::COHKinematicsGenerator::CheckKinematics(), genie::NievesQELCCPXSec::CompareNievesTensors(), genie::utils::ComputeFullQELPXSec(), genie::utils::CosTheta0Max(), genie::SmithMonizQELCCPXSec::d2sQES_dQ2dv_SM(), genie::utils::gsl::d5XSecAR::DoEval(), genie::utils::gsl::d5Xsec_dEldOmegaldOmegapi::DoEval(), genie::utils::gsl::d4Xsec_dEldThetaldOmegapi::DoEval(), genie::utils::gsl::d3Xsec_dOmegaldThetapi::DoEval(), genie::SmithMonizQELCCPXSec::dsQES_dQ2_SM(), genie::CharmHadronization::Hadronize(), genie::HadronicSystemGenerator::HadronShowerCharge(), genie::KNOHadronization::HadronShowerCharge(), genie::MECXSec::Integrate(), genie::COHKinematicsGenerator::MaxXSec_AlvarezRuso(), PhaseSpacePtr(), genie::NuEPrimaryLeptonGenerator::ProcessEventRecord(), genie::PrimaryLeptonGenerator::ProcessEventRecord(), genie::OutgoingDarkGenerator::ProcessEventRecord(), genie::KPhaseSpace::Q2Lim(), genie::KPhaseSpace::Q2Lim_W(), genie::MECGenerator::SelectNSVLeptonKinematics(), genie::SmithMonizUtils::SetInteraction(), genie::COHKinematicsGenerator::SetKinematics(), genie::DMELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::utils::mec::TensorContraction(), genie::KPhaseSpace::Threshold(), genie::PaisQELLambdaPXSec::ValidKinematics(), genie::KovalenkoQELCharmPXSec::ValidKinematics(), genie::KPhaseSpace::WLim(), genie::KPhaseSpace::XLim(), genie::EmpiricalMECPXSec2015::XSec(), genie::QPMDISPXSec::XSec(), genie::BergerSehgalFMCOHPiPXSec2015::XSec(), genie::QPMDMDISPXSec::XSec(), genie::LwlynSmithQELCCPXSec::XSec(), genie::BergerSehgalCOHPiPXSec2015::XSec(), genie::PaisQELLambdaPXSec::XSec(), genie::NievesSimoVacasMECPXSec2016::XSec(), genie::ReinSehgalCOHPiPXSec::XSec(), genie::BSKLNBaseRESPXSec2014::XSec(), genie::NievesQELCCPXSec::XSec(), genie::KPhaseSpace::YLim(), and genie::KPhaseSpace::YLim_X().

125 {
126  int pdgc = this->FSPrimLeptonPdg();
127 
128  if(pdgc) return PDGLibrary::Instance()->Find(pdgc);
129  else return 0;
130 }
int FSPrimLeptonPdg(void) const
final state primary lepton pdg
static PDGLibrary * Instance(void)
Definition: PDGLibrary.cxx:43
TParticlePDG * Find(int pdgc)
Definition: PDGLibrary.cxx:61
int Interaction::FSPrimLeptonPdg ( void  ) const

final state primary lepton pdg

Definition at line 132 of file Interaction.cxx.

References InitState(), genie::ProcessInfo::IsDarkMatter(), genie::ProcessInfo::IsEM(), genie::ProcessInfo::IsIMDAnnihilation(), genie::ProcessInfo::IsNuElectronElastic(), genie::ProcessInfo::IsWeakCC(), genie::ProcessInfo::IsWeakMix(), genie::ProcessInfo::IsWeakNC(), genie::kPdgElectron, genie::kPdgMuon, LOG, genie::pdg::Neutrino2ChargedLepton(), pDEBUG, genie::InitialState::ProbePdg(), ProcInfo(), and pWARN.

Referenced by genie::SKKinematicsGenerator::CalculateKin_AtharSingleKaon(), genie::SKKinematicsGenerator::ComputeMaxXSec(), FSPrimLepton(), genie::AlamSimoAtharVacasSKXSec::Integrate(), PhaseSpacePtr(), genie::NuEPrimaryLeptonGenerator::ProcessEventRecord(), genie::QELEventGenerator::ProcessEventRecord(), genie::QELEventGeneratorSM::ProcessEventRecord(), and genie::AlamSimoAtharVacasSKPXSec2014::XSec().

133 {
134  const ProcessInfo & proc_info = this -> ProcInfo();
135  const InitialState & init_state = this -> InitState();
136 
137  int pdgc = init_state.ProbePdg();
138 
139  LOG("Interaction", pDEBUG) << "Probe PDG code: " << pdgc;
140 
141  if (proc_info.IsNuElectronElastic())
142  return kPdgElectron;
143 
144  // vN (Weak-NC) or eN (EM)
145  if (proc_info.IsWeakNC() || proc_info.IsEM() || proc_info.IsWeakMix() || proc_info.IsDarkMatter()) return pdgc; // EDIT: DM does not change in FS
146 
147  // vN (Weak-CC)
148  else if (proc_info.IsWeakCC()) {
149  int clpdgc;
150  if (proc_info.IsIMDAnnihilation())
151  clpdgc = kPdgMuon;
152  else
153  clpdgc = pdg::Neutrino2ChargedLepton(pdgc);
154  return clpdgc;
155  }
156 
157  LOG("Interaction", pWARN)
158  << "Could not figure out the final state primary lepton pdg code!!";
159 
160  return 0;
161 }
bool IsWeakMix(void) const
bool IsWeakCC(void) const
bool IsIMDAnnihilation(void) const
const int kPdgElectron
Definition: PDGCodes.h:35
bool IsWeakNC(void) const
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:97
bool IsNuElectronElastic(void) const
A class encapsulating an enumeration of interaction types (EM, Weak-CC, Weak-NC) and scattering types...
Definition: ProcessInfo.h:44
int ProbePdg(void) const
Definition: InitialState.h:65
#define pWARN
Definition: Messenger.h:61
bool IsEM(void) const
bool IsDarkMatter(void) const
int Neutrino2ChargedLepton(int pdgc)
Definition: PDGUtils.cxx:210
const InitialState & InitState(void) const
Definition: Interaction.h:69
const ProcessInfo & ProcInfo(void) const
Definition: Interaction.h:70
const int kPdgMuon
Definition: PDGCodes.h:37
Initial State information.
Definition: InitialState.h:49
#define pDEBUG
Definition: Messenger.h:64
Interaction * Interaction::GLR ( int  tgt,
double  E = 0 
)
static

Definition at line 879 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakCC, genie::kPdgAntiNuE, genie::kScGlashowResonance, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeE(), and genie::InitialState::TgtPtr().

Referenced by genie::GLRESInteractionListGenerator::CreateInteractionList(), and PhaseSpacePtr().

880 {
881  Interaction * interaction =
883 
884  InitialState * init_state = interaction->InitStatePtr();
885  init_state->SetProbeE(E);
886  init_state->TgtPtr()->SetHitNucPdg(0);
887 
888  return interaction;
889 }
const int kPdgAntiNuE
Definition: PDGCodes.h:29
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
Float_t E
Definition: plot.C:20
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::GLR ( int  tgt,
const TLorentzVector &  p4probe 
)
static

Definition at line 891 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakCC, genie::kPdgAntiNuE, genie::kScGlashowResonance, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeP4(), and genie::InitialState::TgtPtr().

892 {
893  Interaction * interaction =
895 
896  InitialState * init_state = interaction->InitStatePtr();
897  init_state->SetProbeP4(p4probe);
898  init_state->TgtPtr()->SetHitNucPdg(0);
899 
900  return interaction;
901 }
void SetProbeP4(const TLorentzVector &P4)
const int kPdgAntiNuE
Definition: PDGCodes.h:29
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::IBD ( int  tgt,
int  nuc,
int  probe,
double  E = 0 
)
static

Definition at line 539 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakCC, genie::kScInverseBetaDecay, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeE(), and genie::InitialState::TgtPtr().

Referenced by genie::IBDInteractionListGenerator::CreateInteractionList(), and PhaseSpacePtr().

540 {
541  Interaction * interaction =
543 
544  InitialState * init_state = interaction->InitStatePtr();
545  init_state->SetProbeE(E);
546  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
547 
548  return interaction;
549 }
const XML_Char * target
Definition: expat.h:268
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
Float_t E
Definition: plot.C:20
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::IBD ( int  tgt,
int  nuc,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 551 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakCC, genie::kScInverseBetaDecay, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeP4(), and genie::InitialState::TgtPtr().

553 {
554  Interaction * interaction =
556 
557  InitialState * init_state = interaction->InitStatePtr();
558  init_state->SetProbeP4(p4probe);
559  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
560 
561  return interaction;
562 }
const XML_Char * target
Definition: expat.h:268
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::IMD ( int  tgt,
double  E = 0 
)
static

Definition at line 733 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakCC, genie::kPdgNuMu, genie::kScInverseMuDecay, and genie::InitialState::SetProbeE().

Referenced by PhaseSpacePtr().

734 {
735  Interaction * interaction =
737 
738  InitialState * init_state = interaction->InitStatePtr();
739  init_state->SetProbeE(E);
740 
741  return interaction;
742 }
const XML_Char * target
Definition: expat.h:268
const int kPdgNuMu
Definition: PDGCodes.h:30
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
Float_t E
Definition: plot.C:20
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::IMD ( int  tgt,
const TLorentzVector &  p4probe 
)
static

Definition at line 744 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakCC, genie::kPdgNuMu, genie::kScInverseMuDecay, and genie::InitialState::SetProbeP4().

745 {
746  Interaction * interaction =
748 
749  InitialState * init_state = interaction->InitStatePtr();
750  init_state->SetProbeP4(p4probe);
751 
752  return interaction;
753 }
const XML_Char * target
Definition: expat.h:268
void SetProbeP4(const TLorentzVector &P4)
const int kPdgNuMu
Definition: PDGCodes.h:30
Summary information for an interaction.
Definition: Interaction.h:56
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
void Interaction::Init ( void  )
private

Definition at line 87 of file Interaction.cxx.

References fExclusiveTag, fInitialState, fKinematics, fKinePhSp, and fProcInfo.

Referenced by Interaction(), PhaseSpacePtr(), and Reset().

88 {
89  fInitialState = new InitialState ();
90  fProcInfo = new ProcessInfo ();
91  fKinematics = new Kinematics ();
92  fExclusiveTag = new XclsTag ();
93  fKinePhSp = new KPhaseSpace (this);
94 }
InitialState * fInitialState
Initial State info.
Definition: Interaction.h:173
Generated/set kinematical variables for an event.
Definition: Kinematics.h:40
XclsTag * fExclusiveTag
Additional info for exclusive channels.
Definition: Interaction.h:176
Contains minimal information for tagging exclusive processes.
Definition: XclsTag.h:37
A class encapsulating an enumeration of interaction types (EM, Weak-CC, Weak-NC) and scattering types...
Definition: ProcessInfo.h:44
Kinematical phase space.
Definition: KPhaseSpace.h:34
Kinematics * fKinematics
kinematical variables
Definition: Interaction.h:175
ProcessInfo * fProcInfo
Process info (scattering, weak current,...)
Definition: Interaction.h:174
KPhaseSpace * fKinePhSp
Kinematic phase space.
Definition: Interaction.h:177
Initial State information.
Definition: InitialState.h:49
const InitialState& genie::Interaction::InitState ( void  ) const
inline

Definition at line 69 of file Interaction.h.

References fInitialState.

Referenced by genie::NuETargetRemnantGenerator::AddElectronNeutrino(), genie::MECGenerator::AddFinalStateLepton(), genie::DISHadronicSystemGenerator::AddFragmentationProducts(), genie::InitialStateAppender::AddNeutrino(), genie::InitialStateAppender::AddNucleus(), genie::QELHadronicSystemGenerator::AddRecoilBaryon(), genie::IBDHadronicSystemGenerator::AddRecoilBaryon(), genie::RSPPHadronicSystemGenerator::AddResonanceDecayProducts(), genie::InitialStateAppender::AddStruckParticle(), genie::NuETargetRemnantGenerator::AddTargetNucleusRemnant(), genie::HadronizationModelBase::ApplyRijk(), genie::PythiaHadronization::AssertValidity(), genie::utils::BindHitNucleon(), genie::ReinSehgalRESXSecWithCache::CacheResExcitationXSec(), genie::ReinSehgalRESXSecWithCacheFast::CacheResExcitationXSec(), genie::QPMDISStrucFuncBase::CalcPDFs(), genie::QPMDISStrucFuncBase::Calculate(), genie::SKHadronicSystemGenerator::CalculateHadronicSystem_AtharSingleKaon(), genie::SKKinematicsGenerator::CalculateKin_AtharSingleKaon(), genie::COHKinematicsGenerator::CalculateKin_BergerSehgal(), genie::COHKinematicsGenerator::CalculateKin_ReinSehgal(), genie::utils::ComputeFullQELPXSec(), genie::DISKinematicsGenerator::ComputeMaxXSec(), genie::SKKinematicsGenerator::ComputeMaxXSec(), genie::DMDISKinematicsGenerator::ComputeMaxXSec(), genie::QELEventGenerator::ComputeMaxXSec(), novarwgt::ConvertGenieEvent(), ConvertToGHad(), ConvertToGST(), ConvertToGTracker(), genie::utils::CosTheta0Max(), genie::QPMDISPXSec::DISRESJoinSuppressionFactor(), genie::QPMDMDISPXSec::DMDISRESJoinSuppressionFactor(), genie::utils::gsl::d3Xsec_dTldTkdCosThetal::DoEval(), genie::utils::gsl::d2XSec_dWdQ2_E::DoEval(), genie::NuEKinematicsGenerator::Energy(), genie::COHElKinematicsGenerator::Energy(), genie::SKKinematicsGenerator::Energy(), genie::KineGeneratorWithCache::Energy(), genie::COHKinematicsGenerator::Energy(), genie::KuzminNaumov2016AxialFormFactorModel::FA(), genie::LwlynSmithFFNC::Fp(), genie::LwlynSmithFF::Fp(), genie::SppChannel::FromInteraction(), FSPrimLeptonPdg(), genie::BBA03ELFormFactorsModel::Gen(), GenerateEvent(), genie::DISInteractionListGenerator::GetHitQuarks(), genie::TransverseEnhancementFFModel::GetTransEnhMagFF(), genie::PythiaHadronization::Hadronize(), genie::HadronicSystemGenerator::HadronShowerCharge(), genie::KNOHadronization::HadronShowerCharge(), genie::IBDXSecMap::Integral(), genie::GLRESPXSec::Integral(), genie::EmpiricalMECPXSec2015::Integral(), genie::LwlynSmithQELCCPXSec::Integral(), genie::DISXSec::Integrate(), genie::COHXSec::Integrate(), genie::DMDISXSec::Integrate(), genie::MECXSec::Integrate(), genie::SmithMonizQELCCXSec::Integrate(), genie::ReinSehgalRESXSec::Integrate(), genie::ReinSehgalRESXSecFast::Integrate(), genie::ReinSehgalSPPXSec::Integrate(), genie::NewQELXSec::Integrate(), genie::KPhaseSpace::IsAboveThreshold(), genie::utils::kinematics::Jacobian(), main(), supernova::SnovaGen::MakeMCTruth(), genie::COHKinematicsGenerator::MaxXSec_AlvarezRuso(), genie::COHKinematicsGenerator::MaxXSec_ReinSehgal(), genie::KNOHadronization::MultiplicityProb(), genie::utils::ghep::NeutReactionCode(), genie::utils::ghep::NuanceReactionCode(), genie::QPMDISStrucFuncBase::NuclMod(), genie::utils::nuclear::NuclQELXSecSuppression(), genie::PrimaryLeptonGenerator::NucRestFrame2Lab(), genie::OutgoingDarkGenerator::NucRestFrame2Lab(), genie::utils::kinematics::PhaseSpaceVolume(), genie::DFRHadronicSystemGenerator::ProcessEventRecord(), genie::NuEPrimaryLeptonGenerator::ProcessEventRecord(), genie::DFRKinematicsGenerator::ProcessEventRecord(), genie::COHElKinematicsGenerator::ProcessEventRecord(), genie::QELKinematicsGenerator::ProcessEventRecord(), genie::FermiMover::ProcessEventRecord(), genie::IBDKinematicsGenerator::ProcessEventRecord(), genie::NucleonDecayPrimaryVtxGenerator::ProcessEventRecord(), genie::DMELKinematicsGenerator::ProcessEventRecord(), genie::DISKinematicsGenerator::ProcessEventRecord(), genie::QELEventGenerator::ProcessEventRecord(), genie::DMDISKinematicsGenerator::ProcessEventRecord(), genie::NNBarOscPrimaryVtxGenerator::ProcessEventRecord(), genie::PauliBlocker::ProcessEventRecord(), genie::QELEventGeneratorSM::ProcessEventRecord(), genie::QPMDISStrucFuncBase::Q2(), genie::utils::kinematics::Q2(), genie::KPhaseSpace::Q2Lim(), genie::KPhaseSpace::Q2Lim_W(), SaveGraphsToRootFile(), genie::MECGenerator::SelectEmpiricalKinematics(), genie::PhysInteractionSelector::SelectInteraction(), genie::MECGenerator::SelectNSVLeptonKinematics(), genie::SmithMonizUtils::SetInteraction(), genie::QELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::DMELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::BBA05ELFormFactorsModel::tau(), genie::LwlynSmithFF::tau(), genie::utils::mec::TensorContraction(), genie::KPhaseSpace::Threshold(), genie::KPhaseSpace::TLim(), genie::utils::kinematics::UpdateWQ2FromXY(), genie::utils::kinematics::UpdateXFromQ2Y(), genie::utils::kinematics::UpdateXYFromWQ2(), genie::IBDXSecMap::ValidKinematics(), genie::PaisQELLambdaPXSec::ValidKinematics(), genie::KovalenkoQELCharmPXSec::ValidKinematics(), genie::IBDXSecMap::ValidProcess(), genie::GLRESPXSec::ValidProcess(), genie::COHElasticPXSec::ValidProcess(), genie::SlowRsclCharmDISPXSecLO::ValidProcess(), genie::RosenbluthPXSec::ValidProcess(), genie::AlvarezRusoCOHPiPXSec::ValidProcess(), genie::AivazisCharmPXSecLO::ValidProcess(), genie::BergerSehgalFMCOHPiPXSec2015::ValidProcess(), genie::LwlynSmithQELCCPXSec::ValidProcess(), genie::BergerSehgalCOHPiPXSec2015::ValidProcess(), genie::PaisQELLambdaPXSec::ValidProcess(), genie::ReinSehgalCOHPiPXSec::ValidProcess(), genie::KovalenkoQELCharmPXSec::ValidProcess(), genie::ReinSehgalRESPXSec::ValidProcess(), genie::SmithMonizQELCCPXSec::ValidProcess(), genie::BSKLNBaseRESPXSec2014::ValidProcess(), genie::NievesQELCCPXSec::ValidProcess(), genie::utils::kinematics::W(), genie::KPhaseSpace::WLim(), genie::KPhaseSpace::XLim(), genie::IBDXSecMap::XSec(), genie::EmpiricalMECPXSec2015::XSec(), genie::SlowRsclCharmDISPXSecLO::XSec(), genie::PaisQELLambdaPXSec::XSec(), genie::NievesSimoVacasMECPXSec2016::XSec(), genie::KovalenkoQELCharmPXSec::XSec(), genie::KPhaseSpace::YLim(), genie::KPhaseSpace::YLim_X(), and genie::KovalenkoQELCharmPXSec::ZR().

69 { return *fInitialState; }
InitialState * fInitialState
Initial State info.
Definition: Interaction.h:173
InitialState* genie::Interaction::InitStatePtr ( void  ) const
inline

Definition at line 74 of file Interaction.h.

References fInitialState.

Referenced by AMNuGamma(), ASK(), genie::DISXSec::CacheFreeNucleonXSec(), genie::DMDISXSec::CacheFreeNucleonXSec(), genie::ReinSehgalRESXSecWithCache::CacheResExcitationXSec(), genie::ReinSehgalRESXSecWithCacheFast::CacheResExcitationXSec(), genie::COHKinematicsGenerator::CalculateKin_AlvarezRuso(), genie::SKKinematicsGenerator::CalculateKin_AtharSingleKaon(), genie::COHKinematicsGenerator::CheckKinematics(), COHCC(), COHEl(), COHNC(), genie::DFRInteractionListGenerator::CreateInteractionList(), genie::RESInteractionListGenerator::CreateInteractionList(), genie::SKInteractionListGenerator::CreateInteractionList(), genie::RSPPInteractionListGenerator::CreateInteractionList(), genie::DISInteractionListGenerator::CreateInteractionList(), genie::DMDISInteractionListGenerator::CreateInteractionList(), genie::QELInteractionListGenerator::CreateInteractionListCC(), genie::QELInteractionListGenerator::CreateInteractionListCharmCC(), genie::DMELInteractionListGenerator::CreateInteractionListDM(), genie::QELInteractionListGenerator::CreateInteractionListNC(), genie::QELInteractionListGenerator::CreateInteractionListStrangeCC(), genie::XSecSplineList::CreateSpline(), DFRCC(), DISCC(), DISEM(), DISNC(), DMDI(), DME(), genie::utils::gsl::d5XSecAR::DoEval(), genie::utils::gsl::d5Xsec_dEldOmegaldOmegapi::DoEval(), genie::utils::gsl::d4Xsec_dEldThetaldOmegapi::DoEval(), genie::utils::gsl::d3Xsec_dOmegaldThetapi::DoEval(), genie::utils::EnergyDeltaFunctionSolutionQEL(), GLR(), IBD(), IMD(), genie::DISXSec::Integrate(), genie::DMDISXSec::Integrate(), genie::AlamSimoAtharVacasSKXSec::Integrate(), genie::ReinSehgalRESXSec::Integrate(), genie::ReinSehgalRESXSecFast::Integrate(), main(), MECCC(), MECEM(), MECNC(), NDecay(), genie::utils::nuclear::NuclQELXSecSuppression(), genie::QELKinematicsGenerator::ProcessEventRecord(), genie::DMELKinematicsGenerator::ProcessEventRecord(), genie::QELEventGenerator::ProcessEventRecord(), QELCC(), QELEM(), QELNC(), RESCC(), RESEM(), RESNC(), genie::PhysInteractionSelector::SelectInteraction(), genie::ToyInteractionSelector::SelectInteraction(), genie::MECGenerator::SelectNSVLeptonKinematics(), genie::COHKinematicsGenerator::SetKinematics(), genie::QELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::DMELKinematicsGenerator::SpectralFuncExperimentalCode(), testXsec(), genie::AlamSimoAtharVacasSKPXSec2014::XSec(), and genie::GEVGDriver::XSecSum().

74 { return fInitialState; }
InitialState * fInitialState
Initial State info.
Definition: Interaction.h:173
const Kinematics& genie::Interaction::Kine ( void  ) const
inline

Definition at line 71 of file Interaction.h.

References fKinematics.

Referenced by genie::MECGenerator::AddFinalStateLepton(), genie::QPMDISStrucFuncBase::Calculate(), genie::COHHadronicSystemGenerator::CalculateHadronicSystem_BergerSehgalFM(), genie::COHHadronicSystemGenerator::CalculateHadronicSystem_ReinSehgal(), genie::COHPrimaryLeptonGenerator::CalculatePrimaryLepton_AlvarezRuso(), ConvertToGHad(), ConvertToGST(), genie::QPMDISPXSec::DISRESJoinSuppressionFactor(), genie::QPMDMDISPXSec::DMDISRESJoinSuppressionFactor(), genie::KovalenkoQELCharmPXSec::DR(), genie::utils::EnergyDeltaFunctionSolutionQEL(), genie::DipoleAxialFormFactorModel::FA(), genie::KuzminNaumov2016AxialFormFactorModel::FA(), genie::LwlynSmithFFNC::Fp(), genie::LwlynSmithFF::Fp(), genie::BBA03ELFormFactorsModel::Gen(), genie::BBA07ELFormFactorsModel::Gen(), GenerateEvent(), genie::DipoleELFormFactorsModel::Gep(), genie::BBA03ELFormFactorsModel::Gep(), genie::BBA07ELFormFactorsModel::Gep(), genie::TransverseEnhancementFFModel::GetTransEnhMagFF(), genie::DipoleELFormFactorsModel::Gmn(), genie::BBA03ELFormFactorsModel::Gmn(), genie::BBA07ELFormFactorsModel::Gmn(), genie::DipoleELFormFactorsModel::Gmp(), genie::BBA03ELFormFactorsModel::Gmp(), genie::BBA07ELFormFactorsModel::Gmp(), genie::PythiaHadronization::Hadronize(), genie::KNOPythiaHadronization::Hadronize(), genie::KPhaseSpace::IsAllowed(), genie::utils::kinematics::Jacobian(), genie::HadronizationModelBase::MaxMult(), genie::PythiaHadronization::MultiplicityProb(), genie::utils::ghep::NeutReactionCode(), genie::QPMDISStrucFuncBase::NuclMod(), genie::utils::nuclear::NuclQELXSecSuppression(), genie::DFRHadronicSystemGenerator::ProcessEventRecord(), genie::NuEPrimaryLeptonGenerator::ProcessEventRecord(), genie::PrimaryLeptonGenerator::ProcessEventRecord(), genie::OutgoingDarkGenerator::ProcessEventRecord(), genie::QPMDISStrucFuncBase::Q2(), genie::utils::kinematics::Q2(), genie::QPMDISStrucFuncBase::R(), genie::BYStrucFunc::ScalingVar(), genie::QPMDISStrucFuncBase::ScalingVar(), genie::KNOPythiaHadronization::SelectHadronizer(), genie::BBA05ELFormFactorsModel::tau(), genie::LwlynSmithFF::tau(), genie::utils::mec::TensorContraction(), genie::KPhaseSpace::TLim(), genie::utils::kinematics::W(), genie::SlowRsclCharmDISPXSecLO::XSec(), genie::StrumiaVissaniIBDPXSec::XSec(), genie::PaisQELLambdaPXSec::XSec(), genie::NievesSimoVacasMECPXSec2016::XSec(), genie::KovalenkoQELCharmPXSec::XSec(), genie::BardinIMDRadCorPXSec::XSec(), genie::KPhaseSpace::YLim(), and genie::KPhaseSpace::YLim_X().

71 { return *fKinematics; }
Kinematics * fKinematics
kinematical variables
Definition: Interaction.h:175
Kinematics* genie::Interaction::KinePtr ( void  ) const
inline

Definition at line 76 of file Interaction.h.

References fKinematics.

Referenced by genie::BaryonResonanceDecayer::AcceptPionDecay(), genie::HadronicSystemGenerator::AddFinalHadronicSyst(), genie::DISHadronicSystemGenerator::AddFragmentationProducts(), genie::PrimaryLeptonGenerator::AddToEventRecord(), genie::OutgoingDarkGenerator::AddToEventRecord(), BuildStdNtuple(), CalculateFormFactor(), genie::SKHadronicSystemGenerator::CalculateHadronicSystem_AtharSingleKaon(), genie::COHKinematicsGenerator::CalculateKin_AlvarezRuso(), genie::SKKinematicsGenerator::CalculateKin_AtharSingleKaon(), genie::COHKinematicsGenerator::CalculateKin_BergerSehgal(), genie::COHKinematicsGenerator::CalculateKin_BergerSehgalFM(), genie::COHKinematicsGenerator::CalculateKin_ReinSehgal(), genie::NievesQELCCPXSec::CompareNievesTensors(), genie::utils::ComputeFullQELPXSec(), genie::DFRKinematicsGenerator::ComputeMaxXSec(), genie::RESKinematicsGenerator::ComputeMaxXSec(), genie::IBDKinematicsGenerator::ComputeMaxXSec(), genie::COHElKinematicsGenerator::ComputeMaxXSec(), genie::NuEKinematicsGenerator::ComputeMaxXSec(), genie::QELKinematicsGenerator::ComputeMaxXSec(), genie::DISKinematicsGenerator::ComputeMaxXSec(), genie::DMELKinematicsGenerator::ComputeMaxXSec(), genie::SKKinematicsGenerator::ComputeMaxXSec(), genie::DMDISKinematicsGenerator::ComputeMaxXSec(), genie::QELEventGeneratorSM::ComputeMaxXSec(), genie::QELEventGeneratorSM::ComputeMaxXSec2(), genie::QPMDISPXSec::DISRESJoinSuppressionFactor(), genie::QPMDMDISPXSec::DMDISRESJoinSuppressionFactor(), genie::utils::gsl::dXSec_dQ2_E::DoEval(), genie::utils::gsl::dXSec_dy_E::DoEval(), genie::utils::gsl::d3Xsec_dTldTkdCosThetal::DoEval(), genie::utils::gsl::d2Xsec_dTCosth::DoEval(), genie::utils::gsl::d2Xsec_dQ2dv::DoEval(), genie::utils::gsl::d2XSecRESFast_dWQ2_E::DoEval(), genie::utils::gsl::d2XSec_dxdy_E::DoEval(), genie::utils::gsl::d2XSec_dQ2dy_E::DoEval(), genie::utils::gsl::d2XSec_dQ2dydt_E::DoEval(), genie::utils::gsl::d3XSec_dxdydt_E::DoEval(), genie::utils::gsl::d2XSec_dWdQ2_E::DoEval(), genie::utils::gsl::d2XSec_dxdy_Ex::DoEval(), genie::utils::gsl::d2XSec_dxdy_Ey::DoEval(), genie::utils::gsl::d2XSec_dWdQ2_EW::DoEval(), genie::utils::gsl::d2XSec_dWdQ2_EQ2::DoEval(), genie::utils::gsl::d5XSecAR::DoEval(), genie::utils::gsl::d5Xsec_dEldOmegaldOmegapi::DoEval(), genie::utils::gsl::d4Xsec_dEldThetaldOmegapi::DoEval(), genie::utils::gsl::d3Xsec_dOmegaldThetapi::DoEval(), genie::ZExpAxialFormFactorModel::FA(), genie::LwlynSmithQELCCPXSec::FullDifferentialXSec(), genie::MECGenerator::GenerateNSVInitialHadrons(), GetCrossSection(), main(), MakePlots(), genie::COHKinematicsGenerator::MaxXSec_BergerSehgal(), genie::COHKinematicsGenerator::MaxXSec_BergerSehgalFM(), genie::COHKinematicsGenerator::MaxXSec_ReinSehgal(), genie::utils::kinematics::PhaseSpaceVolume(), genie::DFRKinematicsGenerator::ProcessEventRecord(), genie::NuEKinematicsGenerator::ProcessEventRecord(), genie::QELKinematicsGenerator::ProcessEventRecord(), genie::COHElKinematicsGenerator::ProcessEventRecord(), genie::RESKinematicsGenerator::ProcessEventRecord(), genie::DMELKinematicsGenerator::ProcessEventRecord(), genie::IBDKinematicsGenerator::ProcessEventRecord(), genie::DISKinematicsGenerator::ProcessEventRecord(), genie::QELEventGenerator::ProcessEventRecord(), genie::DMDISKinematicsGenerator::ProcessEventRecord(), genie::QELEventGeneratorSM::ProcessEventRecord(), genie::MECGenerator::SelectEmpiricalKinematics(), genie::MECGenerator::SelectNSVLeptonKinematics(), genie::RSPPResonanceSelector::SelectResonance(), genie::QELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::DMELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::utils::kinematics::UpdateWQ2FromXY(), genie::utils::kinematics::UpdateXFromQ2Y(), genie::utils::kinematics::UpdateXYFromWQ2(), VerticalSlice(), and genie::NievesQELCCPXSec::XSec().

76 { return fKinematics; }
Kinematics * fKinematics
kinematical variables
Definition: Interaction.h:175
Interaction * Interaction::MECCC ( int  tgt,
int  nuccluster,
int  probe,
double  E = 0 
)
static

Definition at line 780 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakCC, genie::kScMEC, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeE(), and genie::InitialState::TgtPtr().

Referenced by genie::MECInteractionListGenerator::CreateInteractionList(), and PhaseSpacePtr().

781 {
782  Interaction * interaction =
783  Interaction::Create(tgt, probe, kScMEC, kIntWeakCC);
784 
785  InitialState * init_state = interaction->InitStatePtr();
786  init_state->SetProbeE(E);
787  init_state->TgtPtr()->SetHitNucPdg(ncluster);
788 
789  return interaction;
790 }
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
Float_t E
Definition: plot.C:20
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::MECCC ( int  tgt,
int  nuccluster,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 792 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakCC, genie::kScMEC, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeP4(), and genie::InitialState::TgtPtr().

794 {
795  Interaction * interaction =
796  Interaction::Create(tgt, probe, kScMEC, kIntWeakCC);
797 
798  InitialState * init_state = interaction->InitStatePtr();
799  init_state->SetProbeP4(p4probe);
800  init_state->TgtPtr()->SetHitNucPdg(ncluster);
801 
802  return interaction;
803 }
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::MECCC ( int  tgt,
int  probe,
double  E = 0 
)
static

Definition at line 805 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakCC, genie::kScMEC, and genie::InitialState::SetProbeE().

806 {
807  Interaction * interaction =
808  Interaction::Create(tgt, probe, kScMEC, kIntWeakCC);
809 
810  InitialState * init_state = interaction->InitStatePtr();
811  init_state->SetProbeE(E);
812 
813  return interaction;
814 }
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
Float_t E
Definition: plot.C:20
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::MECCC ( int  tgt,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 816 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakCC, genie::kScMEC, and genie::InitialState::SetProbeP4().

818 {
819  Interaction * interaction =
820  Interaction::Create(tgt, probe, kScMEC, kIntWeakCC);
821 
822  InitialState * init_state = interaction->InitStatePtr();
823  init_state->SetProbeP4(p4probe);
824 
825  return interaction;
826 }
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::MECEM ( int  tgt,
int  nuccluster,
int  probe,
double  E = 0 
)
static

Definition at line 854 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntEM, genie::kScMEC, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeE(), and genie::InitialState::TgtPtr().

Referenced by genie::MECInteractionListGenerator::CreateInteractionList(), and PhaseSpacePtr().

855 {
856  Interaction * interaction =
857  Interaction::Create(tgt, probe, kScMEC, kIntEM);
858 
859  InitialState * init_state = interaction->InitStatePtr();
860  init_state->SetProbeE(E);
861  init_state->TgtPtr()->SetHitNucPdg(ncluster);
862 
863  return interaction;
864 }
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
Float_t E
Definition: plot.C:20
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::MECEM ( int  tgt,
int  nuccluster,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 866 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntEM, genie::kScMEC, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeP4(), and genie::InitialState::TgtPtr().

868 {
869  Interaction * interaction =
870  Interaction::Create(tgt, probe, kScMEC, kIntEM);
871 
872  InitialState * init_state = interaction->InitStatePtr();
873  init_state->SetProbeP4(p4probe);
874  init_state->TgtPtr()->SetHitNucPdg(ncluster);
875 
876  return interaction;
877 }
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::MECNC ( int  tgt,
int  nuccluster,
int  probe,
double  E = 0 
)
static

Definition at line 829 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakNC, genie::kScMEC, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeE(), and genie::InitialState::TgtPtr().

Referenced by genie::MECInteractionListGenerator::CreateInteractionList(), and PhaseSpacePtr().

830 {
831  Interaction * interaction =
832  Interaction::Create(tgt, probe, kScMEC, kIntWeakNC);
833 
834  InitialState * init_state = interaction->InitStatePtr();
835  init_state->SetProbeE(E);
836  init_state->TgtPtr()->SetHitNucPdg(ncluster);
837 
838  return interaction;
839 }
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
Float_t E
Definition: plot.C:20
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::MECNC ( int  tgt,
int  nuccluster,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 841 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakNC, genie::kScMEC, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeP4(), and genie::InitialState::TgtPtr().

843 {
844  Interaction * interaction =
845  Interaction::Create(tgt, probe, kScMEC, kIntWeakNC);
846 
847  InitialState * init_state = interaction->InitStatePtr();
848  init_state->SetProbeP4(p4probe);
849  init_state->TgtPtr()->SetHitNucPdg(ncluster);
850 
851  return interaction;
852 }
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::NDecay ( int  tgt,
int  decay_mode = -1,
int  decayed_nucleon = 0 
)
static

Definition at line 903 of file Interaction.cxx.

References Create(), ExclTagPtr(), InitStatePtr(), genie::kIntNDecay, genie::kScNull, genie::XclsTag::SetDecayMode(), genie::Target::SetHitNucPdg(), and genie::InitialState::TgtPtr().

Referenced by main(), and PhaseSpacePtr().

904 {
905  Interaction * interaction =
907  interaction->ExclTagPtr()->SetDecayMode(decay_mode);
908 
909  InitialState * init_state = interaction->InitStatePtr();
910  init_state->TgtPtr()->SetHitNucPdg(decayed_nucleon);
911 
912  return interaction;
913 }
Summary information for an interaction.
Definition: Interaction.h:56
void SetDecayMode(int decay_mode)
Definition: XclsTag.cxx:128
XclsTag * ExclTagPtr(void) const
Definition: Interaction.h:77
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::NOsc ( int  tgt,
int  annihilation_mode = -1 
)
static

Definition at line 915 of file Interaction.cxx.

References Create(), ExclTagPtr(), genie::kIntNOsc, genie::kScNull, and genie::XclsTag::SetDecayMode().

Referenced by genie::NNBarOscPrimaryVtxGenerator::GenerateDecayProducts(), main(), PhaseSpacePtr(), and evgen::GENIENeutronOscGen::produce().

916 {
917  Interaction * interaction =
919  interaction->ExclTagPtr()->SetDecayMode(annihilation_mode);
920  return interaction;
921 }
Summary information for an interaction.
Definition: Interaction.h:56
void SetDecayMode(int decay_mode)
Definition: XclsTag.cxx:128
XclsTag * ExclTagPtr(void) const
Definition: Interaction.h:77
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Interaction & Interaction::operator= ( const Interaction i)

copy

Definition at line 294 of file Interaction.cxx.

References Copy().

Referenced by PhaseSpacePtr().

295 {
296  this->Copy(interaction);
297  return (*this);
298 }
void Copy(const Interaction &i)
const KPhaseSpace& genie::Interaction::PhaseSpace ( void  ) const
inline

Definition at line 73 of file Interaction.h.

References fKinePhSp.

Referenced by genie::DISXSec::CacheFreeNucleonXSec(), genie::DMDISXSec::CacheFreeNucleonXSec(), genie::ReinSehgalRESXSecWithCache::CacheResExcitationXSec(), genie::ReinSehgalRESXSecWithCacheFast::CacheResExcitationXSec(), genie::COHKinematicsGenerator::CalculateKin_BergerSehgal(), genie::COHKinematicsGenerator::CalculateKin_BergerSehgalFM(), genie::COHKinematicsGenerator::CalculateKin_ReinSehgal(), genie::utils::ComputeFullQELPXSec(), genie::DFRKinematicsGenerator::ComputeMaxXSec(), genie::RESKinematicsGenerator::ComputeMaxXSec(), genie::IBDKinematicsGenerator::ComputeMaxXSec(), genie::NuEKinematicsGenerator::ComputeMaxXSec(), genie::QELKinematicsGenerator::ComputeMaxXSec(), genie::COHElKinematicsGenerator::ComputeMaxXSec(), genie::DISKinematicsGenerator::ComputeMaxXSec(), genie::DMELKinematicsGenerator::ComputeMaxXSec(), genie::DMDISKinematicsGenerator::ComputeMaxXSec(), genie::XSecSplineList::CreateSpline(), genie::utils::gsl::d5XSecAR::DoEval(), genie::utils::gsl::d5Xsec_dEldOmegaldOmegapi::DoEval(), genie::utils::gsl::d4Xsec_dEldThetaldOmegapi::DoEval(), genie::utils::gsl::d3Xsec_dOmegaldThetapi::DoEval(), genie::IMDXSec::Integrate(), genie::COHXSecAR::Integrate(), genie::RESXSec::Integrate(), genie::COHXSec::Integrate(), genie::DISXSec::Integrate(), genie::QELXSec::Integrate(), genie::DMDISXSec::Integrate(), genie::DMELXSec::Integrate(), genie::AlamSimoAtharVacasSKXSec::Integrate(), genie::MECXSec::Integrate(), genie::DFRXSec::Integrate(), genie::NuElectronXSec::Integrate(), genie::SmithMonizQELCCXSec::Integrate(), genie::ReinSehgalRESXSec::Integrate(), genie::ReinSehgalRESXSecFast::Integrate(), genie::ReinSehgalSPPXSec::Integrate(), genie::FermiMover::KickHitNucleon(), genie::COHKinematicsGenerator::MaxXSec_AlvarezRuso(), genie::COHKinematicsGenerator::MaxXSec_BergerSehgal(), genie::COHKinematicsGenerator::MaxXSec_BergerSehgalFM(), genie::COHKinematicsGenerator::MaxXSec_ReinSehgal(), genie::utils::kinematics::PhaseSpaceVolume(), PrintLimits(), genie::NuEKinematicsGenerator::ProcessEventRecord(), genie::DFRKinematicsGenerator::ProcessEventRecord(), genie::QELKinematicsGenerator::ProcessEventRecord(), genie::COHElKinematicsGenerator::ProcessEventRecord(), genie::RESKinematicsGenerator::ProcessEventRecord(), genie::IBDKinematicsGenerator::ProcessEventRecord(), genie::DMELKinematicsGenerator::ProcessEventRecord(), genie::DISKinematicsGenerator::ProcessEventRecord(), genie::DMDISKinematicsGenerator::ProcessEventRecord(), genie::QELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::DMELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::StrumiaVissaniIBDPXSec::ValidKinematics(), genie::XSecAlgorithmI::ValidKinematics(), and genie::KLVOxygenIBDPXSec::ValidKinematics().

73 { return *fKinePhSp; }
KPhaseSpace * fKinePhSp
Kinematic phase space.
Definition: Interaction.h:177
KPhaseSpace* genie::Interaction::PhaseSpacePtr ( void  ) const
inline
void Interaction::Print ( ostream &  stream) const

Definition at line 276 of file Interaction.cxx.

References allTimeWatchdog::endl, fExclusiveTag, fInitialState, fKinematics, fProcInfo, and make_syst_table_plots::line.

Referenced by ClassImp(), and PhaseSpacePtr().

277 {
278  const string line(110, '-');
279 
280  stream << endl;
281  stream << line << endl;
282 
283  stream << "GENIE Interaction Summary" << endl;
284  stream << line << endl;
285 
286  stream << *fInitialState << endl; // print initial state
287  stream << *fProcInfo; // print process info
288  stream << *fKinematics; // print scattering parameters
289  stream << *fExclusiveTag; // print exclusive process tag
290 
291  stream << line << endl;
292 }
InitialState * fInitialState
Initial State info.
Definition: Interaction.h:173
XclsTag * fExclusiveTag
Additional info for exclusive channels.
Definition: Interaction.h:176
Kinematics * fKinematics
kinematical variables
Definition: Interaction.h:175
ProcessInfo * fProcInfo
Process info (scattering, weak current,...)
Definition: Interaction.h:174
const ProcessInfo& genie::Interaction::ProcInfo ( void  ) const
inline

Definition at line 70 of file Interaction.h.

References fProcInfo.

Referenced by AcceptEvent(), genie::NuETargetRemnantGenerator::AddElectronNeutrino(), genie::InitialStateAppender::AddStruckParticle(), genie::PrimaryLeptonGenerator::AddToEventRecord(), genie::OutgoingDarkGenerator::AddToEventRecord(), genie::HadronizationModelBase::ApplyRijk(), genie::PythiaHadronization::AssertValidity(), genie::ReinSehgalRESXSecWithCache::CacheResExcitationXSec(), genie::ReinSehgalRESXSecWithCacheFast::CacheResExcitationXSec(), genie::QPMDISStrucFuncBase::Calculate(), genie::COHHadronicSystemGenerator::CalculateHadronicSystem_AlvarezRuso(), genie::COHKinematicsGenerator::CheckKinematics(), genie::utils::ComputeFullQELPXSec(), genie::RESKinematicsGenerator::ComputeMaxXSec(), novarwgt::ConvertGenieEvent(), ConvertToGHad(), ConvertToGST(), ConvertToGTracker(), genie::QPMDISPXSec::DISRESJoinSuppressionFactor(), genie::QPMDMDISPXSec::DMDISRESJoinSuppressionFactor(), genie::utils::gsl::d2XSec_dWdQ2_E::DoEval(), genie::utils::gsl::d5XSecAR::DoEval(), genie::utils::gsl::d5Xsec_dEldOmegaldOmegapi::DoEval(), genie::utils::gsl::d4Xsec_dEldThetaldOmegapi::DoEval(), genie::utils::gsl::d3Xsec_dOmegaldThetapi::DoEval(), genie::BergerSehgalFMCOHPiPXSec2015::ExactKinematicTerm(), genie::BergerSehgalCOHPiPXSec2015::ExactKinematicTerm(), genie::SppChannel::FromInteraction(), FSPrimLeptonPdg(), GenerateEvent(), genie::VertexGenerator::GenerateVertex(), genie::DISInteractionListGenerator::GetHitQuarks(), genie::DMDISInteractionListGenerator::GetHitQuarks(), genie::PythiaHadronization::Hadronize(), genie::EmpiricalMECPXSec2015::Integral(), genie::ReinSehgalRESXSec::Integrate(), genie::ReinSehgalRESXSecFast::Integrate(), genie::ReinSehgalSPPXSec::Integrate(), genie::KPhaseSpace::IsAboveThreshold(), genie::KPhaseSpace::IsAllowed(), main(), supernova::SnovaGen::MakeMCTruth(), genie::utils::ghep::NeutReactionCode(), genie::utils::ghep::NuanceReactionCode(), genie::utils::nuclear::NuclQELXSecSuppression(), genie::BergerSehgalFMCOHPiPXSec2015::PionCOMAbsMomentum(), genie::BergerSehgalCOHPiPXSec2015::PionCOMAbsMomentum(), genie::COHKinematicsGenerator::pionMass(), genie::RESKinematicsGenerator::ProcessEventRecord(), genie::DISKinematicsGenerator::ProcessEventRecord(), genie::PauliBlocker::ProcessEventRecord(), genie::KPhaseSpace::Q2Lim(), genie::KPhaseSpace::Q2Lim_W(), SaveGraphsToRootFile(), SaveToPsFile(), genie::MECGenerator::SelectEmpiricalKinematics(), genie::PhysInteractionSelector::SelectInteraction(), genie::COHKinematicsGenerator::SetKinematics(), genie::KPhaseSpace::Threshold(), genie::KPhaseSpace::TLim(), genie::utils::kinematics::UpdateXFromQ2Y(), genie::GLRESPXSec::ValidProcess(), genie::H3AMNuGammaPXSec::ValidProcess(), genie::COHElasticPXSec::ValidProcess(), genie::EmpiricalMECPXSec2015::ValidProcess(), genie::AlamSimoAtharVacasSKPXSec2014::ValidProcess(), genie::SlowRsclCharmDISPXSecLO::ValidProcess(), genie::ReinDFRPXSec::ValidProcess(), genie::StrumiaVissaniIBDPXSec::ValidProcess(), genie::RosenbluthPXSec::ValidProcess(), genie::AivazisCharmPXSecLO::ValidProcess(), genie::AlvarezRusoCOHPiPXSec::ValidProcess(), genie::QPMDISPXSec::ValidProcess(), genie::KLVOxygenIBDPXSec::ValidProcess(), genie::BergerSehgalFMCOHPiPXSec2015::ValidProcess(), genie::LwlynSmithQELCCPXSec::ValidProcess(), genie::QPMDMDISPXSec::ValidProcess(), genie::BergerSehgalCOHPiPXSec2015::ValidProcess(), genie::PaisQELLambdaPXSec::ValidProcess(), genie::NievesSimoVacasMECPXSec2016::ValidProcess(), genie::ReinSehgalCOHPiPXSec::ValidProcess(), genie::KovalenkoQELCharmPXSec::ValidProcess(), genie::MartiniEricsonChanfrayMarteauMECPXSec2016::ValidProcess(), genie::SmithMonizQELCCPXSec::ValidProcess(), genie::ReinSehgalRESPXSec::ValidProcess(), genie::BSKLNBaseRESPXSec2014::ValidProcess(), genie::NievesQELCCPXSec::ValidProcess(), genie::utils::kinematics::W(), genie::KPhaseSpace::WLim(), genie::KPhaseSpace::XLim(), genie::EmpiricalMECPXSec2015::XSec(), genie::SlowRsclCharmDISPXSecLO::XSec(), genie::ReinDFRPXSec::XSec(), genie::AlvarezRusoCOHPiPXSec::XSec(), genie::AivazisCharmPXSecLO::XSec(), genie::BergerSehgalFMCOHPiPXSec2015::XSec(), genie::BergerSehgalCOHPiPXSec2015::XSec(), genie::ReinSehgalCOHPiPXSec::XSec(), genie::KPhaseSpace::YLim(), and genie::KPhaseSpace::YLim_X().

70 { return *fProcInfo; }
ProcessInfo * fProcInfo
Process info (scattering, weak current,...)
Definition: Interaction.h:174
ProcessInfo* genie::Interaction::ProcInfoPtr ( void  ) const
inline

Definition at line 75 of file Interaction.h.

References fProcInfo.

75 { return fProcInfo; }
ProcessInfo * fProcInfo
Process info (scattering, weak current,...)
Definition: Interaction.h:174
Interaction * Interaction::QELCC ( int  tgt,
int  nuc,
int  probe,
double  E = 0 
)
static

Definition at line 464 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakCC, genie::kScQuasiElastic, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeE(), and genie::InitialState::TgtPtr().

Referenced by genie::EmpiricalMECPXSec2015::Integral(), main(), and PhaseSpacePtr().

465 {
466  Interaction * interaction =
468 
469  InitialState * init_state = interaction->InitStatePtr();
470  init_state->SetProbeE(E);
471  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
472 
473  return interaction;
474 }
const XML_Char * target
Definition: expat.h:268
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
Float_t E
Definition: plot.C:20
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::QELCC ( int  tgt,
int  nuc,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 476 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakCC, genie::kScQuasiElastic, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeP4(), and genie::InitialState::TgtPtr().

478 {
479  Interaction * interaction =
481 
482  InitialState * init_state = interaction->InitStatePtr();
483  init_state->SetProbeP4(p4probe);
484  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
485 
486  return interaction;
487 }
const XML_Char * target
Definition: expat.h:268
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::QELEM ( int  tgt,
int  nuc,
int  probe,
double  E = 0 
)
static

Definition at line 514 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntEM, genie::kScQuasiElastic, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeE(), and genie::InitialState::TgtPtr().

Referenced by genie::QELInteractionListGenerator::CreateInteractionListEM(), genie::EmpiricalMECPXSec2015::Integral(), and PhaseSpacePtr().

515 {
516  Interaction * interaction =
518 
519  InitialState * init_state = interaction->InitStatePtr();
520  init_state->SetProbeE(E);
521  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
522 
523  return interaction;
524 }
const XML_Char * target
Definition: expat.h:268
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
Float_t E
Definition: plot.C:20
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::QELEM ( int  tgt,
int  nuc,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 526 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntEM, genie::kScQuasiElastic, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeP4(), and genie::InitialState::TgtPtr().

528 {
529  Interaction * interaction =
531 
532  InitialState * init_state = interaction->InitStatePtr();
533  init_state->SetProbeP4(p4probe);
534  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
535 
536  return interaction;
537 }
const XML_Char * target
Definition: expat.h:268
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::QELNC ( int  tgt,
int  nuc,
int  probe,
double  E = 0 
)
static

Definition at line 489 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakNC, genie::kScQuasiElastic, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeE(), and genie::InitialState::TgtPtr().

Referenced by genie::EmpiricalMECPXSec2015::Integral(), and PhaseSpacePtr().

490 {
491  Interaction * interaction =
493 
494  InitialState * init_state = interaction->InitStatePtr();
495  init_state->SetProbeE(E);
496  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
497 
498  return interaction;
499 }
const XML_Char * target
Definition: expat.h:268
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
Float_t E
Definition: plot.C:20
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::QELNC ( int  tgt,
int  nuc,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 501 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakNC, genie::kScQuasiElastic, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeP4(), and genie::InitialState::TgtPtr().

503 {
504  Interaction * interaction =
506 
507  InitialState * init_state = interaction->InitStatePtr();
508  init_state->SetProbeP4(p4probe);
509  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
510 
511  return interaction;
512 }
const XML_Char * target
Definition: expat.h:268
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
TParticlePDG * Interaction::RecoilNucleon ( void  ) const

recoil nucleon

Definition at line 163 of file Interaction.cxx.

References genie::PDGLibrary::Find(), genie::PDGLibrary::Instance(), and RecoilNucleonPdg().

Referenced by genie::utils::CosTheta0Max(), genie::LwlynSmithQELCCPXSec::FullDifferentialXSec(), PhaseSpacePtr(), genie::KPhaseSpace::Q2Lim(), genie::KPhaseSpace::Q2Lim_W(), genie::KPhaseSpace::Threshold(), genie::KPhaseSpace::WLim(), and genie::NievesQELCCPXSec::XSec().

164 {
165  int rnuc = this->RecoilNucleonPdg();
166 
167  if(rnuc) return PDGLibrary::Instance()->Find(rnuc);
168  else return 0;
169 }
int RecoilNucleonPdg(void) const
recoil nucleon pdg
static PDGLibrary * Instance(void)
Definition: PDGLibrary.cxx:43
TParticlePDG * Find(int pdgc)
Definition: PDGLibrary.cxx:61
int Interaction::RecoilNucleonPdg ( void  ) const

recoil nucleon pdg

Definition at line 171 of file Interaction.cxx.

References ana::assert(), fInitialState, fProcInfo, genie::Target::HitNucPdg(), genie::pdg::Is2NucleonCluster(), genie::ProcessInfo::IsDarkMatter(), genie::ProcessInfo::IsDarkMatterElastic(), genie::ProcessInfo::IsEM(), genie::ProcessInfo::IsInverseBetaDecay(), genie::ProcessInfo::IsMEC(), genie::pdg::IsNeutrino(), genie::pdg::IsNucleon(), genie::ProcessInfo::IsQuasiElastic(), genie::ProcessInfo::IsWeak(), genie::ProcessInfo::IsWeakCC(), LOG, genie::pdg::ModifyNucleonCluster(), pDEBUG, genie::InitialState::ProbePdg(), genie::pdg::SwitchProtonNeutron(), and genie::InitialState::Tgt().

Referenced by genie::QELHadronicSystemGenerator::AddRecoilBaryon(), genie::IBDHadronicSystemGenerator::AddRecoilBaryon(), genie::utils::ComputeFullQELPXSec(), genie::LwlynSmithQELCCPXSec::FullDifferentialXSec(), PhaseSpacePtr(), genie::QELKinematicsGenerator::ProcessEventRecord(), genie::DMELKinematicsGenerator::ProcessEventRecord(), genie::IBDKinematicsGenerator::ProcessEventRecord(), genie::QELEventGenerator::ProcessEventRecord(), genie::QELEventGeneratorSM::ProcessEventRecord(), RecoilNucleon(), genie::QELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::DMELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::utils::kinematics::W(), and genie::NievesQELCCPXSec::XSec().

172 {
173 // Determine the recoil nucleon PDG code
174 
175  const Target & target = fInitialState->Tgt();
176 
177  int recoil_nuc = 0;
178  int struck_nuc = target.HitNucPdg();
179 
181  bool struck_is_nuc = pdg::IsNucleon(struck_nuc);
182  bool is_weak = fProcInfo->IsWeak();
183  bool is_em = fProcInfo->IsEM();
184  bool is_dm = fProcInfo->IsDarkMatter();
185  assert(struck_is_nuc && (is_weak || is_em || is_dm));
186  if(fProcInfo->IsWeakCC()) {
187  recoil_nuc = pdg::SwitchProtonNeutron(struck_nuc); // CC
188  } else {
189  recoil_nuc = struck_nuc; // NC, EM
190  }
191  }
192 
193  if (fProcInfo->IsMEC()) {
194  bool struck_is_2nuc_cluster = pdg::Is2NucleonCluster(struck_nuc);
195  bool is_weak = fProcInfo->IsWeak();
196  bool is_em = fProcInfo->IsEM();
197  assert(struck_is_2nuc_cluster && (is_weak || is_em));
198  if(fProcInfo->IsWeakCC()) {
199  bool isnu = pdg::IsNeutrino(fInitialState->ProbePdg());
200  // nucleon cluster charge should be incremented by +1 for
201  // neutrino CC and by -1 for antineutrino CC
202  int dQ = (isnu) ? +1 : -1;
203  recoil_nuc = pdg::ModifyNucleonCluster(struck_nuc,dQ); // CC
204  }
205  else {
206  recoil_nuc = struck_nuc; // NC, EM
207  }
208  }
209 
210  LOG("Interaction", pDEBUG) << "Recoil nucleon PDG = " << recoil_nuc;
211  return recoil_nuc;
212 }
bool IsWeak(void) const
bool IsWeakCC(void) const
bool IsNeutrino(int pdgc)
Definition: PDGUtils.cxx:108
const XML_Char * target
Definition: expat.h:268
int HitNucPdg(void) const
Definition: Target.cxx:321
bool IsNucleon(int pdgc)
Definition: PDGUtils.cxx:309
InitialState * fInitialState
Initial State info.
Definition: Interaction.h:173
bool IsQuasiElastic(void) const
Definition: ProcessInfo.cxx:67
int SwitchProtonNeutron(int pdgc)
Definition: PDGUtils.cxx:319
bool IsInverseBetaDecay(void) const
int ModifyNucleonCluster(int pdgc, int dQ)
Definition: PDGUtils.cxx:327
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:97
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
Definition: Target.h:41
int ProbePdg(void) const
Definition: InitialState.h:65
bool IsDarkMatterElastic(void) const
Definition: ProcessInfo.cxx:72
bool IsMEC(void) const
bool IsEM(void) const
bool Is2NucleonCluster(int pdgc)
Definition: PDGUtils.cxx:365
bool IsDarkMatter(void) const
assert(nhit_max >=nhit_nbins)
ProcessInfo * fProcInfo
Process info (scattering, weak current,...)
Definition: Interaction.h:174
const Target & Tgt(void) const
Definition: InitialState.h:67
#define pDEBUG
Definition: Messenger.h:64
Interaction * Interaction::RESCC ( int  tgt,
int  nuc,
int  probe,
double  E = 0 
)
static

Definition at line 564 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakCC, genie::kScResonant, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeE(), and genie::InitialState::TgtPtr().

Referenced by main(), and PhaseSpacePtr().

565 {
566  Interaction * interaction =
568 
569  InitialState * init_state = interaction->InitStatePtr();
570  init_state->SetProbeE(E);
571  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
572 
573  return interaction;
574 }
const XML_Char * target
Definition: expat.h:268
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
Float_t E
Definition: plot.C:20
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::RESCC ( int  tgt,
int  nuc,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 576 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakCC, genie::kScResonant, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeP4(), and genie::InitialState::TgtPtr().

578 {
579  Interaction * interaction =
581 
582  InitialState * init_state = interaction->InitStatePtr();
583  init_state->SetProbeP4(p4probe);
584  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
585 
586  return interaction;
587 }
const XML_Char * target
Definition: expat.h:268
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::RESEM ( int  tgt,
int  nuc,
int  probe,
double  E = 0 
)
static

Definition at line 614 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntEM, genie::kScResonant, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeE(), and genie::InitialState::TgtPtr().

Referenced by PhaseSpacePtr().

615 {
616  Interaction * interaction =
618 
619  InitialState * init_state = interaction->InitStatePtr();
620  init_state->SetProbeE(E);
621  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
622 
623  return interaction;
624 }
const XML_Char * target
Definition: expat.h:268
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
Float_t E
Definition: plot.C:20
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::RESEM ( int  tgt,
int  nuc,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 626 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntEM, genie::kScResonant, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeP4(), and genie::InitialState::TgtPtr().

628 {
629  Interaction * interaction =
631 
632  InitialState * init_state = interaction->InitStatePtr();
633  init_state->SetProbeP4(p4probe);
634  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
635 
636  return interaction;
637 }
const XML_Char * target
Definition: expat.h:268
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
void Interaction::Reset ( void  )

Definition at line 81 of file Interaction.cxx.

References CleanUp(), and Init().

Referenced by PhaseSpacePtr().

82 {
83  this->CleanUp();
84  this->Init();
85 }
void CleanUp(void)
Definition: Interaction.cxx:96
Interaction * Interaction::RESNC ( int  tgt,
int  nuc,
int  probe,
double  E = 0 
)
static

Definition at line 589 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakNC, genie::kScResonant, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeE(), and genie::InitialState::TgtPtr().

Referenced by PhaseSpacePtr().

590 {
591  Interaction * interaction =
593 
594  InitialState * init_state = interaction->InitStatePtr();
595  init_state->SetProbeE(E);
596  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
597 
598  return interaction;
599 }
const XML_Char * target
Definition: expat.h:268
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
Float_t E
Definition: plot.C:20
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
Interaction * Interaction::RESNC ( int  tgt,
int  nuc,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 601 of file Interaction.cxx.

References Create(), InitStatePtr(), genie::kIntWeakNC, genie::kScResonant, genie::Target::SetHitNucPdg(), genie::InitialState::SetProbeP4(), and genie::InitialState::TgtPtr().

603 {
604  Interaction * interaction =
606 
607  InitialState * init_state = interaction->InitStatePtr();
608  init_state->SetProbeP4(p4probe);
609  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
610 
611  return interaction;
612 }
const XML_Char * target
Definition: expat.h:268
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:188
Target * TgtPtr(void) const
Definition: InitialState.h:68
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
Initial State information.
Definition: InitialState.h:49
void Interaction::SetExclTag ( const XclsTag xcls)

Definition at line 232 of file Interaction.cxx.

References genie::XclsTag::Copy(), and fExclusiveTag.

Referenced by genie::RSPPInteractionListGenerator::AddFinalStateInfo(), genie::DISInteractionListGenerator::CreateInteractionList(), genie::DMDISInteractionListGenerator::CreateInteractionList(), PhaseSpacePtr(), and cafrwgt::CAFReweight::RetrieveGHEP().

233 {
234  if (!fExclusiveTag) fExclusiveTag = new XclsTag();
235  fExclusiveTag->Copy(xcls_tag);
236 }
void Copy(const XclsTag &xcls)
copy input XclsTag object
Definition: XclsTag.cxx:148
XclsTag * fExclusiveTag
Additional info for exclusive channels.
Definition: Interaction.h:176
Contains minimal information for tagging exclusive processes.
Definition: XclsTag.h:37
void Interaction::SetInitState ( const InitialState init)

Definition at line 214 of file Interaction.cxx.

References genie::InitialState::Copy(), and fInitialState.

Referenced by PhaseSpacePtr().

215 {
217  fInitialState->Copy(init_state);
218 }
InitialState * fInitialState
Initial State info.
Definition: Interaction.h:173
void Copy(const InitialState &init_state)
Initial State information.
Definition: InitialState.h:49
void Interaction::SetKine ( const Kinematics kine)

Definition at line 226 of file Interaction.cxx.

References genie::Kinematics::Copy(), and fKinematics.

Referenced by PhaseSpacePtr(), and cafrwgt::CAFReweight::RetrieveGHEP().

227 {
228  if (!fKinematics) fKinematics = new Kinematics();
230 }
Generated/set kinematical variables for an event.
Definition: Kinematics.h:40
void Copy(const Kinematics &kine)
Definition: Kinematics.cxx:93
Kinematics * fKinematics
kinematical variables
Definition: Interaction.h:175
void kinematics()
Definition: kinematics.C:10
void Interaction::SetProcInfo ( const ProcessInfo proc)

Definition at line 220 of file Interaction.cxx.

References genie::ProcessInfo::Copy(), and fProcInfo.

Referenced by PhaseSpacePtr().

221 {
222  if (!fProcInfo) fProcInfo = new ProcessInfo();
223  fProcInfo->Copy(proc_info);
224 }
A class encapsulating an enumeration of interaction types (EM, Weak-CC, Weak-NC) and scattering types...
Definition: ProcessInfo.h:44
ProcessInfo * fProcInfo
Process info (scattering, weak current,...)
Definition: Interaction.h:174
void Copy(const ProcessInfo &proc)

Friends And Related Function Documentation

ostream& operator<< ( ostream &  stream,
const Interaction i 
)
friend

print

Referenced by PhaseSpacePtr().

Member Data Documentation

XclsTag* genie::Interaction::fExclusiveTag
private

Additional info for exclusive channels.

Definition at line 176 of file Interaction.h.

Referenced by AsString(), CleanUp(), Copy(), ExclTag(), ExclTagPtr(), Init(), Print(), and SetExclTag().

InitialState* genie::Interaction::fInitialState
private
Kinematics* genie::Interaction::fKinematics
private

kinematical variables

Definition at line 175 of file Interaction.h.

Referenced by CleanUp(), Copy(), Init(), Kine(), KinePtr(), Print(), and SetKine().

KPhaseSpace* genie::Interaction::fKinePhSp
private

Kinematic phase space.

Definition at line 177 of file Interaction.h.

Referenced by CleanUp(), Init(), PhaseSpace(), and PhaseSpacePtr().

ProcessInfo* genie::Interaction::fProcInfo
private

Process info (scattering, weak current,...)

Definition at line 174 of file Interaction.h.

Referenced by AsString(), CleanUp(), Copy(), Init(), Interaction(), Print(), ProcInfo(), ProcInfoPtr(), RecoilNucleonPdg(), and SetProcInfo().


The documentation for this class was generated from the following files: