GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 <Interaction.h>

Inheritance diagram for genie::Interaction:
Inheritance graph
[legend]
Collaboration diagram for genie::Interaction:
Collaboration graph
[legend]

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 qrk, bool sea, int fqrk, 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 qrk, bool sea, int fqrk, 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, unsigned int prod_pdg, double E=0)
 
static InteractionCOHCC (int tgt, int probe, unsigned int prod_pdg, const TLorentzVector &p4probe)
 
static InteractionCOHNC (int tgt, int probe, unsigned int prod_pdg, double E=0)
 
static InteractionCOHNC (int tgt, int probe, unsigned int prod_pdg, const TLorentzVector &p4probe)
 
static InteractionCEvNS (int tgt, int probe, double E=0)
 
static InteractionCEvNS (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 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)
 
static InteractionHNL (int probe, double E=0, int decayed_mode=-1)
 

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 <c.andreopoulos cern.ch> University of Liverpool

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

Created:
April 25, 2004
License:
Copyright (c) 2003-2024, The GENIE Collaboration For the full text of the license visit http://copyright.genie-mc.org

Definition at line 56 of file Interaction.h.

Constructor & Destructor Documentation

Interaction::Interaction ( )

Definition at line 45 of file Interaction.cxx.

References Init().

Referenced by Create().

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

Definition at line 51 of file Interaction.cxx.

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

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

Definition at line 60 of file Interaction.cxx.

References Copy(), and Init().

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

Definition at line 67 of file Interaction.cxx.

67  :
68 TObject(),
69 fInitialState(0),
70 fProcInfo(0),
71 fKinematics(0),
72 fExclusiveTag(0),
73 fKinePhSp(0)
74 {
75 
76 }
InitialState * fInitialState
Initial State info.
Definition: Interaction.h:179
XclsTag * fExclusiveTag
Additional info for exclusive channels.
Definition: Interaction.h:182
Kinematics * fKinematics
kinematical variables
Definition: Interaction.h:181
ProcessInfo * fProcInfo
Process info (scattering, weak current,...)
Definition: Interaction.h:180
KPhaseSpace * fKinePhSp
Kinematic phase space.
Definition: Interaction.h:183
Interaction::~Interaction ( )

Definition at line 78 of file Interaction.cxx.

References CleanUp().

79 {
80  this->CleanUp();
81 }
void CleanUp(void)
Definition: Interaction.cxx:98

Member Function Documentation

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

Definition at line 816 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().

