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

A class encapsulating an enumeration of interaction types (EM, Weak-CC, Weak-NC) and scattering types (Elastic, Quasi Elastic, Deep Inelastic, Resonant Single Pion Production, Coherent Pion Production). More...

#include <ProcessInfo.h>

Inheritance diagram for genie::ProcessInfo:
[legend]
Collaboration diagram for genie::ProcessInfo:
[legend]

Public Member Functions

 ProcessInfo ()
 ProcessInfo (ScatteringType_t sc_type, InteractionType_t int_type)
 ProcessInfo (const ProcessInfo &proc)
 ~ProcessInfo ()
void Set (ScatteringType_t sc_type, InteractionType_t int_type)
bool IsQuasiElastic (void) const
bool IsDarkMatterElastic (void) const
bool IsDeepInelastic (void) const
bool IsDarkMatterDeepInelastic (void) const
bool IsResonant (void) const
bool IsCoherentProduction (void) const
bool IsCoherentElastic (void) const
bool IsSinglePion (void) const
bool IsSingleKaon (void) const
bool IsElectronScattering (void) const
bool IsNuElectronElastic (void) const
bool IsInverseMuDecay (void) const
bool IsIMDAnnihilation (void) const
bool IsNorm (void) const
bool IsDarkMatterElectronElastic (void) const
bool IsInverseBetaDecay (void) const
bool IsGlashowResonance (void) const
bool IsPhotonResonance (void) const
bool IsPhotonCoherent (void) const
bool IsAMNuGamma (void) const
bool IsMEC (void) const
bool IsDiffractive (void) const
bool IsEM (void) const
bool IsWeak (void) const
bool IsWeakCC (void) const
bool IsWeakNC (void) const
bool IsWeakMix (void) const
bool IsDarkMatter (void) const
bool IsDarkNeutralCurrent (void) const
bool IsHNLDecay (void) const
bool IsKnown (void) const
ScatteringType_t ScatteringTypeId (void) const
InteractionType_t InteractionTypeId (void) const
string ScatteringTypeAsString (void) const
string InteractionTypeAsString (void) const
void Reset (void)
void Copy (const ProcessInfo &proc)
bool Compare (const ProcessInfo &proc) const
string AsString (void) const
void Print (ostream &stream) const
bool operator== (const ProcessInfo &proc) const
ProcessInfooperator= (const ProcessInfo &proc)

Private Attributes

ScatteringType_t fScatteringType
 scattering type (QEL, RES, DIS, ...)
InteractionType_t fInteractionType
 interaction type (Weak CC/NC, E/M, ...)

Friends

ostream & operator<< (ostream &stream, const ProcessInfo &proc)

Detailed Description

A class encapsulating an enumeration of interaction types (EM, Weak-CC, Weak-NC) and scattering types (Elastic, Quasi Elastic, Deep Inelastic, Resonant Single Pion Production, Coherent Pion Production).

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)

Changes required to implement the GENIE Dark Neutrino module were installed by Iker de Icaza (Univ. of Sussex)

Created:\n May 04, 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 46 of file ProcessInfo.h.

Constructor & Destructor Documentation

◆ ProcessInfo() [1/3]

ProcessInfo::ProcessInfo ( )

Definition at line 37 of file ProcessInfo.cxx.

37 :
38TObject()
39{
40 this->Reset();
41}

References Reset().

Referenced by Compare(), Copy(), operator<<, operator=(), operator==(), and ProcessInfo().

◆ ProcessInfo() [2/3]

ProcessInfo::ProcessInfo ( ScatteringType_t sc_type,
InteractionType_t int_type )

Definition at line 43 of file ProcessInfo.cxx.

44 :
45TObject(),
46fScatteringType(sc_type),
47fInteractionType(int_type)
48{
49
50}
ScatteringType_t fScatteringType
scattering type (QEL, RES, DIS, ...)
InteractionType_t fInteractionType
interaction type (Weak CC/NC, E/M, ...)

References fInteractionType, and fScatteringType.

◆ ProcessInfo() [3/3]

ProcessInfo::ProcessInfo ( const ProcessInfo & proc)

Definition at line 52 of file ProcessInfo.cxx.

52 :
53TObject()
54{
55 this->Copy(proc);
56}
void Copy(const ProcessInfo &proc)

References Copy(), and ProcessInfo().

◆ ~ProcessInfo()

ProcessInfo::~ProcessInfo ( )

Definition at line 58 of file ProcessInfo.cxx.

59{
60
61}

Member Function Documentation

◆ AsString()

string ProcessInfo::AsString ( void ) const

Definition at line 238 of file ProcessInfo.cxx.

239{
240 ostringstream stream;
241
242 stream << "<"
243 << this->ScatteringTypeAsString()
244 << " - "
245 << this->InteractionTypeAsString()
246 << ">";
247
248 return stream.str();
249}
string ScatteringTypeAsString(void) const
string InteractionTypeAsString(void) const

References InteractionTypeAsString(), and ScatteringTypeAsString().

Referenced by genie::SuSAv2QELPXSec::XSecScaling().

◆ Compare()

bool ProcessInfo::Compare ( const ProcessInfo & proc) const

Definition at line 269 of file ProcessInfo.cxx.

270{
271 return (
274 );
275}

References fInteractionType, fScatteringType, and ProcessInfo().

Referenced by operator==().

◆ Copy()

void ProcessInfo::Copy ( const ProcessInfo & proc)

Definition at line 277 of file ProcessInfo.cxx.

References fInteractionType, fScatteringType, and ProcessInfo().

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

◆ InteractionTypeAsString()

string ProcessInfo::InteractionTypeAsString ( void ) const

Definition at line 257 of file ProcessInfo.cxx.

258{
259 string interaction_type = InteractionType::AsString(fInteractionType);
260 return interaction_type;
261}
static string AsString(InteractionType_t type)

References genie::InteractionType::AsString(), and fInteractionType.

Referenced by AsString(), genie::KNOTunedQPMDISPXSec::DISRESJoinSuppressionFactor(), and Print().

◆ InteractionTypeId()

◆ IsAMNuGamma()

bool ProcessInfo::IsAMNuGamma ( void ) const

◆ IsCoherentElastic()

◆ IsCoherentProduction()

◆ IsDarkMatter()

◆ IsDarkMatterDeepInelastic()

◆ IsDarkMatterElastic()

◆ IsDarkMatterElectronElastic()

◆ IsDarkNeutralCurrent()

bool ProcessInfo::IsDarkNeutralCurrent ( void ) const

◆ IsDeepInelastic()

◆ IsDiffractive()

◆ IsElectronScattering()

bool ProcessInfo::IsElectronScattering ( void ) const

◆ IsEM()

bool ProcessInfo::IsEM ( void ) const

Definition at line 193 of file ProcessInfo.cxx.

194{
195 return (fInteractionType == kIntEM);
196}

References fInteractionType, and genie::kIntEM.

Referenced by genie::AGKYLowW2019::ApplyRijk(), genie::PythiaBaseHadro2019::AssertValidity(), genie::utils::BindHitNucleon(), genie::QPMDISStrucFuncBase::Calculate(), genie::RESKinematicsGenerator::ComputeMaxXSec(), ConvertToGST(), genie::KNOTunedQPMDISPXSec::DISRESJoinSuppressionFactor(), genie::Interaction::FSPrimLeptonPdg(), genie::DISInteractionListGenerator::GetHitQuarks(), genie::utils::mec::GetMaxXSecTlctl(), genie::EmpiricalMECPXSec2015::Integral(), genie::PythiaBaseHadro2019::MakeQuarkDiquarkAssignments(), genie::SuSAv2MECPXSec::PairRatio(), genie::RESKinematicsGenerator::ProcessEventRecord(), genie::KPhaseSpace::Q2Lim(), genie::KPhaseSpace::Q2Lim_W(), genie::SuSAv2MECPXSec::Qvalue(), SaveGraphsToRootFile(), genie::QELEventGeneratorSuSA::SelectLeptonKinematics(), genie::MECGenerator::SelectSuSALeptonKinematics(), genie::BostedChristyEMPXSec::ValidProcess(), genie::BSKLNBaseRESPXSec2014::ValidProcess(), genie::ReinSehgalRESPXSec::ValidProcess(), genie::RosenbluthPXSec::ValidProcess(), genie::SuSAv2MECPXSec::ValidProcess(), genie::SuSAv2QELPXSec::ValidProcess(), genie::KPhaseSpace::WLim(), genie::KPhaseSpace::XLim(), genie::BSKLNBaseRESPXSec2014::XSec(), genie::EmpiricalMECPXSec2015::XSec(), genie::QPMDISPXSec::XSec(), genie::QPMDMDISPXSec::XSec(), genie::ReinSehgalRESPXSec::XSec(), genie::SuSAv2MECPXSec::XSec(), genie::SuSAv2QELPXSec::XSec(), genie::SuSAv2QELPXSec::XSecScaling(), genie::KPhaseSpace::YLim(), and genie::KPhaseSpace::YLim_X().

◆ IsGlashowResonance()

◆ IsHNLDecay()

bool ProcessInfo::IsHNLDecay ( void ) const

Definition at line 223 of file ProcessInfo.cxx.

224{
225 return (fInteractionType == kIntHNL);
226}

References fInteractionType, and genie::kIntHNL.

Referenced by ConvertToGST().

◆ IsIMDAnnihilation()

◆ IsInverseBetaDecay()

◆ IsInverseMuDecay()

◆ IsKnown()

bool ProcessInfo::IsKnown ( void ) const

Definition at line 187 of file ProcessInfo.cxx.

188{
189 return (fScatteringType > kScNull);
190}

References fScatteringType, and genie::kScNull.

Referenced by genie::KPhaseSpace::Threshold().

◆ IsMEC()

◆ IsNorm()

bool ProcessInfo::IsNorm ( void ) const

◆ IsNuElectronElastic()

◆ IsPhotonCoherent()

◆ IsPhotonResonance()

◆ IsQuasiElastic()

◆ IsResonant()

◆ IsSingleKaon()

◆ IsSinglePion()

bool ProcessInfo::IsSinglePion ( void ) const

◆ IsWeak()

◆ IsWeakCC()

bool ProcessInfo::IsWeakCC ( void ) const

Definition at line 203 of file ProcessInfo.cxx.

204{
205 return (fInteractionType == kIntWeakCC);
206}

References fInteractionType, and genie::kIntWeakCC.

