GENIEGenerator
Loading...
Searching...
No Matches
genie::Interaction Class Reference

Summary information for an interaction. More...

#include <Interaction.h>

Inheritance diagram for genie::Interaction:
[legend]
Collaboration diagram for genie::Interaction:
[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
int RecoilNucleonPdg (void) const
 recoil nucleon pdg
TParticlePDG * FSPrimLepton (void) const
 final state primary lepton
TParticlePDG * RecoilNucleon (void) const
 recoil nucleon
void Reset (void)
void Copy (const Interaction &i)
string AsString (void) const
void Print (ostream &stream) const
Interactionoperator= (const Interaction &i)
 copy

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.
ProcessInfofProcInfo
 Process info (scattering, weak current,...)
KinematicsfKinematics
 kinematical variables
XclsTagfExclusiveTag
 Additional info for exclusive channels.
KPhaseSpacefKinePhSp
 Kinematic phase space.

Friends

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

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 \at cern.ch> University of Liverpool

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

Created:\n April 25, 2004
License:\n Copyright (c) 2003-2025, 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() [1/4]

◆ Interaction() [2/4]

Interaction::Interaction ( const InitialState & init,
const ProcessInfo & proc )

Definition at line 51 of file Interaction.cxx.

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

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

◆ Interaction() [3/4]

Interaction::Interaction ( const Interaction & i)

Definition at line 60 of file Interaction.cxx.

60 :
61TObject()
62{
63 this->Init();
64 this->Copy(interaction);
65}

References Copy(), Init(), and Interaction().

◆ Interaction() [4/4]

Interaction::Interaction ( TRootIOCtor * )

Definition at line 67 of file Interaction.cxx.

67 :
68TObject(),
70fProcInfo(0),
73fKinePhSp(0)
74{
75
76}
XclsTag * fExclusiveTag
Additional info for exclusive channels.
Kinematics * fKinematics
kinematical variables
KPhaseSpace * fKinePhSp
Kinematic phase space.

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

◆ ~Interaction()

Interaction::~Interaction ( )

Definition at line 78 of file Interaction.cxx.

79{
80 this->CleanUp();
81}

References CleanUp().

Member Function Documentation

◆ AMNuGamma() [1/2]

Interaction * Interaction::AMNuGamma ( int tgt,
int nuc,
int probe,
const TLorentzVector & p4probe )
static

Definition at line 828 of file Interaction.cxx.

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)
Target * TgtPtr(void) const
InitialState * InitStatePtr(void) const
Definition Interaction.h:74
static Interaction * Create(int tgt, int probe, ScatteringType_t st, InteractionType_t it)
void SetHitNucPdg(int pdgc)
Definition Target.cxx:171

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

◆ AMNuGamma() [2/2]

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

Definition at line 816 of file Interaction.cxx.

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)

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

Referenced by genie::AMNuGammaInteractionListGenerator::CreateInteractionList().

◆ ASK() [1/2]

Interaction * Interaction::ASK ( int tgt,
int probe,
const TLorentzVector & p4probe )
static

Definition at line 1007 of file Interaction.cxx.

1009{
1010 Interaction * interaction =
1012
1013 InitialState * init_state = interaction->InitStatePtr();
1014 init_state->SetProbeP4(p4probe);
1015
1016 return interaction;
1017}
@ kScSingleKaon

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

◆ ASK() [2/2]

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

Definition at line 996 of file Interaction.cxx.

997{
998 Interaction * interaction =
1000
1001 InitialState * init_state = interaction->InitStatePtr();
1002 init_state->SetProbeE(E);
1003
1004 return interaction;
1005}

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

◆ AsString()

string Interaction::AsString ( void ) const

Definition at line 246 of file Interaction.cxx.

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}
int HitNucPdg(void) const
Definition Target.cxx:304
int HitQrkPdg(void) const
Definition Target.cxx:242
bool HitSeaQrk(void) const
Definition Target.cxx:299
int Pdg(void) const
Definition Target.h:71
bool HitQrkIsSet(void) const
Definition Target.cxx:292
bool HitNucIsSet(void) const
Definition Target.cxx:283
const int kPdgDarkMatter
Definition PDGCodes.h:218
const int kPdgAntiDarkMatter
Definition PDGCodes.h:219

References fExclusiveTag, fInitialState, fProcInfo, genie::Target::HitNucIsSet(), genie::Target::HitNucPdg(), genie::Target::HitQrkIsSet(), genie::Target::HitQrkPdg(), genie::Target::HitSeaQrk(), genie::kPdgAntiDarkMatter, genie::kPdgDarkMatter, and genie::Target::Pdg().

Referenced by genie::KineGeneratorWithCache::AccessCacheBranch(), genie::InteractionGeneratorMap::BuildMap(), genie::XSecAlgorithmMap::BuildMap(), genie::XSecSplineList::BuildSplineKey(), genie::DISXSec::CacheBranchName(), genie::DMDISXSec::CacheBranchName(), genie::HybridXSecAlgorithm::ChooseXSecAlg(), genie::COHKinematicsGenerator::ComputeMaxXSec(), genie::DFRKinematicsGenerator::ComputeMaxXSec(), genie::DISKinematicsGenerator::ComputeMaxXSec(), genie::DMDISKinematicsGenerator::ComputeMaxXSec(), genie::DMEKinematicsGenerator::ComputeMaxXSec(), genie::DMELEventGenerator::ComputeMaxXSec(), genie::DMELKinematicsGenerator::ComputeMaxXSec(), genie::HELeptonKinematicsGenerator::ComputeMaxXSec(), genie::IBDKinematicsGenerator::ComputeMaxXSec(), genie::NuEKinematicsGenerator::ComputeMaxXSec(), genie::QELEventGenerator::ComputeMaxXSec(), genie::QELEventGeneratorSuSA::ComputeMaxXSec(), genie::QELKinematicsGenerator::ComputeMaxXSec(), genie::SKKinematicsGenerator::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::BSKLNBaseRESPXSec2014::XSec(), genie::ReinSehgalRESPXSec::XSec(), and genie::GEVGDriver::XSecSum().

◆ CEvNS() [1/2]

Interaction * Interaction::CEvNS ( int tgt,
int probe,
const TLorentzVector & p4probe )
static

Definition at line 782 of file Interaction.cxx.

784{
785 Interaction * interaction =
787
788 InitialState * init_state = interaction->InitStatePtr();
789 init_state->SetProbeP4(p4probe);
790
791 return interaction;
792}
@ kScCoherentElastic

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

◆ CEvNS() [2/2]

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

Definition at line 771 of file Interaction.cxx.

772{
773 Interaction * interaction =
775
776 InitialState * init_state = interaction->InitStatePtr();
777 init_state->SetProbeE(E);
778
779 return interaction;
780}

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

Referenced by main().

◆ CleanUp()

void Interaction::CleanUp ( void )
private

Definition at line 98 of file Interaction.cxx.

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}

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

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

◆ COHCC() [1/2]

Interaction * Interaction::COHCC ( int tgt,
int probe,
unsigned int prod_pdg,
const TLorentzVector & p4probe )
static

Definition at line 722 of file Interaction.cxx.

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}
XclsTag * ExclTagPtr(void) const
Definition Interaction.h:77
bool IsNeutrino(int pdgc)
Definition PDGUtils.cxx:110
bool IsPion(int pdgc)
Definition PDGUtils.cxx:326
bool IsAntiNeutrino(int pdgc)
Definition PDGUtils.cxx:118
@ kScCoherentProduction

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

