Public Member Functions | Private Attributes | Friends | List of all members
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:

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 IsSingleKaon (void) const
 
bool IsElectronScattering (void) const
 
bool IsNuElectronElastic (void) const
 
bool IsInverseMuDecay (void) const
 
bool IsIMDAnnihilation (void) const
 
bool IsDarkMatterElectronElastic (void) const
 
bool IsInverseBetaDecay (void) const
 
bool IsGlashowResonance (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 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, ...) More...
 
InteractionType_t fInteractionType
 interaction type (Weak CC/NC, E/M, ...) More...
 

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 <constantinos.andreopoulos cern.ch> University of Liverpool & STFC Rutherford Appleton Laboratory

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)

May 04, 2004

Copyright (c) 2003-2020, 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::ProcessInfo ( )

Definition at line 37 of file ProcessInfo.cxx.

37  :
38 TObject()
39 {
40  this->Reset();
41 }
ProcessInfo::ProcessInfo ( ScatteringType_t  sc_type,
InteractionType_t  int_type 
)

Definition at line 43 of file ProcessInfo.cxx.

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

Definition at line 52 of file ProcessInfo.cxx.

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

Definition at line 58 of file ProcessInfo.cxx.

59 {
60 
61 }

Member Function Documentation

string ProcessInfo::AsString ( void  ) const

Definition at line 213 of file ProcessInfo.cxx.

214 {
215  ostringstream stream;
216 
217  stream << "<"
218  << this->ScatteringTypeAsString()
219  << " - "
220  << this->InteractionTypeAsString()
221  << ">";
222 
223  return stream.str();
224 }
string ScatteringTypeAsString(void) const
string InteractionTypeAsString(void) const
bool ProcessInfo::Compare ( const ProcessInfo proc) const

Definition at line 244 of file ProcessInfo.cxx.

245 {
246  return (
249  );
250 }
ScatteringType_t fScatteringType
scattering type (QEL, RES, DIS, ...)
Definition: ProcessInfo.h:110
InteractionType_t fInteractionType
interaction type (Weak CC/NC, E/M, ...)
Definition: ProcessInfo.h:111
void ProcessInfo::Copy ( const ProcessInfo proc)

Definition at line 252 of file ProcessInfo.cxx.

253 {
256 }
ScatteringType_t fScatteringType
scattering type (QEL, RES, DIS, ...)
Definition: ProcessInfo.h:110
InteractionType_t fInteractionType
interaction type (Weak CC/NC, E/M, ...)
Definition: ProcessInfo.h:111
string ProcessInfo::InteractionTypeAsString ( void  ) const

Definition at line 232 of file ProcessInfo.cxx.

233 {
234  string interaction_type = InteractionType::AsString(fInteractionType);
235  return interaction_type;
236 }
InteractionType_t fInteractionType
interaction type (Weak CC/NC, E/M, ...)
Definition: ProcessInfo.h:111
static string AsString(InteractionType_t type)
InteractionType_t ProcessInfo::InteractionTypeId ( void  ) const

Definition at line 203 of file ProcessInfo.cxx.

204 {
205  return fInteractionType;
206 }
InteractionType_t fInteractionType
interaction type (Weak CC/NC, E/M, ...)
Definition: ProcessInfo.h:111
bool ProcessInfo::IsAMNuGamma ( void  ) const

Definition at line 151 of file ProcessInfo.cxx.

152 {
153  return (fScatteringType == kScAMNuGamma);
154 }
ScatteringType_t fScatteringType
scattering type (QEL, RES, DIS, ...)
Definition: ProcessInfo.h:110
bool ProcessInfo::IsCoherentElastic ( void  ) const

Definition at line 104 of file ProcessInfo.cxx.

105 {
107 }
ScatteringType_t fScatteringType
scattering type (QEL, RES, DIS, ...)
Definition: ProcessInfo.h:110
bool ProcessInfo::IsCoherentProduction ( void  ) const

Definition at line 99 of file ProcessInfo.cxx.

100 {
102 }
ScatteringType_t fScatteringType
scattering type (QEL, RES, DIS, ...)
Definition: ProcessInfo.h:110
bool ProcessInfo::IsDarkMatter ( void  ) const

Definition at line 193 of file ProcessInfo.cxx.

194 {
195  return (fInteractionType == kIntDarkMatter);
196 }
InteractionType_t fInteractionType
interaction type (Weak CC/NC, E/M, ...)
Definition: ProcessInfo.h:111
bool ProcessInfo::IsDarkMatterDeepInelastic ( void  ) const

Definition at line 89 of file ProcessInfo.cxx.