Referenced by AcceptEvent(), genie::AGKYLowW2019::ApplyRijk(), genie::PythiaBaseHadro2019::AssertValidity(), genie::utils::BindHitNucleon(), genie::QPMDISStrucFuncBase::Calculate(), genie::COHHadronicSystemGenerator::CalculateHadronicSystem_AlvarezRuso(), genie::COHKinematicsGenerator::CheckKinematics(), ConvertToGHad(), ConvertToGST(), genie::RESInteractionListGenerator::CreateInteractionList(), genie::HEDISStrucFunc::CreateQrkSF(), genie::BergerSehgalCOHPiPXSec2015::ExactKinematicTerm(), genie::BergerSehgalFMCOHPiPXSec2015::ExactKinematicTerm(), genie::SppChannel::FromInteraction(), genie::Interaction::FSPrimLeptonPdg(), genie::LwlynSmithQELCCPXSec::FullDifferentialXSec(), GenerateEvent(), genie::HEDISInteractionListGenerator::GetFinalQuarks(), genie::DISInteractionListGenerator::GetHitQuarks(), genie::HEDISInteractionListGenerator::GetHitQuarks(), genie::evtlib::EventLibraryInterface::GetRecord(), genie::evtlib::EvtLibPXSec::GetXSec(), genie::EmpiricalMECPXSec2015::Integral(), IsWeak(), main(), genie::PythiaBaseHadro2019::MakeQuarkDiquarkAssignments(), genie::utils::ghep::NeutReactionCode(), genie::utils::ghep::NuanceReactionCode(), genie::utils::nuclear::NuclQELXSecSuppression(), genie::HEDISStrucFunc::NucSFCode(), genie::HEDISStrucFunc::NucSFName(), genie::BergerSehgalCOHPiPXSec2015::PionCOMAbsMomentum(), genie::BergerSehgalFMCOHPiPXSec2015::PionCOMAbsMomentum(), genie::COHKinematicsGenerator::pionMass(), genie::HENuElGenerator::ProcessEventRecord(), genie::KPhaseSpace::Q2Lim(), genie::HEDISStrucFunc::QrkSFCode(), genie::HEDISStrucFunc::QrkSFName(), SaveGraphsToRootFile(), genie::COHKinematicsGenerator::SetKinematics(), genie::KPhaseSpace::Threshold(), genie::KPhaseSpace::TLim(), genie::AlamSimoAtharVacasSKPXSec2014::ValidProcess(), genie::GLRESPXSec::ValidProcess(), genie::HENuElPXSec::ValidProcess(), genie::LwlynSmithQELCCPXSec::ValidProcess(), genie::NievesQELCCPXSec::ValidProcess(), genie::SmithMonizQELCCPXSec::ValidProcess(), genie::SuSAv2MECPXSec::ValidProcess(), genie::SuSAv2QELPXSec::ValidProcess(), genie::AlvarezRusoCOHPiPXSec::XSec(), genie::BergerSehgalCOHPiPXSec2015::XSec(), genie::BergerSehgalFMCOHPiPXSec2015::XSec(), genie::BSKLNBaseRESPXSec2014::XSec(), genie::EmpiricalMECPXSec2015::XSec(), genie::HENuElPXSec::XSec(), genie::LwlynSmithQELCCPXSec::XSec(), genie::MKSPPPXSec2020::XSec(), genie::NievesQELCCPXSec::XSec(), genie::NievesSimoVacasMECPXSec2016::XSec(), genie::NuElectronPXSec::XSec(), genie::QPMDISPXSec::XSec(), genie::QPMDMDISPXSec::XSec(), genie::ReinDFRPXSec::XSec(), genie::ReinSehgalCOHPiPXSec::XSec(), genie::ReinSehgalRESPXSec::XSec(), genie::SuSAv2MECPXSec::XSec(), genie::SuSAv2QELPXSec::XSec(), genie::SuSAv2QELPXSec::XSecScaling(), and genie::KPhaseSpace::YLim().

◆ IsWeakMix()

bool ProcessInfo::IsWeakMix ( void ) const

Definition at line 218 of file ProcessInfo.cxx.

219{
220 return (fInteractionType == kIntWeakMix);
221}

References fInteractionType, and genie::kIntWeakMix.

Referenced by genie::Interaction::FSPrimLeptonPdg(), IsWeak(), and SaveGraphsToRootFile().

◆ IsWeakNC()

bool ProcessInfo::IsWeakNC ( void ) const

Definition at line 208 of file ProcessInfo.cxx.

209{
210 return (fInteractionType == kIntWeakNC);
211}

References fInteractionType, and genie::kIntWeakNC.