◆ COHCC() [2/2]

Interaction * Interaction::COHCC ( int tgt,
int probe,
unsigned int prod_pdg,
double E = 0 )
static

Definition at line 705 of file Interaction.cxx.

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}

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

◆ COHNC() [1/2]

Interaction * Interaction::COHNC ( int tgt,
int probe,
unsigned int prod_pdg,
const TLorentzVector & p4probe )
static

Definition at line 755 of file Interaction.cxx.

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}
const int kPdgGamma
Definition PDGCodes.h:189

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

◆ COHNC() [2/2]

Interaction * Interaction::COHNC ( int tgt,
int probe,
unsigned int prod_pdg,
double E = 0 )
static

Definition at line 740 of file Interaction.cxx.

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}

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

◆ Copy()

void Interaction::Copy ( const Interaction & i)

Definition at line 113 of file Interaction.cxx.

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}

References Copy(), fExclusiveTag, fInitialState, fKinematics, fProcInfo, and Interaction().

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

◆ Create()

Interaction * Interaction::Create ( int tgt,
int probe,
ScatteringType_t st,
InteractionType_t it )
staticprivate

Definition at line 315 of file Interaction.cxx.

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}

References Interaction().

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

◆ DFRCC() [1/2]

Interaction * Interaction::DFRCC ( int tgt,
int nuc,
int probe,
const TLorentzVector & p4probe )
static

Definition at line 692 of file Interaction.cxx.

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}
@ kScDiffractive

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

◆ DFRCC() [2/2]

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

Definition at line 680 of file Interaction.cxx.

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}

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

◆ DISCC() [1/5]

Interaction * Interaction::DISCC ( int tgt,
int nuc,
int probe,
const TLorentzVector & p4probe )
static

Definition at line 364 of file Interaction.cxx.

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}
@ kScDeepInelastic

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

◆ DISCC() [2/5]

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

Definition at line 325 of file Interaction.cxx.

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}

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

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

◆ DISCC() [3/5]

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.

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}
static Interaction * DISCC(int tgt, int nuc, int probe, double E=0)
void SetFinalQuark(int finalquark_pdgc=0)
Definition XclsTag.cxx:138

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

◆ DISCC() [4/5]

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.

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}

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

◆ DISCC() [5/5]

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.

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}

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

◆ DISEM() [1/4]

Interaction * Interaction::DISEM ( int tgt,
int nuc,
int probe,
const TLorentzVector & p4probe )
static

Definition at line 479 of file Interaction.cxx.

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}

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

◆ DISEM() [2/4]

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

Definition at line 455 of file Interaction.cxx.

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}

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

Referenced by DISEM(), and DISEM().

◆ DISEM() [3/4]

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.

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}
static Interaction * DISEM(int tgt, int nuc, int probe, double E=0)

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

◆ DISEM() [4/4]

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.

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}

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

◆ DISNC() [1/5]

Interaction * Interaction::DISNC ( int tgt,
int nuc,
int probe,
const TLorentzVector & p4probe )
static

Definition at line 429 of file Interaction.cxx.

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}

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

◆ DISNC() [2/5]

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

Definition at line 390 of file Interaction.cxx.

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}

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

Referenced by DISNC(), DISNC(), and DISNC().

◆ DISNC() [3/5]

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.

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}
static Interaction * DISNC(int tgt, int nuc, int probe, double E=0)

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

◆ DISNC() [4/5]

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.

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}

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

◆ DISNC() [5/5]

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.

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}

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

◆ DMDI() [1/4]

Interaction * Interaction::DMDI ( int tgt,
int nuc,
int probe,
const TLorentzVector & p4probe )
static

Definition at line 1070 of file Interaction.cxx.

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}
@ kScDarkMatterDeepInelastic

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

◆ DMDI() [2/4]

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

Definition at line 1046 of file Interaction.cxx.

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}

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

Referenced by DMDI(), and DMDI().

◆ DMDI() [3/4]

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.

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}
static Interaction * DMDI(int tgt, int nuc, int probe, double E=0)

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

◆ DMDI() [4/4]

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.

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}

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

◆ DME() [1/2]

Interaction * Interaction::DME ( int tgt,
int nuc,
int probe,
const TLorentzVector & p4probe )
static

Definition at line 1032 of file Interaction.cxx.

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}
@ kScDarkMatterElastic

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

◆ DME() [2/2]

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

Definition at line 1019 of file Interaction.cxx.

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}

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

◆ ExclTag()

const XclsTag & genie::Interaction::ExclTag ( void ) const
inline

Definition at line 72 of file Interaction.h.

72{ return *fExclusiveTag; }

References fExclusiveTag.

Referenced by AcceptEvent(), genie::QELHadronicSystemGenerator::AddRecoilBaryon(), genie::RSPPResonanceSelector::AddResonance(), genie::AGKYLowW2019::AssertValidity(), genie::PythiaBaseHadro2019::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::SppChannel::FromInteraction(), FSPrimLeptonPdg(), genie::NNBarOscPrimaryVtxGenerator::GenerateDecayProducts(), genie::SPPEventGenerator::GetFinalPionPdgCode(), genie::SPPEventGenerator::GetRecoilNucleonPdgCode(), genie::RESHadronicSystemGenerator::GetResonancePdgCode(), genie::LeptoHadPythia6::Hadronize(), genie::LeptoHadPythia8::Hadronize(), genie::AlamSimoAtharVacasSKXSec::Integrate(), genie::HELeptonXSec::Integrate(), genie::ReinSehgalRESXSec::Integrate(), genie::ReinSehgalRESXSecFast::Integrate(), main(), genie::PaisQELLambdaPXSec::MHyperon(), genie::KovalenkoQELCharmPXSec::MRes(), genie::utils::ghep::NeutReactionCode(), genie::DFRHadronicSystemGenerator::ProcessEventRecord(), genie::DMELEventGenerator::ProcessEventRecord(), genie::DMELKinematicsGenerator::ProcessEventRecord(), genie::hnl::Decayer::ProcessEventRecord(), genie::NNBarOscPrimaryVtxGenerator::ProcessEventRecord(), genie::NucleonDecayPrimaryVtxGenerator::ProcessEventRecord(), genie::QELEventGenerator::ProcessEventRecord(), genie::QELKinematicsGenerator::ProcessEventRecord(), genie::HEDISStrucFunc::QrkSFCode(), genie::HEDISStrucFunc::QrkSFName(), genie::KovalenkoQELCharmPXSec::ResDM(), SaveGraphsToRootFile(), SaveToPsFile(), genie::DMELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::QELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::LwlynSmithFF::StrangeF1V(), genie::LwlynSmithFF::StrangeFA(), genie::LwlynSmithFF::StrangexiF2V(), TestDecay(), genie::AivazisCharmPXSecLO::ValidProcess(), genie::BSKLNBaseRESPXSec2014::ValidProcess(), genie::KovalenkoQELCharmPXSec::ValidProcess(), genie::PaisQELLambdaPXSec::ValidProcess(), genie::ReinSehgalRESPXSec::ValidProcess(), genie::SlowRsclCharmDISPXSecLO::ValidProcess(), genie::BSKLNBaseRESPXSec2014::XSec(), genie::NievesSimoVacasMECPXSec2016::XSec(), genie::ReinSehgalRESPXSec::XSec(), genie::ReinSehgalSPPPXSec::XSec(), and genie::KovalenkoQELCharmPXSec::ZR().

◆ ExclTagPtr()

◆ FSPrimLepton()

TParticlePDG * Interaction::FSPrimLepton ( void ) const

final state primary lepton

Definition at line 126 of file Interaction.cxx.

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)
TParticlePDG * Find(int pdgc, bool must_exist=true)

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

Referenced by genie::MECGenerator::AddFinalStateLepton(), genie::HEDISGenerator::AddPrimaryLepton(), genie::OutgoingDarkGenerator::AddToEventRecord(), genie::PrimaryLeptonGenerator::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::AGCharmPythiaBaseHadro2023::Hadronize(), genie::AGKYLowW2019::HadronShowerCharge(), genie::HadronicSystemGenerator::HadronShowerCharge(), genie::MECXSec::Integrate(), genie::utils::kinematics::Jacobian(), genie::COHKinematicsGenerator::MaxXSec_AlvarezRuso(), genie::SuSAv2MECPXSec::PairRatio(), genie::DMEOutgoingDarkGenerator::ProcessEventRecord(), genie::HENuElGenerator::ProcessEventRecord(), genie::NuEPrimaryLeptonGenerator::ProcessEventRecord(), genie::OutgoingDarkGenerator::ProcessEventRecord(), genie::PrimaryLeptonGenerator::ProcessEventRecord(), genie::SPPEventGenerator::ProcessEventRecord(), genie::QELEventGeneratorSuSA::SelectLeptonKinematics(), genie::MECGenerator::SelectNSVLeptonKinematics(), genie::MECGenerator::SelectSuSALeptonKinematics(), genie::SmithMonizUtils::SetInteraction(), genie::COHKinematicsGenerator::SetKinematics(), genie::DMELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::KovalenkoQELCharmPXSec::ValidKinematics(), genie::PaisQELLambdaPXSec::ValidKinematics(), genie::GLRESWdecPythia6::Wdecay(), genie::GLRESWdecPythia8::Wdecay(), genie::PhotonRESWdecPythia6::Wdecay(), genie::PhotonRESWdecPythia8::Wdecay(), genie::BergerSehgalCOHPiPXSec2015::XSec(), genie::BergerSehgalFMCOHPiPXSec2015::XSec(), genie::BSKLNBaseRESPXSec2014::XSec(), genie::DMElectronPXSec::XSec(), genie::EmpiricalMECPXSec2015::XSec(), genie::GLRESPXSec::XSec(), genie::HEDISPXSec::XSec(), genie::HENuElPXSec::XSec(), genie::LwlynSmithQELCCPXSec::XSec(), genie::MKSPPPXSec2020::XSec(), genie::NievesQELCCPXSec::XSec(), genie::NievesSimoVacasMECPXSec2016::XSec(), genie::PaisQELLambdaPXSec::XSec(), genie::PhotonRESPXSec::XSec(), genie::QPMDISPXSec::XSec(), genie::QPMDMDISPXSec::XSec(), genie::ReinSehgalCOHPiPXSec::XSec(), genie::SuSAv2MECPXSec::XSec(), and genie::SuSAv2QELPXSec::XSec().

◆ FSPrimLeptonPdg()

int Interaction::FSPrimLeptonPdg ( void ) const

final state primary lepton pdg

Definition at line 134 of file Interaction.cxx.

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}
#define pDEBUG
Definition Messenger.h:63
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE,...
Definition Messenger.h:96
#define pWARN
Definition Messenger.h:60
int ProbePdg(void) const
const XclsTag & ExclTag(void) const
Definition Interaction.h:72
const ProcessInfo & ProcInfo(void) const
Definition Interaction.h:70
const InitialState & InitState(void) const
Definition Interaction.h:69
bool IsPhotonResonance(void) const
bool IsWeakNC(void) const
bool IsNuElectronElastic(void) const
bool IsWeakMix(void) const
bool IsWeakCC(void) const
bool IsDarkMatter(void) const
bool IsIMDAnnihilation(void) const
bool IsEM(void) const
bool IsGlashowResonance(void) const
bool IsDarkNeutralCurrent(void) const
int FinalLeptonPdg(void) const
Definition XclsTag.h:74
int Neutrino2ChargedLepton(int pdgc)
Definition PDGUtils.cxx:218
const int kPdgDarkNeutrino
Definition PDGCodes.h:221
const int kPdgMuon
Definition PDGCodes.h:37
const int kPdgElectron
Definition PDGCodes.h:35

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::DMELEventGenerator::ProcessEventRecord(), genie::DMEOutgoingDarkGenerator::ProcessEventRecord(), genie::HENuElGenerator::ProcessEventRecord(), genie::NuEPrimaryLeptonGenerator::ProcessEventRecord(), genie::QELEventGenerator::ProcessEventRecord(), genie::QELEventGeneratorSM::ProcessEventRecord(), genie::SPPEventGenerator::ProcessEventRecord(), genie::GLRESWdecPythia6::Wdecay(), genie::GLRESWdecPythia8::Wdecay(), genie::PhotonRESWdecPythia6::Wdecay(), genie::PhotonRESWdecPythia8::Wdecay(), and genie::AlamSimoAtharVacasSKPXSec2014::XSec().

◆ GLR() [1/2]

Interaction * Interaction::GLR ( int tgt,
const TLorentzVector & p4probe )
static

Definition at line 964 of file Interaction.cxx.

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}
const int kPdgAntiNuE
Definition PDGCodes.h:29
@ kScGlashowResonance

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

◆ GLR() [2/2]

Interaction * Interaction::GLR ( int tgt,
double E = 0 )
static

Definition at line 952 of file Interaction.cxx.

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}

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

◆ HNL()

Interaction * Interaction::HNL ( int probe,
double E = 0,
int decayed_mode = -1 )
static

Definition at line 1096 of file Interaction.cxx.

1097{
1098 Interaction * interaction =
1100 interaction->ExclTagPtr()->SetDecayMode(decayed_mode);
1101
1102 InitialState * init_state = interaction->InitStatePtr();
1103 init_state->SetProbeE(E);
1104
1105 return interaction;
1106}
void SetDecayMode(int decay_mode)
Definition XclsTag.cxx:133

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

Referenced by main(), and TestDecay().

◆ IBD() [1/2]

Interaction * Interaction::IBD ( int tgt,
int nuc,
int probe,
const TLorentzVector & p4probe )
static

Definition at line 592 of file Interaction.cxx.

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}
@ kScInverseBetaDecay

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

◆ IBD() [2/2]

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

Definition at line 580 of file Interaction.cxx.

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}

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

Referenced by genie::IBDInteractionListGenerator::CreateInteractionList().

◆ IMD() [1/2]

Interaction * Interaction::IMD ( int tgt,
const TLorentzVector & p4probe )
static

Definition at line 805 of file Interaction.cxx.

806{
807 Interaction * interaction =
809
810 InitialState * init_state = interaction->InitStatePtr();
811 init_state->SetProbeP4(p4probe);
812
813 return interaction;
814}
@ kScInverseMuDecay
const int kPdgNuMu
Definition PDGCodes.h:30

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

◆ IMD() [2/2]

Interaction * Interaction::IMD ( int tgt,
double E = 0 )
static

Definition at line 794 of file Interaction.cxx.

795{
796 Interaction * interaction =
798
799 InitialState * init_state = interaction->InitStatePtr();
800 init_state->SetProbeE(E);
801
802 return interaction;
803}

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

◆ Init()

void Interaction::Init ( void )
private