817 {
818  Interaction * interaction =
820 
821  InitialState * init_state = interaction->InitStatePtr();
822  init_state->SetProbeE(E);
823  init_state->TgtPtr()->SetHitNucPdg(nuc);
824 
825  return interaction;
826 }
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::AMNuGamma ( int  tgt,
int  nuc,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 828 of file Interaction.cxx.

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

830 {
831  Interaction * interaction =
833 
834  InitialState * init_state = interaction->InitStatePtr();
835  init_state->SetProbeP4(p4probe);
836  init_state->TgtPtr()->SetHitNucPdg(nuc);
837 
838  return interaction;
839 }
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::ASK ( int  tgt,
int  probe,
double  E = 0 
)
static

Definition at line 996 of file Interaction.cxx.

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

997 {
998  Interaction * interaction =
1000 
1001  InitialState * init_state = interaction->InitStatePtr();
1002  init_state->SetProbeE(E);
1003 
1004  return interaction;
1005 }
void SetProbeE(double E)
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:48
Interaction * Interaction::ASK ( int  tgt,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 1007 of file Interaction.cxx.

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

1009 {
1010  Interaction * interaction =
1012 
1013  InitialState * init_state = interaction->InitStatePtr();
1014  init_state->SetProbeP4(p4probe);
1015 
1016  return interaction;
1017 }
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:48
string Interaction::AsString ( void  ) const

Definition at line 246 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::kPdgAntiDarkMatter, genie::kPdgDarkMatter, genie::Target::Pdg(), genie::InitialState::Probe(), genie::InitialState::ProbePdg(), genie::ProcessInfo::ScatteringTypeAsString(), and genie::InitialState::Tgt().

Referenced by genie::KineGeneratorWithCache::AccessCacheBranch(), genie::XSecAlgorithmMap::BuildMap(), genie::InteractionGeneratorMap::BuildMap(), genie::XSecSplineList::BuildSplineKey(), genie::DISXSec::CacheBranchName(), genie::DMDISXSec::CacheBranchName(), genie::HybridXSecAlgorithm::ChooseXSecAlg(), genie::DFRKinematicsGenerator::ComputeMaxXSec(), genie::HELeptonKinematicsGenerator::ComputeMaxXSec(), genie::IBDKinematicsGenerator::ComputeMaxXSec(), genie::NuEKinematicsGenerator::ComputeMaxXSec(), genie::QELKinematicsGenerator::ComputeMaxXSec(), genie::DISKinematicsGenerator::ComputeMaxXSec(), genie::DMEKinematicsGenerator::ComputeMaxXSec(), genie::QELEventGenerator::ComputeMaxXSec(), genie::SKKinematicsGenerator::ComputeMaxXSec(), genie::DMELKinematicsGenerator::ComputeMaxXSec(), genie::DMDISKinematicsGenerator::ComputeMaxXSec(), genie::QELEventGeneratorSuSA::ComputeMaxXSec(), genie::DMELEventGenerator::ComputeMaxXSec(), genie::COHKinematicsGenerator::ComputeMaxXSec(), ConvertToGTracker(), genie::GEVGDriver::CreateSplines(), genie::InteractionGeneratorMap::FindGenerator(), genie::XSecAlgorithmMap::FindXSecAlgorithm(), genie::HEDISXSec::Integrate(), main(), genie::COHKinematicsGenerator::MaxXSec_AlvarezRuso(), SaveToPsFile(), genie::PhysInteractionSelector::SelectInteraction(), genie::GEVGDriver::UseSplines(), genie::ReinSehgalRESPXSec::XSec(), genie::BSKLNBaseRESPXSec2014::XSec(), and genie::GEVGDriver::XSecSum().

247 {
248 // Code-ify the interaction in a string to be used as (part of a) cache
249 // branch key.
250 // Template:
251 // nu:x;tgt:x;N:x;q:x(s/v);proc:x;xclv_tag
252 
253  const Target & tgt = fInitialState->Tgt();
254 
255  ostringstream interaction;
256 
257  // If the probe has non-zero mass, then it is DM
258  if (fInitialState->Probe()->PdgCode() == kPdgDarkMatter) {
259  interaction << "dm;";
260  }
261  else if (fInitialState->Probe()->PdgCode() == kPdgAntiDarkMatter) {
262  interaction << "dmb;";
263  }
264  else {
265  interaction << "nu:" << fInitialState->ProbePdg() << ";";
266  }
267  interaction << "tgt:" << tgt.Pdg() << ";";
268 
269  if(tgt.HitNucIsSet()) {
270  interaction << "N:" << tgt.HitNucPdg() << ";";
271  }
272  if(tgt.HitQrkIsSet()) {
273  interaction << "q:" << tgt.HitQrkPdg()
274  << (tgt.HitSeaQrk() ? "(s)" : "(v)") << ";";
275  }
276 
277  interaction << "proc:" << fProcInfo->InteractionTypeAsString()
278  << "," << fProcInfo->ScatteringTypeAsString() << ";";
279 
280  string xcls = fExclusiveTag->AsString();
281  interaction << xcls;
282  if(xcls.size()>0) interaction << ";";
283 
284  return interaction.str();
285 }
bool HitSeaQrk(void) const
Definition: Target.cxx:299
string ScatteringTypeAsString(void) const
int HitNucPdg(void) const
Definition: Target.cxx:304
int HitQrkPdg(void) const
Definition: Target.cxx:242
InitialState * fInitialState
Initial State info.
Definition: Interaction.h:179
const int kPdgDarkMatter
Definition: PDGCodes.h:218
int Pdg(void) const
Definition: Target.h:71
TParticlePDG * Probe(void) const
XclsTag * fExclusiveTag
Additional info for exclusive channels.
Definition: Interaction.h:182
const int kPdgAntiDarkMatter
Definition: PDGCodes.h:219
string AsString(void) const
pack into a string code
Definition: XclsTag.cxx:212
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
Definition: Target.h:40
int ProbePdg(void) const
Definition: InitialState.h:64
string InteractionTypeAsString(void) const
bool HitNucIsSet(void) const
Definition: Target.cxx:283
bool HitQrkIsSet(void) const
Definition: Target.cxx:292
ProcessInfo * fProcInfo
Process info (scattering, weak current,...)
Definition: Interaction.h:180
const Target & Tgt(void) const
Definition: InitialState.h:66
Interaction * Interaction::CEvNS ( int  tgt,
int  probe,
double  E = 0 
)
static

Definition at line 771 of file Interaction.cxx.

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

Referenced by main().

772 {
773  Interaction * interaction =
775 
776  InitialState * init_state = interaction->InitStatePtr();
777  init_state->SetProbeE(E);
778 
779  return interaction;
780 }
void SetProbeE(double E)
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:48
Interaction * Interaction::CEvNS ( int  tgt,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 782 of file Interaction.cxx.

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

784 {
785  Interaction * interaction =
787 
788  InitialState * init_state = interaction->InitStatePtr();
789  init_state->SetProbeP4(p4probe);
790 
791  return interaction;
792 }
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:48
void Interaction::CleanUp ( void  )
private

Definition at line 98 of file Interaction.cxx.

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

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

99 {
100  if ( fInitialState ) delete fInitialState;
101  if ( fProcInfo ) delete fProcInfo;
102  if ( fKinematics ) delete fKinematics;
103  if ( fExclusiveTag ) delete fExclusiveTag;
104  if ( fKinePhSp ) delete fKinePhSp;
105 
106  fInitialState = 0;
107  fProcInfo = 0;
108  fKinematics = 0;
109  fExclusiveTag = 0;
110  fKinePhSp = 0;
111 }
InitialState * fInitialState
Initial State info.
Definition: Interaction.h:179
XclsTag * fExclusiveTag
Additional info for exclusive channels.
Definition: Interaction.h:182
Kinematics * fKinematics
kinematical variables
Definition: Interaction.h:181
ProcessInfo * fProcInfo
Process info (scattering, weak current,...)
Definition: Interaction.h:180
KPhaseSpace * fKinePhSp
Kinematic phase space.
Definition: Interaction.h:183
Interaction * Interaction::COHCC ( int  tgt,
int  probe,
unsigned int  prod_pdg,
double  E = 0 
)
static

Definition at line 705 of file Interaction.cxx.

References Create(), ExclTagPtr(), InitStatePtr(), genie::pdg::IsAntiNeutrino(), genie::pdg::IsNeutrino(), genie::pdg::IsPion(), genie::kIntWeakCC, genie::kScCoherentProduction, and genie::InitialState::SetProbeE().

706 {
707  Interaction * interaction =
709 
710  XclsTag * xcl = interaction -> ExclTagPtr() ;
711  if ( pdg::IsPion( prod_pdg ) ) {
712  if ( pdg::IsNeutrino( probe ) ) xcl -> SetNPions( 1,0,0 ) ;
713  else if ( pdg::IsAntiNeutrino( probe ) ) xcl -> SetNPions( 0,0,1 ) ;
714  }
715 
716  InitialState * init_state = interaction->InitStatePtr();
717  init_state->SetProbeE(E);
718 
719  return interaction;
720 }
bool IsPion(int pdgc)
Definition: PDGUtils.cxx:326
bool IsNeutrino(int pdgc)
Definition: PDGUtils.cxx:110
void SetProbeE(double E)
Contains minimal information for tagging exclusive processes.
Definition: XclsTag.h:39
Summary information for an interaction.
Definition: Interaction.h:56
bool IsAntiNeutrino(int pdgc)
Definition: PDGUtils.cxx:118
XclsTag * ExclTagPtr(void) const
Definition: Interaction.h:77
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:48
Interaction * Interaction::COHCC ( int  tgt,
int  probe,
unsigned int  prod_pdg,
const TLorentzVector &  p4probe 
)
static

Definition at line 722 of file Interaction.cxx.

References Create(), ExclTagPtr(), InitStatePtr(), genie::pdg::IsAntiNeutrino(), genie::pdg::IsNeutrino(), genie::pdg::IsPion(), genie::kIntWeakCC, genie::kScCoherentProduction, and genie::InitialState::SetProbeP4().

724 {
725  Interaction * interaction =
727 
728  XclsTag * xcl = interaction -> ExclTagPtr() ;
729  if ( pdg::IsPion( prod_pdg ) ) {
730  if ( pdg::IsNeutrino( probe ) ) xcl -> SetNPions( 1,0,0 ) ;
731  else if ( pdg::IsAntiNeutrino( probe ) ) xcl -> SetNPions( 0,0,1 ) ;
732  }
733 
734  InitialState * init_state = interaction->InitStatePtr();
735  init_state->SetProbeP4(p4probe);
736 
737  return interaction;
738 }
bool IsPion(int pdgc)
Definition: PDGUtils.cxx:326
bool IsNeutrino(int pdgc)
Definition: PDGUtils.cxx:110
void SetProbeP4(const TLorentzVector &P4)
Contains minimal information for tagging exclusive processes.
Definition: XclsTag.h:39
Summary information for an interaction.
Definition: Interaction.h:56
bool IsAntiNeutrino(int pdgc)
Definition: PDGUtils.cxx:118
XclsTag * ExclTagPtr(void) const
Definition: Interaction.h:77
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:48
Interaction * Interaction::COHNC ( int  tgt,
int  probe,
unsigned int  prod_pdg,
double  E = 0 
)
static

Definition at line 740 of file Interaction.cxx.

References Create(), ExclTagPtr(), InitStatePtr(), genie::pdg::IsPion(), genie::kIntWeakNC, genie::kPdgGamma, genie::kScCoherentProduction, and genie::InitialState::SetProbeE().

741 {
742  Interaction * interaction =
744 
745  XclsTag * xcl = interaction -> ExclTagPtr() ;
746  if ( pdg::IsPion( prod_pdg ) ) xcl -> SetNPions( 0,1,0 ) ;
747  else if ( prod_pdg == kPdgGamma ) xcl -> SetNSingleGammas(1) ;
748 
749  InitialState * init_state = interaction->InitStatePtr();
750  init_state->SetProbeE(E);
751 
752  return interaction;
753 }
bool IsPion(int pdgc)
Definition: PDGUtils.cxx:326
void SetProbeE(double E)
Contains minimal information for tagging exclusive processes.
Definition: XclsTag.h:39
Summary information for an interaction.
Definition: Interaction.h:56
const int kPdgGamma
Definition: PDGCodes.h:189
XclsTag * ExclTagPtr(void) const
Definition: Interaction.h:77
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:48
Interaction * Interaction::COHNC ( int  tgt,
int  probe,
unsigned int  prod_pdg,
const TLorentzVector &  p4probe 
)
static

Definition at line 755 of file Interaction.cxx.

References Create(), ExclTagPtr(), InitStatePtr(), genie::pdg::IsPion(), genie::kIntWeakNC, genie::kPdgGamma, genie::kScCoherentProduction, and genie::InitialState::SetProbeP4().

757 {
758  Interaction * interaction =
760 
761  XclsTag * xcl = interaction -> ExclTagPtr() ;
762  if ( pdg::IsPion( prod_pdg ) ) xcl -> SetNPions( 0,1,0 ) ;
763  else if ( prod_pdg == kPdgGamma ) xcl -> SetNSingleGammas(1) ;
764 
765  InitialState * init_state = interaction->InitStatePtr();
766  init_state->SetProbeP4(p4probe);
767 
768  return interaction;
769 }
bool IsPion(int pdgc)
Definition: PDGUtils.cxx:326
void SetProbeP4(const TLorentzVector &P4)
Contains minimal information for tagging exclusive processes.
Definition: XclsTag.h:39
Summary information for an interaction.
Definition: Interaction.h:56
const int kPdgGamma
Definition: PDGCodes.h:189
XclsTag * ExclTagPtr(void) const
Definition: Interaction.h:77
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:48
void Interaction::Copy ( const Interaction i)

Definition at line 113 of file Interaction.cxx.

References fExclusiveTag, fInitialState, fKinematics, and fProcInfo.

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

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

Definition at line 315 of file Interaction.cxx.

References Interaction().

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

317 {
318  InitialState init_state (target, probe);
319  ProcessInfo proc_info (st, it);
320 
321  Interaction * interaction = new Interaction(init_state, proc_info);
322  return interaction;
323 }
Summary information for an interaction.
Definition: Interaction.h:56
A class encapsulating an enumeration of interaction types (EM, Weak-CC, Weak-NC) and scattering types...
Definition: ProcessInfo.h:46
Initial State information.
Definition: InitialState.h:48
Interaction * Interaction::DFRCC ( int  tgt,
int  nuc,
int  probe,
double  E = 0 
)
static

Definition at line 680 of file Interaction.cxx.

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

681 {
682  Interaction * interaction =
684 
685  InitialState * init_state = interaction->InitStatePtr();
686  init_state->SetProbeE(E);
687  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
688 
689  return interaction;
690 }
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::DFRCC ( int  tgt,
int  nuc,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 692 of file Interaction.cxx.

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

694 {
695  Interaction * interaction =
697 
698  InitialState * init_state = interaction->InitStatePtr();
699  init_state->SetProbeP4(p4probe);
700  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
701 
702  return interaction;
703 }
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::DISCC ( int  tgt,
int  nuc,
int  probe,
double  E = 0 
)
static

Definition at line 325 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(), and VerticalSlice().

326 {
327  Interaction * interaction =
329 
330  InitialState * init_state = interaction->InitStatePtr();
331  init_state->SetProbeE(E);
332  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
333 
334  return interaction;
335 }
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::DISCC ( int  tgt,
int  nuc,
int  qrk,
bool  sea,
int  probe,
double  E = 0 
)
static

Definition at line 337 of file Interaction.cxx.

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

339 {
340  Interaction* interaction = Interaction::DISCC(target,hitnuc,probe,E);
341 
342  Target * tgt = interaction->InitStatePtr()->TgtPtr();
343  tgt -> SetHitQrkPdg (hitqrk);
344  tgt -> SetHitSeaQrk (fromsea);
345 
346  return interaction;
347 }
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:40
static Interaction * DISCC(int tgt, int nuc, int probe, double E=0)
Target * TgtPtr(void) const
Definition: InitialState.h:67
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
Interaction * Interaction::DISCC ( int  tgt,
int  nuc,
int  qrk,
bool  sea,
int  fqrk,
int  probe,
double  E = 0 
)
static

Definition at line 349 of file Interaction.cxx.

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

351 {
352  Interaction* interaction = Interaction::DISCC(target,hitnuc,probe,E);
353 
354  Target * tgt = interaction->InitStatePtr()->TgtPtr();
355  tgt -> SetHitQrkPdg (hitqrk);
356  tgt -> SetHitSeaQrk (fromsea);
357 
358  XclsTag * xclstag = interaction->ExclTagPtr();
359  xclstag->SetFinalQuark(fqrk);
360 
361  return interaction;
362 }
Contains minimal information for tagging exclusive processes.
Definition: XclsTag.h:39
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:40
XclsTag * ExclTagPtr(void) const
Definition: Interaction.h:77
static Interaction * DISCC(int tgt, int nuc, int probe, double E=0)
Target * TgtPtr(void) const
Definition: InitialState.h:67
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
void SetFinalQuark(int finalquark_pdgc=0)
Definition: XclsTag.cxx:138
Interaction * Interaction::DISCC ( int  tgt,
int  nuc,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 364 of file Interaction.cxx.

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

366 {
367  Interaction * interaction =
369 
370  InitialState * init_state = interaction->InitStatePtr();
371  init_state->SetProbeP4(p4probe);
372  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
373 
374  return interaction;
375 }
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::DISCC ( int  tgt,
int  nuc,
int  qrk,
bool  sea,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 377 of file Interaction.cxx.

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

380 {
381  Interaction* interaction = Interaction::DISCC(target,hitnuc,probe,p4probe);
382 
383  Target * tgt = interaction->InitStatePtr()->TgtPtr();
384  tgt -> SetHitQrkPdg (hitqrk);
385  tgt -> SetHitSeaQrk (fromsea);
386 
387  return interaction;
388 }
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:40
static Interaction * DISCC(int tgt, int nuc, int probe, double E=0)
Target * TgtPtr(void) const
Definition: InitialState.h:67
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
Interaction * Interaction::DISEM ( int  tgt,
int  nuc,
int  probe,
double  E = 0 
)
static

Definition at line 455 of file Interaction.cxx.

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

Referenced by DISEM().

456 {
457  Interaction * interaction =
459 
460  InitialState * init_state = interaction->InitStatePtr();
461  init_state->SetProbeE(E);
462  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
463 
464  return interaction;
465 }
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::DISEM ( int  tgt,
int  nuc,
int  qrk,
bool  sea,
int  probe,
double  E = 0 
)
static

Definition at line 467 of file Interaction.cxx.

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

469 {
470  Interaction* interaction = Interaction::DISEM(target,hitnuc,probe,E);
471 
472  Target * tgt = interaction->InitStatePtr()->TgtPtr();
473  tgt -> SetHitQrkPdg (hitqrk);
474  tgt -> SetHitSeaQrk (fromsea);
475 
476  return interaction;
477 }
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:40
Target * TgtPtr(void) const
Definition: InitialState.h:67
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 479 of file Interaction.cxx.

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

481 {
482  Interaction * interaction =
484 
485  InitialState * init_state = interaction->InitStatePtr();
486  init_state->SetProbeP4(p4probe);
487  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
488 
489  return interaction;
490 }
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::DISEM ( int  tgt,
int  nuc,
int  qrk,
bool  sea,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 492 of file Interaction.cxx.

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

495 {
496  Interaction * interaction = Interaction::DISEM(target,hitnuc,probe,p4probe);
497 
498  Target * tgt = interaction->InitStatePtr()->TgtPtr();
499  tgt -> SetHitQrkPdg (hitqrk);
500  tgt -> SetHitSeaQrk (fromsea);
501 
502  return interaction;
503 }
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:40
Target * TgtPtr(void) const
Definition: InitialState.h:67
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 390 of file Interaction.cxx.

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

Referenced by DISNC().

391 {
392  Interaction * interaction =
394 
395  InitialState * init_state = interaction->InitStatePtr();
396  init_state->SetProbeE(E);
397  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
398 
399  return interaction;
400 }
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::DISNC ( int  tgt,
int  nuc,
int  qrk,
bool  sea,
int  probe,
double  E = 0 
)
static

Definition at line 402 of file Interaction.cxx.

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

404 {
405  Interaction* interaction = Interaction::DISNC(target,hitnuc,probe,E);
406 
407  Target * tgt = interaction->InitStatePtr()->TgtPtr();
408  tgt -> SetHitQrkPdg (hitqrk);
409  tgt -> SetHitSeaQrk (fromsea);
410 
411  return interaction;
412 }
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:40
Target * TgtPtr(void) const
Definition: InitialState.h:67
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  qrk,
bool  sea,
int  fqrk,
int  probe,
double  E = 0 
)
static

Definition at line 414 of file Interaction.cxx.

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

416 {
417  Interaction* interaction = Interaction::DISNC(target,hitnuc,probe,E);
418 
419  Target * tgt = interaction->InitStatePtr()->TgtPtr();
420  tgt -> SetHitQrkPdg (hitqrk);
421  tgt -> SetHitSeaQrk (fromsea);
422 
423  XclsTag * xclstag = interaction->ExclTagPtr();
424  xclstag->SetFinalQuark(fqrk);
425 
426  return interaction;
427 }
Contains minimal information for tagging exclusive processes.
Definition: XclsTag.h:39
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:40
XclsTag * ExclTagPtr(void) const
Definition: Interaction.h:77
Target * TgtPtr(void) const
Definition: InitialState.h:67
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
void SetFinalQuark(int finalquark_pdgc=0)
Definition: XclsTag.cxx:138
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 429 of file Interaction.cxx.

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

431 {
432  Interaction * interaction =
434 
435  InitialState * init_state = interaction->InitStatePtr();
436  init_state->SetProbeP4(p4probe);
437  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
438 
439  return interaction;
440 }
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::DISNC ( int  tgt,
int  nuc,
int  qrk,
bool  sea,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 442 of file Interaction.cxx.

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

445 {
446  Interaction * interaction = Interaction::DISNC(target,hitnuc,probe,p4probe);
447 
448  Target * tgt = interaction->InitStatePtr()->TgtPtr();
449  tgt -> SetHitQrkPdg (hitqrk);
450  tgt -> SetHitSeaQrk (fromsea);
451 
452  return interaction;
453 }
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:40
Target * TgtPtr(void) const
Definition: InitialState.h:67
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 1046 of file Interaction.cxx.

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

Referenced by DMDI().

1047 {
1048  Interaction * interaction =
1050 
1051  InitialState * init_state = interaction->InitStatePtr();
1052  init_state->SetProbeE(E);
1053  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
1054 
1055  return interaction;
1056 }
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::DMDI ( int  tgt,
int  nuc,
int  qrk,
bool  sea,
int  probe,
double  E = 0 
)
static

Definition at line 1058 of file Interaction.cxx.

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

1060 {
1061  Interaction* interaction = Interaction::DMDI(target,hitnuc,probe,E);
1062 
1063  Target * tgt = interaction->InitStatePtr()->TgtPtr();
1064  tgt -> SetHitQrkPdg (hitqrk);
1065  tgt -> SetHitSeaQrk (fromsea);
1066 
1067  return interaction;
1068 }
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:40
Target * TgtPtr(void) const
Definition: InitialState.h:67
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
Interaction * Interaction::DMDI ( int  tgt,
int  nuc,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 1070 of file Interaction.cxx.

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

1072 {
1073  Interaction * interaction =
1075 
1076  InitialState * init_state = interaction->InitStatePtr();
1077  init_state->SetProbeP4(p4probe);
1078  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
1079 
1080  return interaction;
1081 }
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::DMDI ( int  tgt,
int  nuc,
int  qrk,
bool  sea,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 1083 of file Interaction.cxx.

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

1086 {
1087  Interaction * interaction = Interaction::DMDI(target,hitnuc,probe,p4probe);
1088 
1089  Target * tgt = interaction->InitStatePtr()->TgtPtr();
1090  tgt -> SetHitQrkPdg (hitqrk);
1091  tgt -> SetHitSeaQrk (fromsea);
1092 
1093  return interaction;
1094 }
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:40
Target * TgtPtr(void) const
Definition: InitialState.h:67
InitialState * InitStatePtr(void) const
Definition: Interaction.h:74
Interaction * Interaction::DME ( int  tgt,
int  nuc,
int  probe,
double  E = 0 
)
static

Definition at line 1019 of file Interaction.cxx.

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

1020 {
1021  // EDIT: need to be able to create dark matter elastic
1022  Interaction * interaction =
1024 
1025  InitialState * init_state = interaction->InitStatePtr();
1026  init_state->SetProbeE(E);
1027  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
1028 
1029  return interaction;
1030 }
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::DME ( int  tgt,
int  nuc,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 1032 of file Interaction.cxx.

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

1034 {
1035  // EDIT: need to be able to create dark matter elastic
1036  Interaction * interaction =
1038 
1039  InitialState * init_state = interaction->InitStatePtr();
1040  init_state->SetProbeP4(p4probe);
1041  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
1042 
1043  return interaction;
1044 }
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
const XclsTag& genie::Interaction::ExclTag ( void  ) const
inline

Definition at line 72 of file Interaction.h.

References fExclusiveTag.

Referenced by AcceptEvent(), genie::QELHadronicSystemGenerator::AddRecoilBaryon(), genie::RSPPResonanceSelector::AddResonance(), genie::PythiaBaseHadro2019::AssertValidity(), genie::AGKYLowW2019::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::HEDISStrucFunc::CreateQrkSF(), genie::utils::gsl::d2XSecRESFast_dWQ2_E::d2XSecRESFast_dWQ2_E(), genie::SppChannel::FromInteraction(), FSPrimLeptonPdg(), genie::NNBarOscPrimaryVtxGenerator::GenerateDecayProducts(), genie::SPPEventGenerator::GetFinalPionPdgCode(), genie::SPPEventGenerator::GetRecoilNucleonPdgCode(), genie::RESHadronicSystemGenerator::GetResonancePdgCode(), genie::LeptoHadronization::Hadronize(), genie::HELeptonXSec::Integrate(), 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::NucleonDecayPrimaryVtxGenerator::ProcessEventRecord(), genie::QELEventGenerator::ProcessEventRecord(), genie::DMELKinematicsGenerator::ProcessEventRecord(), genie::DMELEventGenerator::ProcessEventRecord(), genie::NNBarOscPrimaryVtxGenerator::ProcessEventRecord(), genie::hnl::Decayer::ProcessEventRecord(), genie::KPhaseSpace::Q2Lim(), genie::HEDISStrucFunc::QrkSFCode(), genie::HEDISStrucFunc::QrkSFName(), genie::KovalenkoQELCharmPXSec::ResDM(), SaveGraphsToRootFile(), SaveToPsFile(), genie::QELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::DMELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::LwlynSmithFF::StrangeF1V(), genie::LwlynSmithFF::StrangeFA(), genie::LwlynSmithFF::StrangexiF2V(), TestDecay(), genie::KPhaseSpace::Threshold(), genie::SlowRsclCharmDISPXSecLO::ValidProcess(), genie::AivazisCharmPXSecLO::ValidProcess(), genie::PaisQELLambdaPXSec::ValidProcess(), genie::ReinSehgalRESPXSec::ValidProcess(), genie::KovalenkoQELCharmPXSec::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:182
XclsTag* genie::Interaction::ExclTagPtr ( void  ) const
inline
TParticlePDG * Interaction::FSPrimLepton ( void  ) const

final state primary lepton

Definition at line 126 of file Interaction.cxx.

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

Referenced by genie::MECGenerator::AddFinalStateLepton(), genie::HEDISGenerator::AddPrimaryLepton(), genie::PrimaryLeptonGenerator::AddToEventRecord(), genie::OutgoingDarkGenerator::AddToEventRecord(), genie::COHKinematicsGenerator::CalculateKin_AlvarezRuso(), genie::COHPrimaryLeptonGenerator::CalculatePrimaryLepton_AlvarezRuso(), genie::COHKinematicsGenerator::CheckKinematics(), genie::NievesQELCCPXSec::CompareNievesTensors(), genie::utils::ComputeFullDMELPXSec(), genie::utils::ComputeFullQELPXSec(), genie::LabFrameHadronTensorI::contraction(), genie::utils::CosTheta0Max(), genie::SmithMonizQELCCPXSec::d3sQES_dQ2dvdkF_SM(), genie::TabulatedLabFrameHadronTensor::dSigma_dT_dCosTheta(), genie::TabulatedLabFrameHadronTensor::dSigma_dT_dCosTheta_rosenbluth(), genie::SmithMonizQELCCPXSec::dsQES_dQ2_SM(), genie::utils::mec::GetMaxXSecTlctl(), genie::MECGenerator::GetXSecMaxTlctl(), genie::AGCharm2019::Hadronize(), genie::HadronicSystemGenerator::HadronShowerCharge(), genie::AGKYLowW2019::HadronShowerCharge(), genie::MECXSec::Integrate(), genie::utils::kinematics::Jacobian(), genie::COHKinematicsGenerator::MaxXSec_AlvarezRuso(), genie::SuSAv2MECPXSec::PairRatio(), genie::NuEPrimaryLeptonGenerator::ProcessEventRecord(), genie::PrimaryLeptonGenerator::ProcessEventRecord(), genie::DMEOutgoingDarkGenerator::ProcessEventRecord(), genie::HENuElGenerator::ProcessEventRecord(), genie::OutgoingDarkGenerator::ProcessEventRecord(), genie::PhotonRESGenerator::ProcessEventRecord(), genie::GLRESGenerator::ProcessEventRecord(), genie::SPPEventGenerator::ProcessEventRecord(), genie::KPhaseSpace::Q2Lim(), genie::KPhaseSpace::Q2Lim_W(), genie::KPhaseSpace::Q2Lim_W_SPP(), genie::KPhaseSpace::Q2Lim_W_SPP_iso(), genie::QELEventGeneratorSuSA::SelectLeptonKinematics(), genie::MECGenerator::SelectNSVLeptonKinematics(), genie::MECGenerator::SelectSuSALeptonKinematics(), genie::SmithMonizUtils::SetInteraction(), genie::COHKinematicsGenerator::SetKinematics(), genie::DMELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::KPhaseSpace::Threshold(), genie::KPhaseSpace::Threshold_SPP_iso(), genie::PaisQELLambdaPXSec::ValidKinematics(), genie::KovalenkoQELCharmPXSec::ValidKinematics(), genie::KPhaseSpace::WLim(), genie::KPhaseSpace::WLim_SPP(), genie::KPhaseSpace::WLim_SPP_iso(), genie::KPhaseSpace::XLim(), genie::HEDISPXSec::XSec(), genie::EmpiricalMECPXSec2015::XSec(), genie::PhotonRESPXSec::XSec(), genie::GLRESPXSec::XSec(), genie::HENuElPXSec::XSec(), genie::QPMDISPXSec::XSec(), genie::BergerSehgalFMCOHPiPXSec2015::XSec(), genie::BergerSehgalCOHPiPXSec2015::XSec(), genie::LwlynSmithQELCCPXSec::XSec(), genie::QPMDMDISPXSec::XSec(), genie::DMElectronPXSec::XSec(), genie::PaisQELLambdaPXSec::XSec(), genie::ReinSehgalCOHPiPXSec::XSec(), genie::SuSAv2MECPXSec::XSec(), genie::SuSAv2QELPXSec::XSec(), genie::NievesSimoVacasMECPXSec2016::XSec(), genie::NievesQELCCPXSec::XSec(), genie::BSKLNBaseRESPXSec2014::XSec(), genie::MKSPPPXSec2020::XSec(), genie::KPhaseSpace::YLim(), and genie::KPhaseSpace::YLim_X().

127 {
128  int pdgc = this->FSPrimLeptonPdg();
129 
130  if(pdgc) return PDGLibrary::Instance()->Find(pdgc);
131  else return 0;
132 }
int FSPrimLeptonPdg(void) const
final state primary lepton pdg
static PDGLibrary * Instance(void)
Definition: PDGLibrary.cxx:68
TParticlePDG * Find(int pdgc, bool must_exist=true)
Definition: PDGLibrary.cxx:86
int Interaction::FSPrimLeptonPdg ( void  ) const

final state primary lepton pdg

Definition at line 134 of file Interaction.cxx.

References ExclTag(), genie::XclsTag::FinalLeptonPdg(), InitState(), genie::ProcessInfo::IsDarkMatter(), genie::ProcessInfo::IsDarkNeutralCurrent(), genie::ProcessInfo::IsEM(), genie::ProcessInfo::IsGlashowResonance(), genie::ProcessInfo::IsIMDAnnihilation(), genie::ProcessInfo::IsNuElectronElastic(), genie::ProcessInfo::IsPhotonResonance(), genie::ProcessInfo::IsWeakCC(), genie::ProcessInfo::IsWeakMix(), genie::ProcessInfo::IsWeakNC(), genie::kPdgDarkNeutrino, 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(), genie::NuEPrimaryLeptonGenerator::ProcessEventRecord(), genie::DMEOutgoingDarkGenerator::ProcessEventRecord(), genie::HENuElGenerator::ProcessEventRecord(), genie::PhotonRESGenerator::ProcessEventRecord(), genie::QELEventGenerator::ProcessEventRecord(), genie::GLRESGenerator::ProcessEventRecord(), genie::DMELEventGenerator::ProcessEventRecord(), genie::QELEventGeneratorSM::ProcessEventRecord(), genie::SPPEventGenerator::ProcessEventRecord(), and genie::AlamSimoAtharVacasSKPXSec2014::XSec().

135 {
136  const ProcessInfo & proc_info = this -> ProcInfo();
137  const InitialState & init_state = this -> InitState();
138  const XclsTag & xclstag = this -> ExclTag();
139 
140  int pdgc = init_state.ProbePdg();
141 
142  LOG("Interaction", pDEBUG) << "Probe PDG code: " << pdgc;
143 
144  if (proc_info.IsNuElectronElastic())
145  return kPdgElectron;
146 
147  if (proc_info.IsGlashowResonance() || proc_info.IsPhotonResonance())
148  return xclstag.FinalLeptonPdg();
149 
150  // vN (Weak-NC) or eN (EM)
151  if (proc_info.IsWeakNC() || proc_info.IsEM() || proc_info.IsWeakMix() || proc_info.IsDarkMatter()) return pdgc; // EDIT: DM does not change in FS
152 
153  // vN (Weak-CC)
154  else if (proc_info.IsWeakCC()) {
155  int clpdgc;
156  if (proc_info.IsIMDAnnihilation())
157  clpdgc = kPdgMuon;
158  else
159  clpdgc = pdg::Neutrino2ChargedLepton(pdgc);
160  return clpdgc;
161  }
162  else if (proc_info.IsDarkNeutralCurrent()){
163  return kPdgDarkNeutrino;
164  }
165  LOG("Interaction", pWARN)
166  << "Could not figure out the final state primary lepton pdg code!!";
167 
168  return 0;
169 }
bool IsPhotonResonance(void) const
bool IsWeakMix(void) const
bool IsWeakCC(void) const
int FinalLeptonPdg(void) const
Definition: XclsTag.h:74
bool IsDarkNeutralCurrent(void) const
bool IsIMDAnnihilation(void) const
const int kPdgElectron
Definition: PDGCodes.h:35
Contains minimal information for tagging exclusive processes.
Definition: XclsTag.h:39
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:96
bool IsNuElectronElastic(void) const
A class encapsulating an enumeration of interaction types (EM, Weak-CC, Weak-NC) and scattering types...
Definition: ProcessInfo.h:46
int ProbePdg(void) const
Definition: InitialState.h:64
#define pWARN
Definition: Messenger.h:60
bool IsEM(void) const
bool IsDarkMatter(void) const
const XclsTag & ExclTag(void) const
Definition: Interaction.h:72
int Neutrino2ChargedLepton(int pdgc)
Definition: PDGUtils.cxx:218
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
bool IsGlashowResonance(void) const
const int kPdgDarkNeutrino
Definition: PDGCodes.h:221
Initial State information.
Definition: InitialState.h:48
#define pDEBUG
Definition: Messenger.h:63
Interaction * Interaction::GLR ( int  tgt,
double  E = 0 
)
static

Definition at line 952 of file Interaction.cxx.

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

953 {
954  Interaction * interaction =
956 
957  InitialState * init_state = interaction->InitStatePtr();
958  init_state->SetProbeE(E);
959  init_state->TgtPtr()->SetHitNucPdg(0);
960 
961  return interaction;
962 }
const int kPdgAntiNuE
Definition: PDGCodes.h:29
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::GLR ( int  tgt,
const TLorentzVector &  p4probe 
)
static

Definition at line 964 of file Interaction.cxx.

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

965 {
966  Interaction * interaction =
968 
969  InitialState * init_state = interaction->InitStatePtr();
970  init_state->SetProbeP4(p4probe);
971  init_state->TgtPtr()->SetHitNucPdg(0);
972 
973  return interaction;
974 }
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:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::HNL ( int  probe,
double  E = 0,
int  decayed_mode = -1 
)
static

Definition at line 1096 of file Interaction.cxx.

References Create(), ExclTagPtr(), InitStatePtr(), genie::kIntHNL, genie::kScNull, genie::XclsTag::SetDecayMode(), and genie::InitialState::SetProbeE().

Referenced by main(), and TestDecay().

1097 {
1098  Interaction * interaction =
1099  Interaction::Create(0, probe, kScNull, kIntHNL);
1100  interaction->ExclTagPtr()->SetDecayMode(decayed_mode);
1101 
1102  InitialState * init_state = interaction->InitStatePtr();
1103  init_state->SetProbeE(E);
1104 
1105  return interaction;
1106 }
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
void SetDecayMode(int decay_mode)
Definition: XclsTag.cxx:133
XclsTag * ExclTagPtr(void) const
Definition: Interaction.h:77
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:48
Interaction * Interaction::IBD ( int  tgt,
int  nuc,
int  probe,
double  E = 0 
)
static

Definition at line 580 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().

581 {
582  Interaction * interaction =
584 
585  InitialState * init_state = interaction->InitStatePtr();
586  init_state->SetProbeE(E);
587  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
588 
589  return interaction;
590 }
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::IBD ( int  tgt,
int  nuc,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 592 of file Interaction.cxx.

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

594 {
595  Interaction * interaction =
597 
598  InitialState * init_state = interaction->InitStatePtr();
599  init_state->SetProbeP4(p4probe);
600  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
601 
602  return interaction;
603 }
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::IMD ( int  tgt,
double  E = 0 
)
static

Definition at line 794 of file Interaction.cxx.

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

795 {
796  Interaction * interaction =
798 
799  InitialState * init_state = interaction->InitStatePtr();
800  init_state->SetProbeE(E);
801 
802  return interaction;
803 }
const int kPdgNuMu
Definition: PDGCodes.h:30
void SetProbeE(double E)
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:48
Interaction * Interaction::IMD ( int  tgt,
const TLorentzVector &  p4probe 
)
static

Definition at line 805 of file Interaction.cxx.

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

806 {
807  Interaction * interaction =
809 
810  InitialState * init_state = interaction->InitStatePtr();
811  init_state->SetProbeP4(p4probe);
812 
813  return interaction;
814 }
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:48
void Interaction::Init ( void  )
private

Definition at line 89 of file Interaction.cxx.

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

Referenced by Interaction(), and Reset().

90 {
91  fInitialState = new InitialState ();
92  fProcInfo = new ProcessInfo ();
93  fKinematics = new Kinematics ();
94  fExclusiveTag = new XclsTag ();
95  fKinePhSp = new KPhaseSpace (this);
96 }
InitialState * fInitialState
Initial State info.
Definition: Interaction.h:179
Generated/set kinematical variables for an event.
Definition: Kinematics.h:39
XclsTag * fExclusiveTag
Additional info for exclusive channels.
Definition: Interaction.h:182
Contains minimal information for tagging exclusive processes.
Definition: XclsTag.h:39
A class encapsulating an enumeration of interaction types (EM, Weak-CC, Weak-NC) and scattering types...
Definition: ProcessInfo.h:46
Kinematical phase space.
Definition: KPhaseSpace.h:33
Kinematics * fKinematics
kinematical variables
Definition: Interaction.h:181
ProcessInfo * fProcInfo
Process info (scattering, weak current,...)
Definition: Interaction.h:180
KPhaseSpace * fKinePhSp
Kinematic phase space.
Definition: Interaction.h:183
Initial State information.
Definition: InitialState.h:48
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::hnl::Decayer::AddInitialState(), genie::InitialStateAppender::AddNeutrino(), genie::InitialStateAppender::AddNucleus(), genie::QELHadronicSystemGenerator::AddRecoilBaryon(), genie::IBDHadronicSystemGenerator::AddRecoilBaryon(), genie::RSPPHadronicSystemGenerator::AddResonanceDecayProducts(), genie::InitialStateAppender::AddStruckParticle(), genie::NuETargetRemnantGenerator::AddTargetNucleusRemnant(), genie::DMETargetRemnantGenerator::AddTargetNucleusRemnant(), genie::AGKYLowW2019::ApplyRijk(), genie::PythiaBaseHadro2019::AssertValidity(), genie::utils::BindHitNucleon(), genie::ReinSehgalRESXSecWithCache::CacheResExcitationXSec(), genie::ReinSehgalRESXSecWithCacheFast::CacheResExcitationXSec(), genie::SPPXSecWithCache::CacheResExcitationXSec(), genie::QPMDISStrucFuncBase::CalcPDFs(), genie::QPMDMDISStrucFuncBase::CalcPDFs(), genie::QPMDISStrucFuncBase::Calculate(), genie::QPMDMDISStrucFuncBase::Calculate(), genie::SKHadronicSystemGenerator::CalculateHadronicSystem_AtharSingleKaon(), genie::SKKinematicsGenerator::CalculateKin_AtharSingleKaon(), genie::COHKinematicsGenerator::CalculateKin_BergerSehgal(), genie::COHKinematicsGenerator::CalculateKin_ReinSehgal(), genie::utils::ComputeFullDMELPXSec(), genie::utils::ComputeFullQELPXSec(), genie::DISKinematicsGenerator::ComputeMaxXSec(), genie::QELEventGenerator::ComputeMaxXSec(), genie::SKKinematicsGenerator::ComputeMaxXSec(), genie::DMDISKinematicsGenerator::ComputeMaxXSec(), genie::DMELEventGenerator::ComputeMaxXSec(), genie::LabFrameHadronTensorI::contraction(), ConvertToGHad(), ConvertToGST(), ConvertToGTracker(), genie::utils::CosTheta0Max(), genie::HEDISStrucFunc::CreateQrkSF(), genie::KNOTunedQPMDISPXSec::DISRESJoinSuppressionFactor(), genie::TabulatedLabFrameHadronTensor::dSigma_dT_dCosTheta(), genie::TabulatedLabFrameHadronTensor::dSigma_dT_dCosTheta_rosenbluth(), genie::HELeptonKinematicsGenerator::Energy(), genie::NuEKinematicsGenerator::Energy(), genie::DMEKinematicsGenerator::Energy(), genie::SKKinematicsGenerator::Energy(), genie::KineGeneratorWithCache::Energy(), genie::COHKinematicsGenerator::Energy(), genie::MArunAxialFormFactorModel::FA(), genie::LwlynSmithFFNC::Fp(), genie::LwlynSmithFF::Fp(), genie::SppChannel::FromInteraction(), FSPrimLeptonPdg(), genie::GalsterELFormFactorsModel::Gen(), genie::BBA03ELFormFactorsModel::Gen(), GenerateEvent(), genie::COHDNuEventGenerator::GenerateKinematics(), genie::hnl::Decayer::GenerateMomentum(), genie::HEDISInteractionListGenerator::GetFinalQuarks(), genie::DISInteractionListGenerator::GetHitQuarks(), genie::HEDISInteractionListGenerator::GetHitQuarks(), genie::utils::mec::GetMaxXSecTlctl(), genie::evtlib::EventLibraryInterface::GetRecord(), genie::XSecScaleMap::GetScaling(), genie::TransverseEnhancementFFModel::GetTransEnhMagFF(), genie::evtlib::EvtLibPXSec::GetXSec(), genie::MECGenerator::GetXSecMaxTlctl(), genie::Pythia6Hadro2019::Hadronize(), genie::Pythia8Hadro2019::Hadronize(), genie::LeptoHadronization::Hadronize(), genie::HadronicSystemGenerator::HadronShowerCharge(), genie::AGKYLowW2019::HadronShowerCharge(), genie::evtlib::EvtLibPXSec::Integral(), genie::IBDXSecMap::Integral(), genie::EmpiricalMECPXSec2015::Integral(), genie::NormXSec::Integral(), genie::LwlynSmithQELCCPXSec::Integral(), genie::CEvNSXSec::Integrate(), genie::COHXSec::Integrate(), genie::DISXSec::Integrate(), genie::HEDISXSec::Integrate(), genie::COHDNuXSec::Integrate(), genie::DMDISXSec::Integrate(), genie::HELeptonXSec::Integrate(), genie::MECXSec::Integrate(), genie::SPPXSec::Integrate(), genie::ReinSehgalRESXSec::Integrate(), genie::SmithMonizQELCCXSec::Integrate(), genie::ReinSehgalSPPXSec::Integrate(), genie::ReinSehgalRESXSecFast::Integrate(), genie::NewQELXSec::Integrate(), genie::KPhaseSpace::IsAboveThreshold(), genie::utils::kinematics::Jacobian(), main(), genie::PythiaBaseHadro2019::MakeQuarkDiquarkAssignments(), genie::COHKinematicsGenerator::MaxXSec_AlvarezRuso(), genie::COHKinematicsGenerator::MaxXSec_ReinSehgal(), genie::AGKYLowW2019::MultiplicityProb(), genie::utils::ghep::NeutReactionCode(), genie::utils::ghep::NuanceReactionCode(), genie::QPMDISStrucFuncBase::NuclMod(), genie::QPMDMDISStrucFuncBase::NuclMod(), genie::utils::nuclear::NuclQELXSecSuppression(), genie::PrimaryLeptonGenerator::NucRestFrame2Lab(), genie::OutgoingDarkGenerator::NucRestFrame2Lab(), genie::HEDISStrucFunc::NucSFCode(), genie::HEDISStrucFunc::NucSFName(), genie::SuSAv2MECPXSec::PairRatio(), genie::utils::kinematics::PhaseSpaceVolume(), genie::NuEPrimaryLeptonGenerator::ProcessEventRecord(), genie::HELeptonKinematicsGenerator::ProcessEventRecord(), genie::DFRHadronicSystemGenerator::ProcessEventRecord(), genie::DMEOutgoingDarkGenerator::ProcessEventRecord(), genie::DFRKinematicsGenerator::ProcessEventRecord(), genie::QELKinematicsGenerator::ProcessEventRecord(), genie::HENuElGenerator::ProcessEventRecord(), genie::PhotonCOHGenerator::ProcessEventRecord(), genie::PhotonRESGenerator::ProcessEventRecord(), genie::QELEventGenerator::ProcessEventRecord(), genie::NucleonDecayPrimaryVtxGenerator::ProcessEventRecord(), genie::IBDKinematicsGenerator::ProcessEventRecord(), genie::DMELKinematicsGenerator::ProcessEventRecord(), genie::QELEventGeneratorSuSA::ProcessEventRecord(), genie::DISKinematicsGenerator::ProcessEventRecord(), genie::HEDISKinematicsGenerator::ProcessEventRecord(), genie::GLRESGenerator::ProcessEventRecord(), genie::DMELEventGenerator::ProcessEventRecord(), genie::NNBarOscPrimaryVtxGenerator::ProcessEventRecord(), genie::FermiMover::ProcessEventRecord(), genie::DMDISKinematicsGenerator::ProcessEventRecord(), genie::PauliBlocker::ProcessEventRecord(), genie::hnl::Decayer::ProcessEventRecord(), genie::evtlib::EventLibraryInterface::ProcessEventRecord(), genie::AGCharm2019::ProcessEventRecord(), genie::QELEventGeneratorSM::ProcessEventRecord(), genie::AGKYLowW2019::ProcessEventRecord(), genie::QPMDISStrucFuncBase::Q2(), genie::QPMDMDISStrucFuncBase::Q2(), genie::utils::kinematics::Q2(), genie::KPhaseSpace::Q2Lim(), genie::KPhaseSpace::Q2Lim_W(), genie::KPhaseSpace::Q2Lim_W_SPP(), genie::KPhaseSpace::Q2Lim_W_SPP_iso(), genie::HEDISStrucFunc::QrkSFCode(), genie::HEDISStrucFunc::QrkSFName(), genie::SuSAv2MECPXSec::Qvalue(), SaveGraphsToRootFile(), genie::MECGenerator::SelectEmpiricalKinematics(), genie::PhysInteractionSelector::SelectInteraction(), genie::QELEventGeneratorSuSA::SelectLeptonKinematics(), genie::MECGenerator::SelectNSVLeptonKinematics(), genie::MECGenerator::SelectSuSALeptonKinematics(), genie::SmithMonizUtils::SetInteraction(), genie::QvalueShifter::Shift(), genie::QELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::DMELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::BBA05ELFormFactorsModel::tau(), genie::LwlynSmithFF::tau(), genie::KPhaseSpace::Threshold(), genie::KPhaseSpace::Threshold_SPP_iso(), genie::KPhaseSpace::TLim(), genie::utils::kinematics::UpdateWQ2FromXY(), genie::utils::kinematics::UpdateWYFromXQ2(), genie::utils::kinematics::UpdateXFromQ2Y(), genie::utils::kinematics::UpdateXYFromWQ2(), genie::IBDXSecMap::ValidKinematics(), genie::BertuzzoDNuCOHPXSec::ValidKinematics(), genie::PaisQELLambdaPXSec::ValidKinematics(), genie::KovalenkoQELCharmPXSec::ValidKinematics(), genie::IBDXSecMap::ValidProcess(), genie::PattonCEvNSPXSec::ValidProcess(), genie::SlowRsclCharmDISPXSecLO::ValidProcess(), genie::RosenbluthPXSec::ValidProcess(), genie::AivazisCharmPXSecLO::ValidProcess(), genie::BergerSehgalFMCOHPiPXSec2015::ValidProcess(), genie::AlvarezRusoCOHPiPXSec::ValidProcess(), genie::BertuzzoDNuCOHPXSec::ValidProcess(), genie::BergerSehgalCOHPiPXSec2015::ValidProcess(), genie::LwlynSmithQELCCPXSec::ValidProcess(), genie::PaisQELLambdaPXSec::ValidProcess(), genie::ReinSehgalCOHPiPXSec::ValidProcess(), genie::SuSAv2QELPXSec::ValidProcess(), genie::SuSAv2MECPXSec::ValidProcess(), genie::BostedChristyEMPXSec::ValidProcess(), genie::ReinSehgalRESPXSec::ValidProcess(), genie::KovalenkoQELCharmPXSec::ValidProcess(), genie::NievesQELCCPXSec::ValidProcess(), genie::SmithMonizQELCCPXSec::ValidProcess(), genie::BSKLNBaseRESPXSec2014::ValidProcess(), genie::utils::kinematics::W(), genie::KPhaseSpace::WLim(), genie::KPhaseSpace::WLim_SPP(), genie::KPhaseSpace::WLim_SPP_iso(), genie::KPhaseSpace::XLim(), genie::IBDXSecMap::XSec(), genie::SlowRsclCharmDISPXSecLO::XSec(), genie::EmpiricalMECPXSec2015::XSec(), genie::NormXSec::XSec(), genie::PaisQELLambdaPXSec::XSec(), genie::SuSAv2QELPXSec::XSec(), genie::NievesSimoVacasMECPXSec2016::XSec(), genie::SuSAv2MECPXSec::XSec(), genie::KovalenkoQELCharmPXSec::XSec(), genie::SuSAv2QELPXSec::XSecScaling(), genie::KPhaseSpace::YLim(), genie::KPhaseSpace::YLim_X(), and genie::KovalenkoQELCharmPXSec::ZR().

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

Definition at line 74 of file Interaction.h.

References fInitialState.

Referenced by genie::hnl::Decayer::AddInitialState(), AMNuGamma(), ASK(), genie::DISXSec::CacheFreeNucleonXSec(), genie::DMDISXSec::CacheFreeNucleonXSec(), genie::ReinSehgalRESXSecWithCache::CacheResExcitationXSec(), genie::ReinSehgalRESXSecWithCacheFast::CacheResExcitationXSec(), genie::SPPXSecWithCache::CacheResExcitationXSec(), genie::COHKinematicsGenerator::CalculateKin_AlvarezRuso(), genie::SKKinematicsGenerator::CalculateKin_AtharSingleKaon(), CEvNS(), genie::COHKinematicsGenerator::CheckKinematics(), COHCC(), COHNC(), genie::HEDISInteractionListGenerator::CreateHEDISlist(), 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::EnergyDeltaFunctionSolutionDMEL(), genie::utils::EnergyDeltaFunctionSolutionQEL(), GenerateOriginMomentum(), GLR(), HNL(), IBD(), IMD(), genie::DISXSec::Integrate(), genie::HEDISXSec::Integrate(), genie::DMDISXSec::Integrate(), genie::HELeptonXSec::Integrate(), genie::AlamSimoAtharVacasSKXSec::Integrate(), genie::SPPXSec::Integrate(), genie::ReinSehgalRESXSec::Integrate(), genie::ReinSehgalRESXSecFast::Integrate(), main(), MECCC(), MECEM(), MECNC(), NDecay(), genie::utils::nuclear::NuclQELXSecSuppression(), genie::HELeptonInteractionListGenerator::PhotonRESInteraction(), genie::QELKinematicsGenerator::ProcessEventRecord(), genie::QELEventGenerator::ProcessEventRecord(), genie::DMELKinematicsGenerator::ProcessEventRecord(), genie::DMELEventGenerator::ProcessEventRecord(), QELCC(), QELEM(), QELNC(), RESCC(), RESEM(), RESNC(), genie::PhysInteractionSelector::SelectInteraction(), genie::ToyInteractionSelector::SelectInteraction(), genie::MECGenerator::SelectNSVLeptonKinematics(), genie::MECGenerator::SelectSuSALeptonKinematics(), genie::COHKinematicsGenerator::SetKinematics(), genie::QELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::DMELKinematicsGenerator::SpectralFuncExperimentalCode(), TestDecay(), genie::hnl::Decayer::UpdateEventRecord(), genie::AlamSimoAtharVacasSKPXSec2014::XSec(), and genie::GEVGDriver::XSecSum().

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

Definition at line 71 of file Interaction.h.

References fKinematics.

Referenced by genie::MECGenerator::AddFinalStateLepton(), genie::HEDISGenerator::AddPrimaryLepton(), genie::QPMDISStrucFuncBase::Calculate(), genie::QPMDMDISStrucFuncBase::Calculate(), genie::COHHadronicSystemGenerator::CalculateHadronicSystem_BergerSehgalFM(), genie::COHHadronicSystemGenerator::CalculateHadronicSystem_ReinSehgal(), genie::COHPrimaryLeptonGenerator::CalculatePrimaryLepton_AlvarezRuso(), genie::LabFrameHadronTensorI::contraction(), ConvertToGHad(), ConvertToGST(), genie::KNOTunedQPMDISPXSec::DISRESJoinSuppressionFactor(), genie::KovalenkoQELCharmPXSec::DR(), genie::TabulatedLabFrameHadronTensor::dSigma_dT_dCosTheta(), genie::TabulatedLabFrameHadronTensor::dSigma_dT_dCosTheta_rosenbluth(), genie::utils::EnergyDeltaFunctionSolutionDMEL(), genie::utils::EnergyDeltaFunctionSolutionQEL(), genie::DipoleAxialFormFactorModel::FA(), genie::MArunAxialFormFactorModel::FA(), genie::LwlynSmithFFNC::Fp(), genie::LwlynSmithFF::Fp(), genie::GalsterELFormFactorsModel::Gen(), genie::BBA03ELFormFactorsModel::Gen(), genie::BBA07ELFormFactorsModel::Gen(), GenerateEvent(), genie::DipoleELFormFactorsModel::Gep(), genie::GalsterELFormFactorsModel::Gep(), genie::BBA03ELFormFactorsModel::Gep(), genie::BBA07ELFormFactorsModel::Gep(), genie::MECScaleVsW::GetScaling(), genie::TransverseEnhancementFFModel::GetTransEnhMagFF(), genie::DipoleELFormFactorsModel::Gmn(), genie::BBA03ELFormFactorsModel::Gmn(), genie::BBA07ELFormFactorsModel::Gmn(), genie::DipoleELFormFactorsModel::Gmp(), genie::BBA03ELFormFactorsModel::Gmp(), genie::BBA07ELFormFactorsModel::Gmp(), genie::Pythia6Hadro2019::Hadronize(), genie::Pythia8Hadro2019::Hadronize(), genie::LeptoHadronization::Hadronize(), genie::KPhaseSpace::IsAllowed(), genie::utils::kinematics::Jacobian(), genie::PythiaBaseHadro2019::MakeQuarkDiquarkAssignments(), genie::AGKYLowW2019::MaxMult(), genie::utils::ghep::NeutReactionCode(), genie::QPMDISStrucFuncBase::NuclMod(), genie::QPMDMDISStrucFuncBase::NuclMod(), genie::utils::nuclear::NuclQELXSecSuppression(), genie::SuSAv2MECPXSec::PairRatio(), genie::DFRHadronicSystemGenerator::ProcessEventRecord(), genie::NuEPrimaryLeptonGenerator::ProcessEventRecord(), genie::DMEOutgoingDarkGenerator::ProcessEventRecord(), genie::PrimaryLeptonGenerator::ProcessEventRecord(), genie::HENuElGenerator::ProcessEventRecord(), genie::OutgoingDarkGenerator::ProcessEventRecord(), genie::PhotonRESGenerator::ProcessEventRecord(), genie::PhotonCOHGenerator::ProcessEventRecord(), genie::GLRESGenerator::ProcessEventRecord(), genie::QPMDISStrucFuncBase::Q2(), genie::QPMDMDISStrucFuncBase::Q2(), genie::utils::kinematics::Q2(), genie::QPMDISStrucFuncBase::R(), genie::QPMDMDISStrucFuncBase::R(), genie::DMBYStrucFunc::ScalingVar(), genie::BYStrucFunc::ScalingVar(), genie::QPMDISStrucFuncBase::ScalingVar(), genie::QPMDMDISStrucFuncBase::ScalingVar(), genie::AGKY2019::SelectHadronizer(), genie::MKFFCC::tau(), genie::MKFFEM::tau(), genie::BBA05ELFormFactorsModel::tau(), genie::LwlynSmithFF::tau(), genie::KPhaseSpace::TLim(), genie::BertuzzoDNuCOHPXSec::ValidKinematics(), genie::utils::kinematics::W(), genie::EmpiricalMECPXSec2015::XSec(), genie::SlowRsclCharmDISPXSecLO::XSec(), genie::StrumiaVissaniIBDPXSec::XSec(), genie::PaisQELLambdaPXSec::XSec(), genie::BardinIMDRadCorPXSec::XSec(), genie::SuSAv2QELPXSec::XSec(), genie::SuSAv2MECPXSec::XSec(), genie::NievesSimoVacasMECPXSec2016::XSec(), genie::KovalenkoQELCharmPXSec::XSec(), genie::KPhaseSpace::YLim(), and genie::KPhaseSpace::YLim_X().

71 { return *fKinematics; }
Kinematics * fKinematics
kinematical variables
Definition: Interaction.h:181
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::HEDISGenerator::AddPrimaryLepton(), 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::ComputeFullDMELPXSec(), genie::utils::ComputeFullQELPXSec(), genie::DFRKinematicsGenerator::ComputeMaxXSec(), genie::RESKinematicsGenerator::ComputeMaxXSec(), genie::HELeptonKinematicsGenerator::ComputeMaxXSec(), genie::QELKinematicsGenerator::ComputeMaxXSec(), genie::IBDKinematicsGenerator::ComputeMaxXSec(), genie::NuEKinematicsGenerator::ComputeMaxXSec(), genie::DMEKinematicsGenerator::ComputeMaxXSec(), genie::DISKinematicsGenerator::ComputeMaxXSec(), genie::SKKinematicsGenerator::ComputeMaxXSec(), genie::DMELKinematicsGenerator::ComputeMaxXSec(), genie::DMDISKinematicsGenerator::ComputeMaxXSec(), genie::QELEventGeneratorSM::ComputeMaxXSec(), genie::KNOTunedQPMDISPXSec::DISRESJoinSuppressionFactor(), genie::utils::gsl::d3XSecSM_dQ2dvdkF_E::DoEval(), genie::utils::gsl::d1XSecSM_dQ2_E::DoEval(), genie::ZExpAxialFormFactorModel::FA(), genie::LwlynSmithQELCCPXSec::FullDifferentialXSec(), genie::CEvNSEventGenerator::GenerateKinematics(), genie::COHDNuEventGenerator::GenerateKinematics(), genie::MECGenerator::GenerateNSVInitialHadrons(), genie::QELEventGeneratorSuSA::GenerateNucleon(), GetCrossSection(), genie::utils::mec::GetMaxXSecTlctl(), genie::LeptoHadronization::Hadronize(), main(), genie::COHKinematicsGenerator::MaxXSec_BergerSehgal(), genie::COHKinematicsGenerator::MaxXSec_BergerSehgalFM(), genie::COHKinematicsGenerator::MaxXSec_ReinSehgal(), genie::utils::kinematics::PhaseSpaceVolume(), genie::HELeptonKinematicsGenerator::ProcessEventRecord(), genie::DISHadronicSystemGenerator::ProcessEventRecord(), genie::DFRKinematicsGenerator::ProcessEventRecord(), genie::NuEKinematicsGenerator::ProcessEventRecord(), genie::QELKinematicsGenerator::ProcessEventRecord(), genie::DMEKinematicsGenerator::ProcessEventRecord(), genie::RESKinematicsGenerator::ProcessEventRecord(), genie::QELEventGenerator::ProcessEventRecord(), genie::PhotonRESGenerator::ProcessEventRecord(), genie::IBDKinematicsGenerator::ProcessEventRecord(), genie::DMELKinematicsGenerator::ProcessEventRecord(), genie::DISKinematicsGenerator::ProcessEventRecord(), genie::NormGenerator::ProcessEventRecord(), genie::HEDISKinematicsGenerator::ProcessEventRecord(), genie::DMELEventGenerator::ProcessEventRecord(), genie::DMDISKinematicsGenerator::ProcessEventRecord(), genie::evtlib::EventLibraryInterface::ProcessEventRecord(), genie::QELEventGeneratorSM::ProcessEventRecord(), genie::SPPEventGenerator::ProcessEventRecord(), genie::HEDISKinematicsGenerator::Scan(), genie::MECGenerator::SelectEmpiricalKinematics(), genie::QELEventGeneratorSuSA::SelectLeptonKinematics(), genie::MECGenerator::SelectNSVLeptonKinematics(), genie::RSPPResonanceSelector::SelectResonance(), genie::MECGenerator::SelectSuSALeptonKinematics(), genie::QELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::DMELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::hnl::Decayer::UpdateEventRecord(), genie::utils::kinematics::UpdateWQ2FromXY(), genie::utils::kinematics::UpdateWYFromXQ2(), genie::utils::kinematics::UpdateXFromQ2Y(), genie::utils::kinematics::UpdateXYFromWQ2(), VerticalSlice(), genie::EmpiricalMECPXSec2015::XSec(), genie::NievesSimoVacasMECPXSec2016::XSec(), and genie::NievesQELCCPXSec::XSec().

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

Definition at line 841 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().

842 {
843  Interaction * interaction =
844  Interaction::Create(tgt, probe, kScMEC, kIntWeakCC);
845 
846  InitialState * init_state = interaction->InitStatePtr();
847  init_state->SetProbeE(E);
848  init_state->TgtPtr()->SetHitNucPdg(ncluster);
849 
850  return interaction;
851 }
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::MECCC ( int  tgt,
int  nuccluster,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 853 of file Interaction.cxx.

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

855 {
856  Interaction * interaction =
857  Interaction::Create(tgt, probe, kScMEC, kIntWeakCC);
858 
859  InitialState * init_state = interaction->InitStatePtr();
860  init_state->SetProbeP4(p4probe);
861  init_state->TgtPtr()->SetHitNucPdg(ncluster);
862 
863  return interaction;
864 }
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::MECCC ( int  tgt,
int  probe,
double  E = 0 
)
static

Definition at line 866 of file Interaction.cxx.

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

867 {
868  Interaction * interaction =
869  Interaction::Create(tgt, probe, kScMEC, kIntWeakCC);
870 
871  InitialState * init_state = interaction->InitStatePtr();
872  init_state->SetProbeE(E);
873 
874  return interaction;
875 }
void SetProbeE(double E)
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:48
Interaction * Interaction::MECCC ( int  tgt,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 877 of file Interaction.cxx.

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

879 {
880  Interaction * interaction =
881  Interaction::Create(tgt, probe, kScMEC, kIntWeakCC);
882 
883  InitialState * init_state = interaction->InitStatePtr();
884  init_state->SetProbeP4(p4probe);
885 
886  return interaction;
887 }
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:48
Interaction * Interaction::MECEM ( int  tgt,
int  nuccluster,
int  probe,
double  E = 0 
)
static

Definition at line 927 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().

928 {
929  Interaction * interaction =
930  Interaction::Create(tgt, probe, kScMEC, kIntEM);
931 
932  InitialState * init_state = interaction->InitStatePtr();
933  init_state->SetProbeE(E);
934  init_state->TgtPtr()->SetHitNucPdg(ncluster);
935 
936  return interaction;
937 }
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::MECEM ( int  tgt,
int  probe,
double  E = 0 
)
static

Definition at line 915 of file Interaction.cxx.

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

916 {
917 
918  Interaction * interaction =
919  Interaction::Create(tgt, probe, kScMEC, kIntEM);
920 
921  InitialState * init_state = interaction->InitStatePtr();
922  init_state->SetProbeE(E);
923 
924  return interaction;
925 }
void SetProbeE(double E)
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:48
Interaction * Interaction::MECEM ( int  tgt,
int  nuccluster,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 939 of file Interaction.cxx.

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

941 {
942  Interaction * interaction =
943  Interaction::Create(tgt, probe, kScMEC, kIntEM);
944 
945  InitialState * init_state = interaction->InitStatePtr();
946  init_state->SetProbeP4(p4probe);
947  init_state->TgtPtr()->SetHitNucPdg(ncluster);
948 
949  return interaction;
950 }
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::MECNC ( int  tgt,
int  nuccluster,
int  probe,
double  E = 0 
)
static

Definition at line 890 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().

891 {
892  Interaction * interaction =
893  Interaction::Create(tgt, probe, kScMEC, kIntWeakNC);
894 
895  InitialState * init_state = interaction->InitStatePtr();
896  init_state->SetProbeE(E);
897  init_state->TgtPtr()->SetHitNucPdg(ncluster);
898 
899  return interaction;
900 }
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::MECNC ( int  tgt,
int  nuccluster,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 902 of file Interaction.cxx.

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

904 {
905  Interaction * interaction =
906  Interaction::Create(tgt, probe, kScMEC, kIntWeakNC);
907 
908  InitialState * init_state = interaction->InitStatePtr();
909  init_state->SetProbeP4(p4probe);
910  init_state->TgtPtr()->SetHitNucPdg(ncluster);
911 
912  return interaction;
913 }
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::NDecay ( int  tgt,
int  decay_mode = -1,
int  decayed_nucleon = 0 
)
static

Definition at line 976 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().

977 {
978  Interaction * interaction =
980  interaction->ExclTagPtr()->SetDecayMode(decay_mode);
981 
982  InitialState * init_state = interaction->InitStatePtr();
983  init_state->TgtPtr()->SetHitNucPdg(decayed_nucleon);
984 
985  return interaction;
986 }
Summary information for an interaction.
Definition: Interaction.h:56
void SetDecayMode(int decay_mode)
Definition: XclsTag.cxx:133
XclsTag * ExclTagPtr(void) const
Definition: Interaction.h:77
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::NOsc ( int  tgt,
int  annihilation_mode = -1 
)
static

Definition at line 988 of file Interaction.cxx.

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

Referenced by genie::NNBarOscPrimaryVtxGenerator::GenerateDecayProducts(), and main().

989 {
990  Interaction * interaction =
992  interaction->ExclTagPtr()->SetDecayMode(annihilation_mode);
993  return interaction;
994 }
Summary information for an interaction.
Definition: Interaction.h:56
void SetDecayMode(int decay_mode)
Definition: XclsTag.cxx:133
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 305 of file Interaction.cxx.

References Copy().

306 {
307  this->Copy(interaction);
308  return (*this);
309 }
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::SPPXSecWithCache::CacheResExcitationXSec(), genie::ReinSehgalRESXSecWithCacheFast::CacheResExcitationXSec(), genie::COHKinematicsGenerator::CalculateKin_BergerSehgal(), genie::COHKinematicsGenerator::CalculateKin_BergerSehgalFM(), genie::COHKinematicsGenerator::CalculateKin_ReinSehgal(), genie::utils::ComputeFullDMELPXSec(), genie::utils::ComputeFullQELPXSec(), genie::DFRKinematicsGenerator::ComputeMaxXSec(), genie::RESKinematicsGenerator::ComputeMaxXSec(), genie::IBDKinematicsGenerator::ComputeMaxXSec(), genie::NuEKinematicsGenerator::ComputeMaxXSec(), genie::QELKinematicsGenerator::ComputeMaxXSec(), genie::DISKinematicsGenerator::ComputeMaxXSec(), genie::DMEKinematicsGenerator::ComputeMaxXSec(), genie::DMELKinematicsGenerator::ComputeMaxXSec(), genie::DMDISKinematicsGenerator::ComputeMaxXSec(), genie::XSecSplineList::CreateSpline(), genie::CEvNSEventGenerator::GenerateKinematics(), genie::IMDXSec::Integrate(), genie::COHXSecAR::Integrate(), genie::CEvNSXSec::Integrate(), genie::DISXSec::Integrate(), genie::COHXSec::Integrate(), genie::RESXSec::Integrate(), genie::QELXSec::Integrate(), genie::HEDISXSec::Integrate(), genie::COHDNuXSec::Integrate(), genie::DMDISXSec::Integrate(), genie::DMELXSec::Integrate(), genie::HELeptonXSec::Integrate(), genie::MECXSec::Integrate(), genie::AlamSimoAtharVacasSKXSec::Integrate(), genie::DFRXSec::Integrate(), genie::NuElectronXSec::Integrate(), genie::SPPXSec::Integrate(), genie::DMElectronXSec::Integrate(), genie::ReinSehgalRESXSec::Integrate(), genie::SmithMonizQELCCXSec::Integrate(), genie::ReinSehgalSPPXSec::Integrate(), genie::ReinSehgalRESXSecFast::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::DMEKinematicsGenerator::ProcessEventRecord(), genie::QELKinematicsGenerator::ProcessEventRecord(), genie::RESKinematicsGenerator::ProcessEventRecord(), genie::IBDKinematicsGenerator::ProcessEventRecord(), genie::DMELKinematicsGenerator::ProcessEventRecord(), genie::DISKinematicsGenerator::ProcessEventRecord(), genie::HEDISKinematicsGenerator::ProcessEventRecord(), genie::DMDISKinematicsGenerator::ProcessEventRecord(), genie::SPPEventGenerator::ProcessEventRecord(), genie::QELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::DMELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::StrumiaVissaniIBDPXSec::ValidKinematics(), genie::XSecAlgorithmI::ValidKinematics(), genie::KLVOxygenIBDPXSec::ValidKinematics(), genie::BertuzzoDNuCOHPXSec::ValidKinematics(), and genie::MKSPPPXSec2020::ValidKinematics().

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

Definition at line 287 of file Interaction.cxx.

References fExclusiveTag, fInitialState, fKinematics, and fProcInfo.

Referenced by genie::operator<<().

288 {
289  const string line(110, '-');
290 
291  stream << endl;
292  stream << line << endl;
293 
294  stream << "GENIE Interaction Summary" << endl;
295  stream << line << endl;
296 
297  stream << *fInitialState << endl; // print initial state
298  stream << *fProcInfo; // print process info
299  stream << *fKinematics; // print scattering parameters
300  stream << *fExclusiveTag; // print exclusive process tag
301 
302  stream << line << endl;
303 }
InitialState * fInitialState
Initial State info.
Definition: Interaction.h:179
XclsTag * fExclusiveTag
Additional info for exclusive channels.
Definition: Interaction.h:182
Kinematics * fKinematics
kinematical variables
Definition: Interaction.h:181
ProcessInfo * fProcInfo
Process info (scattering, weak current,...)
Definition: Interaction.h:180
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::DMETargetRemnantGenerator::AddElectronNeutrino(), genie::InitialStateAppender::AddNucleus(), genie::InitialStateAppender::AddStruckParticle(), genie::PrimaryLeptonGenerator::AddToEventRecord(), genie::OutgoingDarkGenerator::AddToEventRecord(), genie::AGKYLowW2019::ApplyRijk(), genie::PythiaBaseHadro2019::AssertValidity(), genie::utils::BindHitNucleon(), genie::ReinSehgalRESXSecWithCache::CacheResExcitationXSec(), genie::ReinSehgalRESXSecWithCacheFast::CacheResExcitationXSec(), genie::SPPXSecWithCache::CacheResExcitationXSec(), genie::QPMDISStrucFuncBase::Calculate(), genie::QPMDMDISStrucFuncBase::Calculate(), genie::COHHadronicSystemGenerator::CalculateHadronicSystem_AlvarezRuso(), genie::COHKinematicsGenerator::CheckKinematics(), genie::utils::ComputeFullDMELPXSec(), genie::utils::ComputeFullQELPXSec(), genie::RESKinematicsGenerator::ComputeMaxXSec(), genie::HELeptonKinematicsGenerator::ComputeMaxXSec(), ConvertToGHad(), ConvertToGST(), ConvertToGTracker(), genie::HEDISStrucFunc::CreateQrkSF(), genie::KNOTunedQPMDISPXSec::DISRESJoinSuppressionFactor(), genie::BergerSehgalFMCOHPiPXSec2015::ExactKinematicTerm(), genie::BergerSehgalCOHPiPXSec2015::ExactKinematicTerm(), genie::SppChannel::FromInteraction(), FSPrimLeptonPdg(), genie::LwlynSmithQELCCPXSec::FullDifferentialXSec(), GenerateEvent(), genie::VertexGenerator::GenerateVertex(), genie::HEDISInteractionListGenerator::GetFinalQuarks(), genie::DISInteractionListGenerator::GetHitQuarks(), genie::HEDISInteractionListGenerator::GetHitQuarks(), genie::DMDISInteractionListGenerator::GetHitQuarks(), genie::utils::mec::GetMaxXSecTlctl(), genie::evtlib::EventLibraryInterface::GetRecord(), genie::evtlib::EvtLibPXSec::GetXSec(), genie::EmpiricalMECPXSec2015::Integral(), genie::HELeptonXSec::Integrate(), genie::SPPXSec::Integrate(), genie::ReinSehgalRESXSec::Integrate(), genie::ReinSehgalSPPXSec::Integrate(), genie::ReinSehgalRESXSecFast::Integrate(), genie::KPhaseSpace::IsAboveThreshold(), genie::KPhaseSpace::IsAllowed(), main(), genie::PythiaBaseHadro2019::MakeQuarkDiquarkAssignments(), genie::utils::ghep::NeutReactionCode(), genie::utils::ghep::NuanceReactionCode(), genie::utils::nuclear::NuclQELXSecSuppression(), genie::HEDISStrucFunc::NucSFCode(), genie::HEDISStrucFunc::NucSFName(), genie::SuSAv2MECPXSec::PairRatio(), genie::BergerSehgalFMCOHPiPXSec2015::PionCOMAbsMomentum(), genie::BergerSehgalCOHPiPXSec2015::PionCOMAbsMomentum(), genie::COHKinematicsGenerator::pionMass(), genie::HELeptonKinematicsGenerator::ProcessEventRecord(), genie::HENuElGenerator::ProcessEventRecord(), genie::RESKinematicsGenerator::ProcessEventRecord(), genie::NucDeExcitationSim::ProcessEventRecord(), genie::PauliBlocker::ProcessEventRecord(), genie::evtlib::EventLibraryInterface::ProcessEventRecord(), genie::KPhaseSpace::Q2Lim(), genie::KPhaseSpace::Q2Lim_W(), genie::HEDISStrucFunc::QrkSFCode(), genie::HEDISStrucFunc::QrkSFName(), genie::SuSAv2MECPXSec::Qvalue(), SaveGraphsToRootFile(), SaveToPsFile(), genie::PhysInteractionSelector::SelectInteraction(), genie::QELEventGeneratorSuSA::SelectLeptonKinematics(), genie::MECGenerator::SelectSuSALeptonKinematics(), genie::COHKinematicsGenerator::SetKinematics(), genie::KPhaseSpace::Threshold(), genie::KPhaseSpace::TLim(), genie::utils::kinematics::UpdateXFromQ2Y(), genie::H3AMNuGammaPXSec::ValidProcess(), genie::PattonCEvNSPXSec::ValidProcess(), genie::HEDISPXSec::ValidProcess(), genie::EmpiricalMECPXSec2015::ValidProcess(), genie::SlowRsclCharmDISPXSecLO::ValidProcess(), genie::HENuElPXSec::ValidProcess(), genie::GLRESPXSec::ValidProcess(), genie::AlamSimoAtharVacasSKPXSec2014::ValidProcess(), genie::PhotonRESPXSec::ValidProcess(), genie::PhotonCOHPXSec::ValidProcess(), genie::RosenbluthPXSec::ValidProcess(), genie::ReinDFRPXSec::ValidProcess(), genie::StrumiaVissaniIBDPXSec::ValidProcess(), genie::AlvarezRusoCOHPiPXSec::ValidProcess(), genie::BergerSehgalFMCOHPiPXSec2015::ValidProcess(), genie::AivazisCharmPXSecLO::ValidProcess(), genie::QPMDISPXSec::ValidProcess(), genie::KLVOxygenIBDPXSec::ValidProcess(), genie::BertuzzoDNuCOHPXSec::ValidProcess(), genie::BergerSehgalCOHPiPXSec2015::ValidProcess(), genie::LwlynSmithQELCCPXSec::ValidProcess(), genie::QPMDMDISPXSec::ValidProcess(), genie::PaisQELLambdaPXSec::ValidProcess(), genie::ReinSehgalCOHPiPXSec::ValidProcess(), genie::BostedChristyEMPXSec::ValidProcess(), genie::NievesSimoVacasMECPXSec2016::ValidProcess(), genie::SuSAv2MECPXSec::ValidProcess(), genie::SuSAv2QELPXSec::ValidProcess(), genie::MartiniEricsonChanfrayMarteauMECPXSec2016::ValidProcess(), genie::ReinSehgalRESPXSec::ValidProcess(), genie::NievesQELCCPXSec::ValidProcess(), genie::KovalenkoQELCharmPXSec::ValidProcess(), genie::SmithMonizQELCCPXSec::ValidProcess(), genie::BSKLNBaseRESPXSec2014::ValidProcess(), genie::utils::kinematics::W(), genie::KPhaseSpace::WLim(), genie::KPhaseSpace::XLim(), genie::EmpiricalMECPXSec2015::XSec(), genie::SlowRsclCharmDISPXSecLO::XSec(), genie::HENuElPXSec::XSec(), genie::RosenbluthPXSec::XSec(), genie::ReinDFRPXSec::XSec(), genie::AivazisCharmPXSecLO::XSec(), genie::AlvarezRusoCOHPiPXSec::XSec(), genie::BergerSehgalFMCOHPiPXSec2015::XSec(), genie::BergerSehgalCOHPiPXSec2015::XSec(), genie::LwlynSmithQELCCPXSec::XSec(), genie::ReinSehgalCOHPiPXSec::XSec(), genie::NievesSimoVacasMECPXSec2016::XSec(), genie::SuSAv2QELPXSec::XSec(), genie::SuSAv2MECPXSec::XSec(), genie::NievesQELCCPXSec::XSec(), genie::SuSAv2QELPXSec::XSecScaling(), genie::KPhaseSpace::YLim(), and genie::KPhaseSpace::YLim_X().

70 { return *fProcInfo; }
ProcessInfo * fProcInfo
Process info (scattering, weak current,...)
Definition: Interaction.h:180
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:180
Interaction * Interaction::QELCC ( int  tgt,
int  nuc,
int  probe,
double  E = 0 
)
static

Definition at line 505 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(), and main().

506 {
507  Interaction * interaction =
509 
510  InitialState * init_state = interaction->InitStatePtr();
511  init_state->SetProbeE(E);
512  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
513 
514  return interaction;
515 }
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::QELCC ( int  tgt,
int  nuc,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 517 of file Interaction.cxx.

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

519 {
520  Interaction * interaction =
522 
523  InitialState * init_state = interaction->InitStatePtr();
524  init_state->SetProbeP4(p4probe);
525  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
526 
527  return interaction;
528 }
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::QELEM ( int  tgt,
int  nuc,
int  probe,
double  E = 0 
)
static

Definition at line 555 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(), and genie::EmpiricalMECPXSec2015::Integral().

556 {
557  Interaction * interaction =
559 
560  InitialState * init_state = interaction->InitStatePtr();
561  init_state->SetProbeE(E);
562  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
563 
564  return interaction;
565 }
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::QELEM ( int  tgt,
int  nuc,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 567 of file Interaction.cxx.

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

569 {
570  Interaction * interaction =
572 
573  InitialState * init_state = interaction->InitStatePtr();
574  init_state->SetProbeP4(p4probe);
575  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
576 
577  return interaction;
578 }
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::QELNC ( int  tgt,
int  nuc,
int  probe,
double  E = 0 
)
static

Definition at line 530 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().

531 {
532  Interaction * interaction =
534 
535  InitialState * init_state = interaction->InitStatePtr();
536  init_state->SetProbeE(E);
537  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
538 
539  return interaction;
540 }
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::QELNC ( int  tgt,
int  nuc,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 542 of file Interaction.cxx.

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

544 {
545  Interaction * interaction =
547 
548  InitialState * init_state = interaction->InitStatePtr();
549  init_state->SetProbeP4(p4probe);
550  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
551 
552  return interaction;
553 }
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
TParticlePDG * Interaction::RecoilNucleon ( void  ) const

recoil nucleon

Definition at line 171 of file Interaction.cxx.

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

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

172 {
173  int rnuc = this->RecoilNucleonPdg();
174 
175  if(rnuc) return PDGLibrary::Instance()->Find(rnuc);
176  else return 0;
177 }
int RecoilNucleonPdg(void) const
recoil nucleon pdg
static PDGLibrary * Instance(void)
Definition: PDGLibrary.cxx:68
TParticlePDG * Find(int pdgc, bool must_exist=true)
Definition: PDGLibrary.cxx:86
int Interaction::RecoilNucleonPdg ( void  ) const

recoil nucleon pdg

Definition at line 179 of file Interaction.cxx.

References 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::BindHitNucleon(), genie::utils::ComputeFullDMELPXSec(), genie::utils::ComputeFullQELPXSec(), genie::LwlynSmithQELCCPXSec::FullDifferentialXSec(), genie::QELEventGeneratorSuSA::GenerateNucleon(), genie::QELKinematicsGenerator::ProcessEventRecord(), genie::QELEventGenerator::ProcessEventRecord(), genie::DMELKinematicsGenerator::ProcessEventRecord(), genie::IBDKinematicsGenerator::ProcessEventRecord(), genie::DMELEventGenerator::ProcessEventRecord(), genie::QELEventGeneratorSM::ProcessEventRecord(), RecoilNucleon(), genie::QELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::DMELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::utils::kinematics::W(), and genie::NievesQELCCPXSec::XSec().

180 {
181 // Determine the recoil nucleon PDG code
182 
183  const Target & target = fInitialState->Tgt();
184 
185  int recoil_nuc = 0;
186  int struck_nuc = target.HitNucPdg();
187 
189  bool struck_is_nuc = pdg::IsNucleon(struck_nuc);
190  bool is_weak = fProcInfo->IsWeak();
191  bool is_em = fProcInfo->IsEM();
192  bool is_dm = fProcInfo->IsDarkMatter();
193  assert(struck_is_nuc && (is_weak || is_em || is_dm));
194  if(fProcInfo->IsWeakCC()) {
195  recoil_nuc = pdg::SwitchProtonNeutron(struck_nuc); // CC
196  } else {
197  recoil_nuc = struck_nuc; // NC, EM
198  }
199  }
200 
201  if (fProcInfo->IsMEC()) {
202  bool struck_is_2nuc_cluster = pdg::Is2NucleonCluster(struck_nuc);
203  bool is_weak = fProcInfo->IsWeak();
204  bool is_em = fProcInfo->IsEM();
205  assert(struck_is_2nuc_cluster && (is_weak || is_em));
206  if(fProcInfo->IsWeakCC()) {
207  bool isnu = pdg::IsNeutrino(fInitialState->ProbePdg());
208  // nucleon cluster charge should be incremented by +1 for
209  // neutrino CC and by -1 for antineutrino CC
210  int dQ = (isnu) ? +1 : -1;
211  recoil_nuc = pdg::ModifyNucleonCluster(struck_nuc,dQ); // CC
212  }
213  else {
214  recoil_nuc = struck_nuc; // NC, EM
215  }
216  }
217 
218  LOG("Interaction", pDEBUG) << "Recoil nucleon PDG = " << recoil_nuc;
219  return recoil_nuc;
220 }
bool IsWeak(void) const
bool IsWeakCC(void) const
bool IsNeutrino(int pdgc)
Definition: PDGUtils.cxx:110
int HitNucPdg(void) const
Definition: Target.cxx:304
bool IsNucleon(int pdgc)
Definition: PDGUtils.cxx:346
InitialState * fInitialState
Initial State info.
Definition: Interaction.h:179
bool IsQuasiElastic(void) const
Definition: ProcessInfo.cxx:69
int SwitchProtonNeutron(int pdgc)
Definition: PDGUtils.cxx:356
bool IsInverseBetaDecay(void) const
int ModifyNucleonCluster(int pdgc, int dQ)
Definition: PDGUtils.cxx:364
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:96
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
Definition: Target.h:40
int ProbePdg(void) const
Definition: InitialState.h:64
bool IsDarkMatterElastic(void) const
Definition: ProcessInfo.cxx:74
bool IsMEC(void) const
bool IsEM(void) const
bool Is2NucleonCluster(int pdgc)
Definition: PDGUtils.cxx:402
bool IsDarkMatter(void) const
ProcessInfo * fProcInfo
Process info (scattering, weak current,...)
Definition: Interaction.h:180
const Target & Tgt(void) const
Definition: InitialState.h:66
#define pDEBUG
Definition: Messenger.h:63
Interaction * Interaction::RESCC ( int  tgt,
int  nuc,
int  probe,
double  E = 0 
)
static

Definition at line 605 of file Interaction.cxx.

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

Referenced by main().

606 {
607  Interaction * interaction =
609 
610  InitialState * init_state = interaction->InitStatePtr();
611  init_state->SetProbeE(E);
612  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
613 
614  return interaction;
615 }
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::RESCC ( int  tgt,
int  nuc,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 617 of file Interaction.cxx.

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

619 {
620  Interaction * interaction =
622 
623  InitialState * init_state = interaction->InitStatePtr();
624  init_state->SetProbeP4(p4probe);
625  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
626 
627  return interaction;
628 }
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::RESEM ( int  tgt,
int  nuc,
int  probe,
double  E = 0 
)
static

Definition at line 655 of file Interaction.cxx.

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

656 {
657  Interaction * interaction =
658  Interaction::Create(target,probe,kScResonant, kIntEM);
659 
660  InitialState * init_state = interaction->InitStatePtr();
661  init_state->SetProbeE(E);
662  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
663 
664  return interaction;
665 }
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::RESEM ( int  tgt,
int  nuc,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 667 of file Interaction.cxx.

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

669 {
670  Interaction * interaction =
671  Interaction::Create(target,probe,kScResonant, kIntEM);
672 
673  InitialState * init_state = interaction->InitStatePtr();
674  init_state->SetProbeP4(p4probe);
675  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
676 
677  return interaction;
678 }
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
void Interaction::Reset ( void  )

Definition at line 83 of file Interaction.cxx.

References CleanUp(), and Init().

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

Definition at line 630 of file Interaction.cxx.

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

631 {
632  Interaction * interaction =
634 
635  InitialState * init_state = interaction->InitStatePtr();
636  init_state->SetProbeE(E);
637  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
638 
639  return interaction;
640 }
void SetProbeE(double E)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
Interaction * Interaction::RESNC ( int  tgt,
int  nuc,
int  probe,
const TLorentzVector &  p4probe 
)
static

Definition at line 642 of file Interaction.cxx.

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

644 {
645  Interaction * interaction =
647 
648  InitialState * init_state = interaction->InitStatePtr();
649  init_state->SetProbeP4(p4probe);
650  init_state->TgtPtr()->SetHitNucPdg(hitnuc);
651 
652  return interaction;
653 }
void SetProbeP4(const TLorentzVector &P4)
Summary information for an interaction.
Definition: Interaction.h:56
void SetHitNucPdg(int pdgc)
Definition: Target.cxx:171
Target * TgtPtr(void) const
Definition: InitialState.h:67
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:48
void Interaction::SetExclTag ( const XclsTag xcls)
void Interaction::SetInitState ( const InitialState init)

Definition at line 222 of file Interaction.cxx.

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

223 {
225  fInitialState->Copy(init_state);
226 }
InitialState * fInitialState
Initial State info.
Definition: Interaction.h:179
void Copy(const InitialState &init_state)
Initial State information.
Definition: InitialState.h:48
void Interaction::SetKine ( const Kinematics kine)

Definition at line 234 of file Interaction.cxx.

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

235 {
236  if (!fKinematics) fKinematics = new Kinematics();
237  fKinematics->Copy(kinematics);
238 }
Generated/set kinematical variables for an event.
Definition: Kinematics.h:39
void Copy(const Kinematics &kine)
Definition: Kinematics.cxx:83
Kinematics * fKinematics
kinematical variables
Definition: Interaction.h:181
void Interaction::SetProcInfo ( const ProcessInfo proc)

Definition at line 228 of file Interaction.cxx.

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

229 {
230  if (!fProcInfo) fProcInfo = new ProcessInfo();
231  fProcInfo->Copy(proc_info);
232 }
A class encapsulating an enumeration of interaction types (EM, Weak-CC, Weak-NC) and scattering types...
Definition: ProcessInfo.h:46
ProcessInfo * fProcInfo
Process info (scattering, weak current,...)
Definition: Interaction.h:180
void Copy(const ProcessInfo &proc)

Friends And Related Function Documentation

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

print

Definition at line 38 of file Interaction.cxx.

39  {
40  interaction.Print(stream);
41  return stream;
42  }

Member Data Documentation

XclsTag* genie::Interaction::fExclusiveTag
private

Additional info for exclusive channels.

Definition at line 182 of file Interaction.h.

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

InitialState* genie::Interaction::fInitialState
private

Initial State info.

Definition at line 179 of file Interaction.h.

Referenced by AsString(), CleanUp(), Copy(), Init(), InitState(), InitStatePtr(), Interaction(), Print(), RecoilNucleonPdg(), and SetInitState().

Kinematics* genie::Interaction::fKinematics
private

kinematical variables

Definition at line 181 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 183 of file Interaction.h.

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

ProcessInfo* genie::Interaction::fProcInfo
private

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

Definition at line 180 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: