QELUtils.h
Go to the documentation of this file.
1 #ifndef _QEL_UTILS_H_
2 #define _QEL_UTILS_H_
3 
7 
8 #include "TLorentzVector.h"
9 #include "TVector3.h"
10 
11 #include <string>
12 
13 namespace genie {
14 
15  // Enumerated type used to specify the method for determining the off-shell energy
16  // of the hit nucleon for quasielastic events
17  typedef enum EQELEvGenBindingMode {
18 
19  // Use removal energy from the nuclear model
21 
22  // Calculate binding energy assuming that the remnant nucleus is left in its
23  // ground state
25 
26  // Leave the struck nucleon on shell, effectively ignoring its binding energy
29 
30  namespace utils {
31 
32  double EnergyDeltaFunctionSolutionQEL(const Interaction& inter);
33 
34  QELEvGen_BindingMode_t StringToQELBindingMode( const std::string& mode_str );
35 
36  double ComputeFullQELPXSec(Interaction* interaction,
37  const NuclearModelI* nucl_model, const XSecAlgorithmI* xsec_model,
38  double cos_theta_0, double phi_0, double& Eb,
39  QELEvGen_BindingMode_t hitNucleonBindingMode, double min_angle_EM = 0.,
40  bool bind_nucleon = true);
41 
42  double CosTheta0Max(const genie::Interaction& interaction);
43 
44  void BindHitNucleon(Interaction& interaction, const NuclearModelI& nucl_model,
45  double& Eb, QELEvGen_BindingMode_t hitNucleonBindingMode);
46  }
47 }
48 
49 #endif
Cross Section Calculation Interface.
THE MAIN GENIE PROJECT NAMESPACE
Definition: GeneratorBase.h:8
Pure abstract base class. Defines the NuclearModelI interface to be implemented by any physics model ...
Definition: NuclearModelI.h:42
double ComputeFullQELPXSec(Interaction *interaction, const NuclearModelI *nucl_model, const XSecAlgorithmI *xsec_model, double cos_theta_0, double phi_0, double &Eb, QELEvGen_BindingMode_t hitNucleonBindingMode, double min_angle_EM=0., bool bind_nucleon=true)
Definition: QELUtils.cxx:94
void BindHitNucleon(Interaction &interaction, const NuclearModelI &nucl_model, double &Eb, QELEvGen_BindingMode_t hitNucleonBindingMode)
Definition: QELUtils.cxx:259
enum genie::EQELEvGenBindingMode QELEvGen_BindingMode_t
EQELEvGenBindingMode
Definition: QELUtils.h:17
Summary information for an interaction.
Definition: Interaction.h:56
double EnergyDeltaFunctionSolutionQEL(const Interaction &inter)
Definition: QELUtils.cxx:51
double CosTheta0Max(const genie::Interaction &interaction)
Definition: QELUtils.cxx:217
QELEvGen_BindingMode_t StringToQELBindingMode(const std::string &mode_str)
Definition: QELUtils.cxx:195
enum BeamMode string