Definition at line 89 of file Interaction.cxx.

90{
91 fInitialState = new InitialState ();
92 fProcInfo = new ProcessInfo ();
93 fKinematics = new Kinematics ();
94 fExclusiveTag = new XclsTag ();
95 fKinePhSp = new KPhaseSpace (this);
96}

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

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

◆ InitState()

const InitialState & genie::Interaction::InitState ( void ) const
inline

Definition at line 69 of file Interaction.h.

69{ return *fInitialState; }

References fInitialState.

Referenced by genie::NuETargetRemnantGenerator::AddElectronNeutrino(), genie::MECGenerator::AddFinalStateLepton(), genie::hnl::Decayer::AddInitialState(), genie::InitialStateAppender::AddNeutrino(), genie::InitialStateAppender::AddNucleus(), genie::IBDHadronicSystemGenerator::AddRecoilBaryon(), genie::QELHadronicSystemGenerator::AddRecoilBaryon(), genie::RSPPHadronicSystemGenerator::AddResonanceDecayProducts(), genie::InitialStateAppender::AddStruckParticle(), genie::DMETargetRemnantGenerator::AddTargetNucleusRemnant(), genie::NuETargetRemnantGenerator::AddTargetNucleusRemnant(), genie::AGKYLowW2019::ApplyRijk(), genie::PythiaBaseHadro2019::AssertValidity(), genie::utils::BindHitNucleon(), 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::DMDISKinematicsGenerator::ComputeMaxXSec(), genie::DMELEventGenerator::ComputeMaxXSec(), genie::QELEventGenerator::ComputeMaxXSec(), genie::SKKinematicsGenerator::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::COHKinematicsGenerator::Energy(), genie::DMEKinematicsGenerator::Energy(), genie::HELeptonKinematicsGenerator::Energy(), genie::KineGeneratorWithCache::Energy(), genie::NuEKinematicsGenerator::Energy(), genie::SKKinematicsGenerator::Energy(), genie::MArunAxialFormFactorModel::FA(), genie::LwlynSmithFF::Fp(), genie::LwlynSmithFFNC::Fp(), genie::SppChannel::FromInteraction(), FSPrimLeptonPdg(), genie::BBA03ELFormFactorsModel::Gen(), genie::GalsterELFormFactorsModel::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::LeptoHadPythia6::Hadronize(), genie::LeptoHadPythia8::Hadronize(), genie::Pythia6Hadro2019::Hadronize(), genie::Pythia8Hadro2019::Hadronize(), genie::AGKYLowW2019::HadronShowerCharge(), genie::HadronicSystemGenerator::HadronShowerCharge(), genie::EmpiricalMECPXSec2015::Integral(), genie::evtlib::EvtLibPXSec::Integral(), genie::IBDXSecMap::Integral(), genie::LwlynSmithQELCCPXSec::Integral(), genie::NormXSec::Integral(), genie::CEvNSXSec::Integrate(), genie::COHDNuXSec::Integrate(), genie::COHXSec::Integrate(), genie::DISXSec::Integrate(), genie::DMDISXSec::Integrate(), genie::HEDISXSec::Integrate(), genie::HELeptonXSec::Integrate(), genie::MECXSec::Integrate(), genie::NewQELXSec::Integrate(), genie::ReinSehgalRESXSec::Integrate(), genie::ReinSehgalRESXSecFast::Integrate(), genie::ReinSehgalSPPXSec::Integrate(), genie::SmithMonizQELCCXSec::Integrate(), genie::SPPXSec::Integrate(), genie::utils::kinematics::Jacobian(), main(), 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::OutgoingDarkGenerator::NucRestFrame2Lab(), genie::PrimaryLeptonGenerator::NucRestFrame2Lab(), genie::HEDISStrucFunc::NucSFCode(), genie::HEDISStrucFunc::NucSFName(), genie::SuSAv2MECPXSec::PairRatio(), genie::utils::kinematics::PhaseSpaceVolume(), genie::AGCharmPythiaBaseHadro2023::ProcessEventRecord(), genie::AGKYLowW2019::ProcessEventRecord(), genie::DFRHadronicSystemGenerator::ProcessEventRecord(), genie::DFRKinematicsGenerator::ProcessEventRecord(), genie::DISKinematicsGenerator::ProcessEventRecord(), genie::DMDISKinematicsGenerator::ProcessEventRecord(), genie::DMELEventGenerator::ProcessEventRecord(), genie::DMELKinematicsGenerator::ProcessEventRecord(), genie::DMEOutgoingDarkGenerator::ProcessEventRecord(), genie::evtlib::EventLibraryInterface::ProcessEventRecord(), genie::FermiMover::ProcessEventRecord(), genie::HEDISKinematicsGenerator::ProcessEventRecord(), genie::HELeptonKinematicsGenerator::ProcessEventRecord(), genie::HENuElGenerator::ProcessEventRecord(), genie::hnl::Decayer::ProcessEventRecord(), genie::IBDKinematicsGenerator::ProcessEventRecord(), genie::NNBarOscPrimaryVtxGenerator::ProcessEventRecord(), genie::NucleonDecayPrimaryVtxGenerator::ProcessEventRecord(), genie::NuEPrimaryLeptonGenerator::ProcessEventRecord(), genie::PauliBlocker::ProcessEventRecord(), genie::QELEventGenerator::ProcessEventRecord(), genie::QELEventGeneratorSM::ProcessEventRecord(), genie::QELEventGeneratorSuSA::ProcessEventRecord(), genie::QELKinematicsGenerator::ProcessEventRecord(), genie::QPMDISStrucFuncBase::Q2(), genie::QPMDMDISStrucFuncBase::Q2(), genie::utils::kinematics::Q2(), 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::DMELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::QELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::BBA05ELFormFactorsModel::tau(), genie::LwlynSmithFF::tau(), genie::utils::kinematics::UpdateWQ2FromXY(), genie::utils::kinematics::UpdateWYFromXQ2(), genie::utils::kinematics::UpdateXFromQ2Y(), genie::utils::kinematics::UpdateXYFromWQ2(), genie::BertuzzoDNuCOHPXSec::ValidKinematics(), genie::IBDXSecMap::ValidKinematics(), genie::KovalenkoQELCharmPXSec::ValidKinematics(), genie::PaisQELLambdaPXSec::ValidKinematics(), genie::AivazisCharmPXSecLO::ValidProcess(), genie::AlvarezRusoCOHPiPXSec::ValidProcess(), genie::BergerSehgalCOHPiPXSec2015::ValidProcess(), genie::BergerSehgalFMCOHPiPXSec2015::ValidProcess(), genie::BertuzzoDNuCOHPXSec::ValidProcess(), genie::BostedChristyEMPXSec::ValidProcess(), genie::BSKLNBaseRESPXSec2014::ValidProcess(), genie::IBDXSecMap::ValidProcess(), genie::KovalenkoQELCharmPXSec::ValidProcess(), genie::LwlynSmithQELCCPXSec::ValidProcess(), genie::NievesQELCCPXSec::ValidProcess(), genie::PaisQELLambdaPXSec::ValidProcess(), genie::PattonCEvNSPXSec::ValidProcess(), genie::ReinSehgalCOHPiPXSec::ValidProcess(), genie::ReinSehgalRESPXSec::ValidProcess(), genie::RosenbluthPXSec::ValidProcess(), genie::SlowRsclCharmDISPXSecLO::ValidProcess(), genie::SmithMonizQELCCPXSec::ValidProcess(), genie::SuSAv2MECPXSec::ValidProcess(), genie::SuSAv2QELPXSec::ValidProcess(), genie::utils::kinematics::W(), genie::GLRESWdecPythia6::Wdecay(), genie::GLRESWdecPythia8::Wdecay(), genie::PhotonCOHWdecPythia6::Wdecay(), genie::PhotonCOHWdecPythia8::Wdecay(), genie::PhotonRESWdecPythia6::Wdecay(), genie::PhotonRESWdecPythia8::Wdecay(), genie::EmpiricalMECPXSec2015::XSec(), genie::IBDXSecMap::XSec(), genie::KovalenkoQELCharmPXSec::XSec(), genie::NievesSimoVacasMECPXSec2016::XSec(), genie::NormXSec::XSec(), genie::PaisQELLambdaPXSec::XSec(), genie::SlowRsclCharmDISPXSecLO::XSec(), genie::SuSAv2MECPXSec::XSec(), genie::SuSAv2QELPXSec::XSec(), genie::SuSAv2QELPXSec::XSecScaling(), and genie::KovalenkoQELCharmPXSec::ZR().