Referenced by AcceptEvent(), genie::AGKYLowW2019::ApplyRijk(), genie::PythiaBaseHadro2019::AssertValidity(), genie::utils::BindHitNucleon(), genie::QPMDISStrucFuncBase::Calculate(), genie::COHHadronicSystemGenerator::CalculateHadronicSystem_AlvarezRuso(), ConvertToGST(), genie::SppChannel::FromInteraction(), genie::Interaction::FSPrimLeptonPdg(), genie::LwlynSmithQELCCPXSec::FullDifferentialXSec(), GenerateEvent(), genie::HEDISInteractionListGenerator::GetFinalQuarks(), genie::DISInteractionListGenerator::GetHitQuarks(), genie::HEDISInteractionListGenerator::GetHitQuarks(), genie::evtlib::EventLibraryInterface::GetRecord(), genie::evtlib::EvtLibPXSec::GetXSec(), genie::EmpiricalMECPXSec2015::Integral(), IsWeak(), genie::PythiaBaseHadro2019::MakeQuarkDiquarkAssignments(), genie::utils::ghep::NeutReactionCode(), genie::utils::ghep::NuanceReactionCode(), genie::evtlib::EventLibraryInterface::ProcessEventRecord(), SaveGraphsToRootFile(), genie::AivazisCharmPXSecLO::XSec(), genie::AlvarezRusoCOHPiPXSec::XSec(), genie::BSKLNBaseRESPXSec2014::XSec(), genie::EmpiricalMECPXSec2015::XSec(), genie::LwlynSmithQELCCPXSec::XSec(), genie::MKSPPPXSec2020::XSec(), genie::NievesQELCCPXSec::XSec(), genie::NievesSimoVacasMECPXSec2016::XSec(), genie::NuElectronPXSec::XSec(), genie::QPMDISPXSec::XSec(), genie::QPMDMDISPXSec::XSec(), genie::ReinSehgalRESPXSec::XSec(), genie::SlowRsclCharmDISPXSecLO::XSec(), genie::SuSAv2MECPXSec::XSec(), genie::SuSAv2QELPXSec::XSec(), and genie::SuSAv2QELPXSec::XSecScaling().

◆ operator=()

ProcessInfo & ProcessInfo::operator= ( const ProcessInfo & proc)

Definition at line 295 of file ProcessInfo.cxx.

296{
297 this->Copy(proc);
298 return (*this);
299}

References Copy(), and ProcessInfo().

◆ operator==()

bool ProcessInfo::operator== ( const ProcessInfo & proc) const

Definition at line 290 of file ProcessInfo.cxx.

291{
292 return this->Compare(proc);
293}
bool Compare(const ProcessInfo &proc) const

References Compare(), and ProcessInfo().

◆ Print()

void ProcessInfo::Print ( ostream & stream) const

Definition at line 283 of file ProcessInfo.cxx.

284{
285 stream << "[-] [Process-Info] " << endl
286 << " |--> Interaction : " << this->InteractionTypeAsString() << endl
287 << " |--> Scattering : " << this->ScatteringTypeAsString() << endl;
288}

References InteractionTypeAsString(), and ScatteringTypeAsString().

Referenced by ClassImp().

◆ Reset()

void ProcessInfo::Reset ( void )

Definition at line 63 of file ProcessInfo.cxx.

References fInteractionType, fScatteringType, genie::kIntNull, and genie::kScNull.

Referenced by ProcessInfo().

◆ ScatteringTypeAsString()

string ProcessInfo::ScatteringTypeAsString ( void ) const

Definition at line 251 of file ProcessInfo.cxx.

252{
253 string scattering_type = ScatteringType::AsString(fScatteringType);
254 return scattering_type;
255}
static string AsString(ScatteringType_t type)

References genie::ScatteringType::AsString(), and fScatteringType.

Referenced by AsString(), genie::HELeptonXSec::Integrate(), and Print().

◆ ScatteringTypeId()

ScatteringType_t ProcessInfo::ScatteringTypeId ( void ) const

Definition at line 233 of file ProcessInfo.cxx.

234{
235 return fScatteringType;
236}

References fScatteringType.

◆ Set()

void ProcessInfo::Set ( ScatteringType_t sc_type,
InteractionType_t int_type )

Definition at line 263 of file ProcessInfo.cxx.

264{
265 fScatteringType = sc_type;
266 fInteractionType = int_type;
267}

References fInteractionType, and fScatteringType.

◆ operator<<

ostream & operator<< ( ostream & stream,
const ProcessInfo & proc )
friend

References ProcessInfo().

Member Data Documentation

◆ fInteractionType

InteractionType_t genie::ProcessInfo::fInteractionType
private

◆ fScatteringType


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