90 {
92 }
ScatteringType_t fScatteringType
scattering type (QEL, RES, DIS, ...)
Definition: ProcessInfo.h:110
bool ProcessInfo::IsDarkMatterElastic ( void  ) const

Definition at line 74 of file ProcessInfo.cxx.

75 {
77 }
ScatteringType_t fScatteringType
scattering type (QEL, RES, DIS, ...)
Definition: ProcessInfo.h:110
bool ProcessInfo::IsDarkMatterElectronElastic ( void  ) const

Definition at line 131 of file ProcessInfo.cxx.

132 {
134 }
ScatteringType_t fScatteringType
scattering type (QEL, RES, DIS, ...)
Definition: ProcessInfo.h:110
bool ProcessInfo::IsDarkNeutralCurrent ( void  ) const

Definition at line 136 of file ProcessInfo.cxx.

137 {
138  return (fInteractionType == kIntDarkNC);
139 }
InteractionType_t fInteractionType
interaction type (Weak CC/NC, E/M, ...)
Definition: ProcessInfo.h:111
bool ProcessInfo::IsDeepInelastic ( void  ) const

Definition at line 84 of file ProcessInfo.cxx.

85 {
87 }
ScatteringType_t fScatteringType
scattering type (QEL, RES, DIS, ...)
Definition: ProcessInfo.h:110
bool ProcessInfo::IsDiffractive ( void  ) const

Definition at line 161 of file ProcessInfo.cxx.

162 {
163  return (fScatteringType == kScDiffractive);
164 }
ScatteringType_t fScatteringType
scattering type (QEL, RES, DIS, ...)
Definition: ProcessInfo.h:110
bool ProcessInfo::IsElectronScattering ( void  ) const

Definition at line 109 of file ProcessInfo.cxx.

bool ProcessInfo::IsEM ( void  ) const

Definition at line 173 of file ProcessInfo.cxx.

174 {
175  return (fInteractionType == kIntEM);
176 }
InteractionType_t fInteractionType
interaction type (Weak CC/NC, E/M, ...)
Definition: ProcessInfo.h:111
bool ProcessInfo::IsGlashowResonance ( void  ) const

Definition at line 146 of file ProcessInfo.cxx.

147 {
149 }
ScatteringType_t fScatteringType
scattering type (QEL, RES, DIS, ...)
Definition: ProcessInfo.h:110
bool ProcessInfo::IsIMDAnnihilation ( void  ) const

Definition at line 126 of file ProcessInfo.cxx.

127 {
129 }
ScatteringType_t fScatteringType
scattering type (QEL, RES, DIS, ...)
Definition: ProcessInfo.h:110
bool ProcessInfo::IsInverseBetaDecay ( void  ) const

Definition at line 141 of file ProcessInfo.cxx.

142 {
144 }
ScatteringType_t fScatteringType
scattering type (QEL, RES, DIS, ...)
Definition: ProcessInfo.h:110
bool ProcessInfo::IsInverseMuDecay ( void  ) const

Definition at line 121 of file ProcessInfo.cxx.

122 {
124 }
ScatteringType_t fScatteringType
scattering type (QEL, RES, DIS, ...)
Definition: ProcessInfo.h:110
bool ProcessInfo::IsKnown ( void  ) const

Definition at line 167 of file ProcessInfo.cxx.

168 {
169  return (fScatteringType > kScNull);
170 }
ScatteringType_t fScatteringType
scattering type (QEL, RES, DIS, ...)
Definition: ProcessInfo.h:110
bool ProcessInfo::IsMEC ( void  ) const

Definition at line 156 of file ProcessInfo.cxx.

157 {
158  return (fScatteringType == kScMEC);
159 }
ScatteringType_t fScatteringType
scattering type (QEL, RES, DIS, ...)
Definition: ProcessInfo.h:110
bool ProcessInfo::IsNuElectronElastic ( void  ) const

Definition at line 116 of file ProcessInfo.cxx.

117 {
119 }
ScatteringType_t fScatteringType
scattering type (QEL, RES, DIS, ...)
Definition: ProcessInfo.h:110
bool ProcessInfo::IsQuasiElastic ( void  ) const

Definition at line 69 of file ProcessInfo.cxx.

70 {
71  return (fScatteringType == kScQuasiElastic);
72 }
ScatteringType_t fScatteringType
scattering type (QEL, RES, DIS, ...)
Definition: ProcessInfo.h:110
bool ProcessInfo::IsResonant ( void  ) const

Definition at line 94 of file ProcessInfo.cxx.

95 {
96  return (fScatteringType == kScResonant);
97 }
ScatteringType_t fScatteringType
scattering type (QEL, RES, DIS, ...)
Definition: ProcessInfo.h:110
bool ProcessInfo::IsSingleKaon ( void  ) const

Definition at line 79 of file ProcessInfo.cxx.

80 {
81  return (fScatteringType == kScSingleKaon);
82 }
ScatteringType_t fScatteringType
scattering type (QEL, RES, DIS, ...)
Definition: ProcessInfo.h:110
bool ProcessInfo::IsWeak ( void  ) const

Definition at line 178 of file ProcessInfo.cxx.

179 {
180  return ( this->IsWeakCC() || this->IsWeakNC() || this->IsWeakMix());
181 }
bool IsWeakMix(void) const
bool IsWeakCC(void) const
bool IsWeakNC(void) const
bool ProcessInfo::IsWeakCC ( void  ) const

Definition at line 183 of file ProcessInfo.cxx.

184 {
185  return (fInteractionType == kIntWeakCC);
186 }
InteractionType_t fInteractionType
interaction type (Weak CC/NC, E/M, ...)
Definition: ProcessInfo.h:111
bool ProcessInfo::IsWeakMix ( void  ) const

Definition at line 198 of file ProcessInfo.cxx.

199 {
200  return (fInteractionType == kIntWeakMix);
201 }
InteractionType_t fInteractionType
interaction type (Weak CC/NC, E/M, ...)
Definition: ProcessInfo.h:111
bool ProcessInfo::IsWeakNC ( void  ) const

Definition at line 188 of file ProcessInfo.cxx.

189 {
190  return (fInteractionType == kIntWeakNC);
191 }
InteractionType_t fInteractionType
interaction type (Weak CC/NC, E/M, ...)
Definition: ProcessInfo.h:111
ProcessInfo & ProcessInfo::operator= ( const ProcessInfo proc)

Definition at line 270 of file ProcessInfo.cxx.

271 {
272  this->Copy(proc);
273  return (*this);
274 }
void Copy(const ProcessInfo &proc)
bool ProcessInfo::operator== ( const ProcessInfo proc) const

Definition at line 265 of file ProcessInfo.cxx.

266 {
267  return this->Compare(proc);
268 }
bool Compare(const ProcessInfo &proc) const
void ProcessInfo::Print ( ostream &  stream) const

Definition at line 258 of file ProcessInfo.cxx.

259 {
260  stream << "[-] [Process-Info] " << endl
261  << " |--> Interaction : " << this->InteractionTypeAsString() << endl
262  << " |--> Scattering : " << this->ScatteringTypeAsString() << endl;
263 }
string ScatteringTypeAsString(void) const
string InteractionTypeAsString(void) const
QTextStream & endl(QTextStream &s)
void ProcessInfo::Reset ( void  )

Definition at line 63 of file ProcessInfo.cxx.

64 {
67 }
ScatteringType_t fScatteringType
scattering type (QEL, RES, DIS, ...)
Definition: ProcessInfo.h:110
InteractionType_t fInteractionType
interaction type (Weak CC/NC, E/M, ...)
Definition: ProcessInfo.h:111
string ProcessInfo::ScatteringTypeAsString ( void  ) const

Definition at line 226 of file ProcessInfo.cxx.

227 {
228  string scattering_type = ScatteringType::AsString(fScatteringType);
229  return scattering_type;
230 }
ScatteringType_t fScatteringType
scattering type (QEL, RES, DIS, ...)
Definition: ProcessInfo.h:110
static string AsString(ScatteringType_t type)
ScatteringType_t ProcessInfo::ScatteringTypeId ( void  ) const

Definition at line 208 of file ProcessInfo.cxx.

209 {
210  return fScatteringType;
211 }
ScatteringType_t fScatteringType
scattering type (QEL, RES, DIS, ...)
Definition: ProcessInfo.h:110
void ProcessInfo::Set ( ScatteringType_t  sc_type,
InteractionType_t  int_type 
)

Definition at line 238 of file ProcessInfo.cxx.

239 {
240  fScatteringType = sc_type;
241  fInteractionType = int_type;
242 }
ScatteringType_t fScatteringType
scattering type (QEL, RES, DIS, ...)
Definition: ProcessInfo.h:110
InteractionType_t fInteractionType
interaction type (Weak CC/NC, E/M, ...)
Definition: ProcessInfo.h:111

Friends And Related Function Documentation

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

Member Data Documentation

InteractionType_t genie::ProcessInfo::fInteractionType
private

interaction type (Weak CC/NC, E/M, ...)

Definition at line 111 of file ProcessInfo.h.

ScatteringType_t genie::ProcessInfo::fScatteringType
private

scattering type (QEL, RES, DIS, ...)

Definition at line 110 of file ProcessInfo.h.


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