◆ InitStatePtr()

InitialState * genie::Interaction::InitStatePtr ( void ) const
inline

Definition at line 74 of file Interaction.h.

74{ return fInitialState; }

References fInitialState.

Referenced by genie::hnl::Decayer::AddInitialState(), AMNuGamma(), AMNuGamma(), ASK(), 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(), CEvNS(), genie::COHKinematicsGenerator::CheckKinematics(), COHCC(), COHCC(), COHNC(), COHNC(), genie::HEDISInteractionListGenerator::CreateHEDISlist(), genie::DFRInteractionListGenerator::CreateInteractionList(), genie::DISInteractionListGenerator::CreateInteractionList(), genie::DMDISInteractionListGenerator::CreateInteractionList(), genie::RESInteractionListGenerator::CreateInteractionList(), genie::RSPPInteractionListGenerator::CreateInteractionList(), genie::SKInteractionListGenerator::CreateInteractionList(), genie::QELInteractionListGenerator::CreateInteractionListCC(), genie::QELInteractionListGenerator::CreateInteractionListCharmCC(), genie::DMELInteractionListGenerator::CreateInteractionListDM(), genie::QELInteractionListGenerator::CreateInteractionListNC(), genie::QELInteractionListGenerator::CreateInteractionListStrangeCC(), genie::XSecSplineList::CreateSpline(), DFRCC(), DFRCC(), DISCC(), DISCC(), DISCC(), DISCC(), DISCC(), DISEM(), DISEM(), DISEM(), DISEM(), DISNC(), DISNC(), DISNC(), DISNC(), DISNC(), DMDI(), DMDI(), DMDI(), DMDI(), DME(), DME(), genie::utils::EnergyDeltaFunctionSolutionDMEL(), genie::utils::EnergyDeltaFunctionSolutionQEL(), GenerateOriginMomentum(), GLR(), GLR(), HNL(), IBD(), IBD(), IMD(), IMD(), genie::AlamSimoAtharVacasSKXSec::Integrate(), genie::DISXSec::Integrate(), genie::DMDISXSec::Integrate(), genie::HEDISXSec::Integrate(), genie::HELeptonXSec::Integrate(), genie::ReinSehgalRESXSec::Integrate(), genie::ReinSehgalRESXSecFast::Integrate(), genie::SPPXSec::Integrate(), main(), main(), MECCC(), MECCC(), MECCC(), MECCC(), MECEM(), MECEM(), MECEM(), MECNC(), MECNC(), NDecay(), genie::utils::nuclear::NuclQELXSecSuppression(), genie::HELeptonInteractionListGenerator::PhotonRESInteraction(), genie::DMELEventGenerator::ProcessEventRecord(), genie::DMELKinematicsGenerator::ProcessEventRecord(), genie::QELEventGenerator::ProcessEventRecord(), genie::QELKinematicsGenerator::ProcessEventRecord(), QELCC(), QELCC(), QELEM(), QELEM(), QELNC(), QELNC(), RESCC(), RESCC(), RESEM(), RESEM(), RESNC(), RESNC(), genie::PhysInteractionSelector::SelectInteraction(), genie::ToyInteractionSelector::SelectInteraction(), genie::MECGenerator::SelectNSVLeptonKinematics(), genie::MECGenerator::SelectSuSALeptonKinematics(), genie::COHKinematicsGenerator::SetKinematics(), genie::DMELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::QELKinematicsGenerator::SpectralFuncExperimentalCode(), TestDecay(), genie::hnl::Decayer::UpdateEventRecord(), genie::AlamSimoAtharVacasSKPXSec2014::XSec(), and genie::GEVGDriver::XSecSum().

◆ Kine()

const Kinematics & genie::Interaction::Kine ( void ) const
inline

Definition at line 71 of file Interaction.h.

71{ return *fKinematics; }

References fKinematics.

Referenced by genie::COHDNuEventGenerator::AddFinalStateDarkNeutrino(), 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::LwlynSmithFF::Fp(), genie::LwlynSmithFFNC::Fp(), genie::BBA03ELFormFactorsModel::Gen(), genie::BBA07ELFormFactorsModel::Gen(), genie::GalsterELFormFactorsModel::Gen(), GenerateEvent(), genie::BBA03ELFormFactorsModel::Gep(), genie::BBA07ELFormFactorsModel::Gep(), genie::DipoleELFormFactorsModel::Gep(), genie::GalsterELFormFactorsModel::Gep(), genie::MECScaleVsW::GetScaling(), genie::TransverseEnhancementFFModel::GetTransEnhMagFF(), genie::BBA03ELFormFactorsModel::Gmn(), genie::BBA07ELFormFactorsModel::Gmn(), genie::DipoleELFormFactorsModel::Gmn(), genie::BBA03ELFormFactorsModel::Gmp(), genie::BBA07ELFormFactorsModel::Gmp(), genie::DipoleELFormFactorsModel::Gmp(), genie::LeptoHadPythia6::Hadronize(), genie::LeptoHadPythia8::Hadronize(), genie::Pythia6Hadro2019::Hadronize(), genie::Pythia8Hadro2019::Hadronize(), 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::DMEOutgoingDarkGenerator::ProcessEventRecord(), genie::HENuElGenerator::ProcessEventRecord(), genie::NuEPrimaryLeptonGenerator::ProcessEventRecord(), genie::OutgoingDarkGenerator::ProcessEventRecord(), genie::PrimaryLeptonGenerator::ProcessEventRecord(), genie::QPMDISStrucFuncBase::Q2(), genie::QPMDMDISStrucFuncBase::Q2(), genie::utils::kinematics::Q2(), genie::QPMDISStrucFuncBase::R(), genie::QPMDMDISStrucFuncBase::R(), genie::BYStrucFunc::ScalingVar(), genie::DMBYStrucFunc::ScalingVar(), genie::QPMDISStrucFuncBase::ScalingVar(), genie::QPMDMDISStrucFuncBase::ScalingVar(), genie::AGKY2019::SelectHadronizer(), genie::BBA05ELFormFactorsModel::tau(), genie::LwlynSmithFF::tau(), genie::MKFFCC::tau(), genie::MKFFEM::tau(), genie::BertuzzoDNuCOHPXSec::ValidKinematics(), genie::utils::kinematics::W(), genie::GLRESWdecPythia6::Wdecay(), genie::GLRESWdecPythia8::Wdecay(), genie::PhotonCOHWdecPythia6::Wdecay(), genie::PhotonCOHWdecPythia8::Wdecay(), genie::PhotonRESWdecPythia6::Wdecay(), genie::PhotonRESWdecPythia8::Wdecay(), genie::BardinIMDRadCorPXSec::XSec(), genie::EmpiricalMECPXSec2015::XSec(), genie::KovalenkoQELCharmPXSec::XSec(), genie::NievesSimoVacasMECPXSec2016::XSec(), genie::PaisQELLambdaPXSec::XSec(), genie::SlowRsclCharmDISPXSecLO::XSec(), genie::StrumiaVissaniIBDPXSec::XSec(), genie::SuSAv2MECPXSec::XSec(), and genie::SuSAv2QELPXSec::XSec().

◆ KinePtr()

Kinematics * genie::Interaction::KinePtr ( void ) const
inline

Definition at line 76 of file Interaction.h.

76{ return fKinematics; }

References fKinematics.

Referenced by genie::BaryonResonanceDecayer::AcceptPionDecay(), genie::HadronicSystemGenerator::AddFinalHadronicSyst(), genie::HEDISGenerator::AddPrimaryLepton(), genie::OutgoingDarkGenerator::AddToEventRecord(), genie::PrimaryLeptonGenerator::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::DISKinematicsGenerator::ComputeMaxXSec(), genie::DMDISKinematicsGenerator::ComputeMaxXSec(), genie::DMEKinematicsGenerator::ComputeMaxXSec(), genie::DMELKinematicsGenerator::ComputeMaxXSec(), genie::HELeptonKinematicsGenerator::ComputeMaxXSec(), genie::IBDKinematicsGenerator::ComputeMaxXSec(), genie::NuEKinematicsGenerator::ComputeMaxXSec(), genie::QELEventGeneratorSM::ComputeMaxXSec(), genie::QELEventGeneratorSM::ComputeMaxXSec(), genie::QELKinematicsGenerator::ComputeMaxXSec(), genie::RESKinematicsGenerator::ComputeMaxXSec(), genie::SKKinematicsGenerator::ComputeMaxXSec(), genie::KNOTunedQPMDISPXSec::DISRESJoinSuppressionFactor(), genie::ZExpAxialFormFactorModel::FA(), genie::LwlynSmithQELCCPXSec::FullDifferentialXSec(), genie::ZExpELFormFactorModel::Gen(), genie::CEvNSEventGenerator::GenerateKinematics(), genie::COHDNuEventGenerator::GenerateKinematics(), genie::MECGenerator::GenerateNSVInitialHadrons(), genie::QELEventGeneratorSuSA::GenerateNucleon(), genie::ZExpELFormFactorModel::Gep(), GetCrossSection(), genie::utils::mec::GetMaxXSecTlctl(), genie::ZExpELFormFactorModel::Gmn(), genie::ZExpELFormFactorModel::Gmp(), genie::LeptoHadPythia6::Hadronize(), genie::LeptoHadPythia8::Hadronize(), genie::ZExpELFormFactorModel::LoadConfig(), main(), main(), MakePlots(), genie::COHKinematicsGenerator::MaxXSec_BergerSehgal(), genie::COHKinematicsGenerator::MaxXSec_BergerSehgalFM(), genie::COHKinematicsGenerator::MaxXSec_ReinSehgal(), genie::utils::kinematics::PhaseSpaceVolume(), genie::DFRKinematicsGenerator::ProcessEventRecord(), genie::DISHadronicSystemGenerator::ProcessEventRecord(), genie::DISKinematicsGenerator::ProcessEventRecord(), genie::DMDISKinematicsGenerator::ProcessEventRecord(), genie::DMEKinematicsGenerator::ProcessEventRecord(), genie::DMELEventGenerator::ProcessEventRecord(), genie::DMELKinematicsGenerator::ProcessEventRecord(), genie::evtlib::EventLibraryInterface::ProcessEventRecord(), genie::HEDISKinematicsGenerator::ProcessEventRecord(), genie::HELeptonKinematicsGenerator::ProcessEventRecord(), genie::IBDKinematicsGenerator::ProcessEventRecord(), genie::NormGenerator::ProcessEventRecord(), genie::NuEKinematicsGenerator::ProcessEventRecord(), genie::QELEventGenerator::ProcessEventRecord(), genie::QELEventGeneratorSM::ProcessEventRecord(), genie::QELKinematicsGenerator::ProcessEventRecord(), genie::RESKinematicsGenerator::ProcessEventRecord(), genie::SPPEventGenerator::ProcessEventRecord(), genie::HEDISKinematicsGenerator::Scan(), genie::MECGenerator::SelectEmpiricalKinematics(), genie::QELEventGeneratorSuSA::SelectLeptonKinematics(), genie::MECGenerator::SelectNSVLeptonKinematics(), genie::RSPPResonanceSelector::SelectResonance(), genie::MECGenerator::SelectSuSALeptonKinematics(), genie::DMELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::QELKinematicsGenerator::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::NievesQELCCPXSec::XSec(), and genie::NievesSimoVacasMECPXSec2016::XSec().

◆ MECCC() [1/4]

Interaction * Interaction::MECCC ( int tgt,
int nuccluster,
int probe,
const TLorentzVector & p4probe )
static

Definition at line 853 of file Interaction.cxx.

855{
856 Interaction * interaction =
858
859 InitialState * init_state = interaction->InitStatePtr();
860 init_state->SetProbeP4(p4probe);
861 init_state->TgtPtr()->SetHitNucPdg(ncluster);
862
863 return interaction;
864}

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

◆ MECCC() [2/4]

Interaction * Interaction::MECCC ( int tgt,
int nuccluster,
int probe,
double E = 0 )
static

Definition at line 841 of file Interaction.cxx.

842{
843 Interaction * interaction =
845
846 InitialState * init_state = interaction->InitStatePtr();
847 init_state->SetProbeE(E);
848 init_state->TgtPtr()->SetHitNucPdg(ncluster);
849
850 return interaction;
851}

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

Referenced by genie::MECInteractionListGenerator::CreateInteractionList().

◆ MECCC() [3/4]

Interaction * Interaction::MECCC ( int tgt,
int probe,
const TLorentzVector & p4probe )
static

Definition at line 877 of file Interaction.cxx.

879{
880 Interaction * interaction =
882
883 InitialState * init_state = interaction->InitStatePtr();
884 init_state->SetProbeP4(p4probe);
885
886 return interaction;
887}

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

◆ MECCC() [4/4]

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

Definition at line 866 of file Interaction.cxx.

867{
868 Interaction * interaction =
870
871 InitialState * init_state = interaction->InitStatePtr();
872 init_state->SetProbeE(E);
873
874 return interaction;
875}

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

◆ MECEM() [1/3]

Interaction * Interaction::MECEM ( int tgt,
int nuccluster,
int probe,
const TLorentzVector & p4probe )
static

Definition at line 939 of file Interaction.cxx.

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}

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

◆ MECEM() [2/3]

Interaction * Interaction::MECEM ( int tgt,
int nuccluster,
int probe,
double E = 0 )
static

Definition at line 927 of file Interaction.cxx.

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}

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

Referenced by genie::MECInteractionListGenerator::CreateInteractionList().

◆ MECEM() [3/3]

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

Definition at line 915 of file Interaction.cxx.

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}

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

◆ MECNC() [1/2]

Interaction * Interaction::MECNC ( int tgt,
int nuccluster,
int probe,
const TLorentzVector & p4probe )
static

Definition at line 902 of file Interaction.cxx.

904{
905 Interaction * interaction =
907
908 InitialState * init_state = interaction->InitStatePtr();
909 init_state->SetProbeP4(p4probe);
910 init_state->TgtPtr()->SetHitNucPdg(ncluster);
911
912 return interaction;
913}

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

◆ MECNC() [2/2]

Interaction * Interaction::MECNC ( int tgt,
int nuccluster,
int probe,
double E = 0 )
static

Definition at line 890 of file Interaction.cxx.

891{
892 Interaction * interaction =
894
895 InitialState * init_state = interaction->InitStatePtr();
896 init_state->SetProbeE(E);
897 init_state->TgtPtr()->SetHitNucPdg(ncluster);
898
899 return interaction;
900}

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

Referenced by genie::MECInteractionListGenerator::CreateInteractionList().

◆ NDecay()

Interaction * Interaction::NDecay ( int tgt,
int decay_mode = -1,
int decayed_nucleon = 0 )
static

Definition at line 976 of file Interaction.cxx.

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}

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

Referenced by main().

◆ NOsc()

Interaction * Interaction::NOsc ( int tgt,
int annihilation_mode = -1 )
static

Definition at line 988 of file Interaction.cxx.

989{
990 Interaction * interaction =
992 interaction->ExclTagPtr()->SetDecayMode(annihilation_mode);
993 return interaction;
994}

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

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

◆ operator=()

Interaction & Interaction::operator= ( const Interaction & i)

copy

Definition at line 305 of file Interaction.cxx.

306{
307 this->Copy(interaction);
308 return (*this);
309}

References Copy(), and Interaction().

◆ PhaseSpace()

const KPhaseSpace & genie::Interaction::PhaseSpace ( void ) const
inline

Definition at line 73 of file Interaction.h.

73{ return *fKinePhSp; }

References fKinePhSp.

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

◆ PhaseSpacePtr()

KPhaseSpace * genie::Interaction::PhaseSpacePtr ( void ) const
inline

Definition at line 78 of file Interaction.h.

78{ return fKinePhSp; }

References fKinePhSp.

Referenced by genie::SPPEventGenerator::ComputeMaxXSec().

◆ Print()

void Interaction::Print ( ostream & stream) const

Definition at line 287 of file Interaction.cxx.

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}

References fExclusiveTag, fInitialState, fKinematics, and fProcInfo.

Referenced by ClassImp().

◆ ProcInfo()

const ProcessInfo & genie::Interaction::ProcInfo ( void ) const
inline

Definition at line 70 of file Interaction.h.

70{ return *fProcInfo; }

References fProcInfo.

Referenced by AcceptEvent(), genie::DMETargetRemnantGenerator::AddElectronNeutrino(), genie::NuETargetRemnantGenerator::AddElectronNeutrino(), genie::InitialStateAppender::AddNucleus(), genie::InitialStateAppender::AddStruckParticle(), genie::OutgoingDarkGenerator::AddToEventRecord(), genie::PrimaryLeptonGenerator::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::HELeptonKinematicsGenerator::ComputeMaxXSec(), genie::RESKinematicsGenerator::ComputeMaxXSec(), ConvertToGHad(), ConvertToGST(), ConvertToGTracker(), genie::HEDISStrucFunc::CreateQrkSF(), genie::KNOTunedQPMDISPXSec::DISRESJoinSuppressionFactor(), genie::BergerSehgalCOHPiPXSec2015::ExactKinematicTerm(), genie::BergerSehgalFMCOHPiPXSec2015::ExactKinematicTerm(), genie::SppChannel::FromInteraction(), FSPrimLeptonPdg(), genie::LwlynSmithQELCCPXSec::FullDifferentialXSec(), GenerateEvent(), genie::VertexGenerator::GenerateVertex(), genie::HEDISInteractionListGenerator::GetFinalQuarks(), genie::DISInteractionListGenerator::GetHitQuarks(), genie::DMDISInteractionListGenerator::GetHitQuarks(), genie::HEDISInteractionListGenerator::GetHitQuarks(), genie::utils::mec::GetMaxXSecTlctl(), genie::evtlib::EventLibraryInterface::GetRecord(), genie::evtlib::EvtLibPXSec::GetXSec(), genie::EmpiricalMECPXSec2015::Integral(), genie::HELeptonXSec::Integrate(), genie::ReinSehgalRESXSec::Integrate(), genie::ReinSehgalRESXSecFast::Integrate(), genie::ReinSehgalSPPXSec::Integrate(), genie::SPPXSec::Integrate(), 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::BergerSehgalCOHPiPXSec2015::PionCOMAbsMomentum(), genie::BergerSehgalFMCOHPiPXSec2015::PionCOMAbsMomentum(), genie::COHKinematicsGenerator::pionMass(), genie::evtlib::EventLibraryInterface::ProcessEventRecord(), genie::HELeptonKinematicsGenerator::ProcessEventRecord(), genie::HENuElGenerator::ProcessEventRecord(), genie::NucDeExcitationSim::ProcessEventRecord(), genie::PauliBlocker::ProcessEventRecord(), genie::RESKinematicsGenerator::ProcessEventRecord(), genie::HEDISStrucFunc::QrkSFCode(), genie::HEDISStrucFunc::QrkSFName(), genie::SuSAv2MECPXSec::Qvalue(), SaveGraphsToRootFile(), SaveToPsFile(), genie::PhysInteractionSelector::SelectInteraction(), genie::QELEventGeneratorSuSA::SelectLeptonKinematics(), genie::MECGenerator::SelectSuSALeptonKinematics(), genie::COHKinematicsGenerator::SetKinematics(), genie::utils::kinematics::UpdateXFromQ2Y(), genie::AivazisCharmPXSecLO::ValidProcess(), genie::AlamSimoAtharVacasSKPXSec2014::ValidProcess(), genie::AlvarezRusoCOHPiPXSec::ValidProcess(), genie::BergerSehgalCOHPiPXSec2015::ValidProcess(), genie::BergerSehgalFMCOHPiPXSec2015::ValidProcess(), genie::BertuzzoDNuCOHPXSec::ValidProcess(), genie::BostedChristyEMPXSec::ValidProcess(), genie::BSKLNBaseRESPXSec2014::ValidProcess(), genie::EmpiricalMECPXSec2015::ValidProcess(), genie::GLRESPXSec::ValidProcess(), genie::H3AMNuGammaPXSec::ValidProcess(), genie::HEDISPXSec::ValidProcess(), genie::HENuElPXSec::ValidProcess(), genie::KLVOxygenIBDPXSec::ValidProcess(), genie::KovalenkoQELCharmPXSec::ValidProcess(), genie::LwlynSmithQELCCPXSec::ValidProcess(), genie::MartiniEricsonChanfrayMarteauMECPXSec2016::ValidProcess(), genie::NievesQELCCPXSec::ValidProcess(), genie::NievesSimoVacasMECPXSec2016::ValidProcess(), genie::PaisQELLambdaPXSec::ValidProcess(), genie::PattonCEvNSPXSec::ValidProcess(), genie::PhotonCOHPXSec::ValidProcess(), genie::PhotonRESPXSec::ValidProcess(), genie::QPMDISPXSec::ValidProcess(), genie::QPMDMDISPXSec::ValidProcess(), genie::ReinDFRPXSec::ValidProcess(), genie::ReinSehgalCOHPiPXSec::ValidProcess(), genie::ReinSehgalRESPXSec::ValidProcess(), genie::RosenbluthPXSec::ValidProcess(), genie::SlowRsclCharmDISPXSecLO::ValidProcess(), genie::SmithMonizQELCCPXSec::ValidProcess(), genie::StrumiaVissaniIBDPXSec::ValidProcess(), genie::SuSAv2MECPXSec::ValidProcess(), genie::SuSAv2QELPXSec::ValidProcess(), genie::utils::kinematics::W(), genie::AivazisCharmPXSecLO::XSec(), genie::AlvarezRusoCOHPiPXSec::XSec(), genie::BergerSehgalCOHPiPXSec2015::XSec(), genie::BergerSehgalFMCOHPiPXSec2015::XSec(), genie::EmpiricalMECPXSec2015::XSec(), genie::HENuElPXSec::XSec(), genie::LwlynSmithQELCCPXSec::XSec(), genie::NievesQELCCPXSec::XSec(), genie::NievesSimoVacasMECPXSec2016::XSec(), genie::ReinDFRPXSec::XSec(), genie::ReinSehgalCOHPiPXSec::XSec(), genie::RosenbluthPXSec::XSec(), genie::SlowRsclCharmDISPXSecLO::XSec(), genie::SuSAv2MECPXSec::XSec(), genie::SuSAv2QELPXSec::XSec(), and genie::SuSAv2QELPXSec::XSecScaling().

◆ ProcInfoPtr()

ProcessInfo * genie::Interaction::ProcInfoPtr ( void ) const
inline

Definition at line 75 of file Interaction.h.

75{ return fProcInfo; }

References fProcInfo.

◆ QELCC() [1/2]

Interaction * Interaction::QELCC ( int tgt,
int nuc,
int probe,
const TLorentzVector & p4probe )
static

Definition at line 517 of file Interaction.cxx.

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}
@ kScQuasiElastic

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

◆ QELCC() [2/2]

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

Definition at line 505 of file Interaction.cxx.

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}

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

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

◆ QELEM() [1/2]

Interaction * Interaction::QELEM ( int tgt,
int nuc,
int probe,
const TLorentzVector & p4probe )
static

Definition at line 567 of file Interaction.cxx.

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}

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

◆ QELEM() [2/2]

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

Definition at line 555 of file Interaction.cxx.

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}

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

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

◆ QELNC() [1/2]

Interaction * Interaction::QELNC ( int tgt,
int nuc,
int probe,
const TLorentzVector & p4probe )
static

Definition at line 542 of file Interaction.cxx.

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}

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

◆ QELNC() [2/2]

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

Definition at line 530 of file Interaction.cxx.

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}

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

Referenced by genie::EmpiricalMECPXSec2015::Integral().

◆ RecoilNucleon()

TParticlePDG * Interaction::RecoilNucleon ( void ) const

recoil nucleon

Definition at line 171 of file Interaction.cxx.

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

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

Referenced by genie::utils::CosTheta0Max(), genie::LwlynSmithQELCCPXSec::FullDifferentialXSec(), and genie::NievesQELCCPXSec::XSec().

◆ RecoilNucleonPdg()

int Interaction::RecoilNucleonPdg ( void ) const

recoil nucleon pdg

Definition at line 179 of file Interaction.cxx.

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
188 if (fProcInfo->IsQuasiElastic() || fProcInfo->IsInverseBetaDecay() || fProcInfo->IsDarkMatterElastic()) {
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 Is2NucleonCluster(int pdgc)
Definition PDGUtils.cxx:402
int SwitchProtonNeutron(int pdgc)
Definition PDGUtils.cxx:356
bool IsNucleon(int pdgc)
Definition PDGUtils.cxx:346
int ModifyNucleonCluster(int pdgc, int dQ)
Definition PDGUtils.cxx:364

References fInitialState, fProcInfo, genie::Target::HitNucPdg(), genie::pdg::Is2NucleonCluster(), genie::pdg::IsNeutrino(), genie::pdg::IsNucleon(), LOG, genie::pdg::ModifyNucleonCluster(), pDEBUG, and genie::pdg::SwitchProtonNeutron().

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

◆ RESCC() [1/2]

Interaction * Interaction::RESCC ( int tgt,
int nuc,
int probe,
const TLorentzVector & p4probe )
static

Definition at line 617 of file Interaction.cxx.

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}

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

◆ RESCC() [2/2]

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

Definition at line 605 of file Interaction.cxx.

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}

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

Referenced by main().

◆ RESEM() [1/2]

Interaction * Interaction::RESEM ( int tgt,
int nuc,
int probe,
const TLorentzVector & p4probe )
static

Definition at line 667 of file Interaction.cxx.

669{
670 Interaction * interaction =
672
673 InitialState * init_state = interaction->InitStatePtr();
674 init_state->SetProbeP4(p4probe);
675 init_state->TgtPtr()->SetHitNucPdg(hitnuc);
676
677 return interaction;
678}

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

◆ RESEM() [2/2]

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

Definition at line 655 of file Interaction.cxx.

656{
657 Interaction * interaction =
659
660 InitialState * init_state = interaction->InitStatePtr();
661 init_state->SetProbeE(E);
662 init_state->TgtPtr()->SetHitNucPdg(hitnuc);
663
664 return interaction;
665}

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

◆ Reset()

void Interaction::Reset ( void )

Definition at line 83 of file Interaction.cxx.

84{
85 this->CleanUp();
86 this->Init();
87}

References CleanUp(), and Init().

◆ RESNC() [1/2]

Interaction * Interaction::RESNC ( int tgt,
int nuc,
int probe,
const TLorentzVector & p4probe )
static

Definition at line 642 of file Interaction.cxx.

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}

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

◆ RESNC() [2/2]

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

Definition at line 630 of file Interaction.cxx.

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}

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

◆ SetExclTag()

◆ SetInitState()

void Interaction::SetInitState ( const InitialState & init)

Definition at line 222 of file Interaction.cxx.

223{
224 if (!fInitialState) fInitialState = new InitialState();
225 fInitialState->Copy(init_state);
226}

References fInitialState.

◆ SetKine()

void Interaction::SetKine ( const Kinematics & kine)

Definition at line 234 of file Interaction.cxx.

235{
236 if (!fKinematics) fKinematics = new Kinematics();
237 fKinematics->Copy(kinematics);
238}

References fKinematics.

◆ SetProcInfo()

void Interaction::SetProcInfo ( const ProcessInfo & proc)

Definition at line 228 of file Interaction.cxx.

229{
230 if (!fProcInfo) fProcInfo = new ProcessInfo();
231 fProcInfo->Copy(proc_info);
232}

References fProcInfo.

◆ operator<<

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

print

References Interaction().

Member Data Documentation

◆ fExclusiveTag

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(), Interaction(), Print(), and SetExclTag().

◆ fInitialState

InitialState* genie::Interaction::fInitialState
private

◆ fKinematics

Kinematics* genie::Interaction::fKinematics
private

kinematical variables

Definition at line 181 of file Interaction.h.

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

◆ fKinePhSp

KPhaseSpace* genie::Interaction::fKinePhSp
private

Kinematic phase space.

Definition at line 183 of file Interaction.h.

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

◆ fProcInfo

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(), Interaction(), Print(), ProcInfo(), ProcInfoPtr(), RecoilNucleonPdg(), and SetProcInfo().


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