GENIEGenerator
|
Computes the elements and structure functions of the hadron tensor (using the conventions of the Valencia model) using precomputed tables. Is a concrete implementation of the HadronTensorI interface. More...
#include <TabulatedLabFrameHadronTensor.h>
Classes | |
class | TableEntry |
Public Member Functions | |
TabulatedLabFrameHadronTensor (const std::string &table_file_name) | |
virtual | ~TabulatedLabFrameHadronTensor () |
virtual std::complex< double > | tt (double q0, double q_mag) const |
The tensor element . More... | |
virtual std::complex< double > | tz (double q0, double q_mag) const |
The tensor element . More... | |
virtual std::complex< double > | xx (double q0, double q_mag) const |
The tensor element . More... | |
virtual std::complex< double > | xy (double q0, double q_mag) const |
The tensor element . More... | |
virtual std::complex< double > | zz (double q0, double q_mag) const |
The tensor element . More... | |
virtual double | W1 (double q0, double q_mag, double Mi) const |
The structure function . More... | |
virtual double | W2 (double q0, double q_mag, double Mi) const |
virtual double | W3 (double q0, double q_mag, double Mi) const |
virtual double | W4 (double q0, double q_mag, double Mi) const |
virtual double | W5 (double q0, double q_mag, double Mi) const |
virtual double | W6 (double q0, double q_mag, double Mi) const |
virtual double | dSigma_dT_dCosTheta (const Interaction *interaction, double Q_value) const |
virtual double | dSigma_dT_dCosTheta (int probe_pdg, double E_probe, double m_probe, double Tl, double cos_l, double ml, double Q_value) const |
virtual double | dSigma_dT_dCosTheta_rosenbluth (const Interaction *interaction, double Q_value) const |
virtual double | dSigma_dT_dCosTheta_rosenbluth (int probe_pdg, double E_probe, double m_probe, double Tl, double cos_l, double ml, double Q_value) const |
virtual double | q0Min () const |
virtual double | q0Max () const |
virtual double | qMagMin () const |
virtual double | qMagMax () const |
Public Member Functions inherited from genie::LabFrameHadronTensorI | |
virtual | ~LabFrameHadronTensorI () |
virtual double | contraction (const Interaction *interaction, double Q_value) const |
virtual double | contraction (int probe_pdg, double E_probe, double m_probe, double Tl, double cos_l, double ml, double Q_value) const |
virtual std::complex< double > | tx (double, double) const |
The tensor element . More... | |
virtual std::complex< double > | ty (double, double) const |
The tensor element . More... | |
virtual std::complex< double > | xt (double q0, double q_mag) const |
The tensor element . More... | |
virtual std::complex< double > | xz (double, double) const |
The tensor element . More... | |
virtual std::complex< double > | yt (double q0, double q_mag) const |
The tensor element . More... | |
virtual std::complex< double > | yx (double q0, double q_mag) const |
The tensor element . More... | |
virtual std::complex< double > | yy (double q0, double q_mag) const |
The tensor element . More... | |
virtual std::complex< double > | yz (double, double) const |
The tensor element . More... | |
virtual std::complex< double > | zt (double q0, double q_mag) const |
The tensor element . More... | |
virtual std::complex< double > | zx (double q0, double q_mag) const |
The tensor element . More... | |
virtual std::complex< double > | zy (double q0, double q_mag) const |
The tensor element . More... | |
Public Member Functions inherited from genie::HadronTensorI | |
virtual | ~HadronTensorI () |
int | pdg () const |
PDG code of the target nucleus. More... | |
int | Z () const |
Atomic number of the target nucleus. More... | |
int | A () const |
Mass number of the target nucleus. More... | |
void | set_pdg (int pdg) |
Set the target nucleus PDG code. More... | |
Protected Member Functions | ||||
void | read1DGridValues (int num_points, int flag, std::ifstream &in_file, std::vector< double > &vec_to_fill) | |||
Structure function helpers | ||||
These helper functions allow multiple structure function values (e.g., and ) to be computed without having to perform bilinear interpolation every time. Because the differential cross section does not depend on the initial nucleus's mass , the explicit factors of have been removed from these internally-used functions.
| ||||
virtual double | W1 (double q0, double q_mag, const TableEntry &entry) const | |||
virtual double | W2 (double q0, double q_mag, const TableEntry &entry) const | |||
virtual double | W3 (double q0, double q_mag, const TableEntry &entry) const | |||
virtual double | W4 (double q0, double q_mag, const TableEntry &entry) const | |||
virtual double | W5 (double q0, double q_mag, const TableEntry &entry) const | |||
virtual double | W6 (double q0, double q_mag, const TableEntry &entry) const | |||
Protected Member Functions inherited from genie::LabFrameHadronTensorI | ||||
LabFrameHadronTensorI (int pdg=0) | ||||
LabFrameHadronTensorI (int Z, int A) | ||||
Protected Member Functions inherited from genie::HadronTensorI | ||||
HadronTensorI (int pdg=0) | ||||
HadronTensorI (int Z, int A) | ||||
PDG code for the target nucleus represented by the tensor. More... | ||||
Protected Attributes | |
std::vector< double > | fq0Points |
std::vector< double > | fqmagPoints |
std::vector< TableEntry > | fEntries |
BLI2DNonUnifObjectGrid < TableEntry > | fGrid |
Protected Attributes inherited from genie::HadronTensorI | |
int | fTargetPDG |
Computes the elements and structure functions of the hadron tensor (using the conventions of the Valencia model) using precomputed tables. Is a concrete implementation of the HadronTensorI interface.
Definition at line 34 of file TabulatedLabFrameHadronTensor.h.
genie::TabulatedLabFrameHadronTensor::TabulatedLabFrameHadronTensor | ( | const std::string & | table_file_name | ) |
Definition at line 36 of file TabulatedLabFrameHadronTensor.cxx.
References genie::HadronTensorI::A(), fEntries, fq0Points, fqmagPoints, genie::TabulatedLabFrameHadronTensor::TableEntry::ImWxy, genie::pdg::IonPdgCode(), read1DGridValues(), genie::TabulatedLabFrameHadronTensor::TableEntry::ReW0z, genie::HadronTensorI::set_pdg(), genie::TabulatedLabFrameHadronTensor::TableEntry::W00, genie::TabulatedLabFrameHadronTensor::TableEntry::Wxx, genie::TabulatedLabFrameHadronTensor::TableEntry::Wzz, and genie::HadronTensorI::Z().
|
virtual |
Definition at line 102 of file TabulatedLabFrameHadronTensor.cxx.
|
virtual |
Computes the differential cross section for the reaction represented by this hadron tensor
[in] | interaction | An Interaction object storing information about the initial and final states |
[in] | Q_value | The Q-value that should be used to correct the energy transfer (GeV) |
Implements genie::LabFrameHadronTensorI.
Definition at line 256 of file TabulatedLabFrameHadronTensor.cxx.
References genie::Interaction::FSPrimLepton(), genie::Kinematics::GetKV(), genie::Interaction::InitState(), genie::Interaction::Kine(), genie::kKVctl, genie::kKVTl, genie::kRfLab, genie::InitialState::Probe(), genie::InitialState::ProbeE(), and genie::InitialState::ProbePdg().
|
virtual |
[in] | probe_pdg | The PDG code for the incident projectile |
[in] | E_probe | The lab frame energy of the incident projectile (GeV) |
[in] | m_probe | The mass of the incident projectile (GeV) |
[in] | Tl | The lab frame kinetic energy of the final state lepton (GeV) |
[in] | cos_l | The angle between the direction of the incident neutrino and the final state lepton (radians) |
[in] | ml | The mass of the final state lepton (GeV) |
[in] | Q_value | The Q-value that should be used to correct the energy transfer (GeV) |
Implements genie::LabFrameHadronTensorI.
Definition at line 273 of file TabulatedLabFrameHadronTensor.cxx.
References genie::constants::kAem, genie::constants::kGF2, genie::kPdgElectron, genie::kPdgNuE, genie::kPdgNuMu, genie::kPdgNuTau, genie::constants::kPi, genie::TabulatedLabFrameHadronTensor::TableEntry::W00, and genie::TabulatedLabFrameHadronTensor::TableEntry::Wxx.
|
virtual |
Implements genie::LabFrameHadronTensorI.
Definition at line 365 of file TabulatedLabFrameHadronTensor.cxx.
References genie::Interaction::FSPrimLepton(), genie::Kinematics::GetKV(), genie::Interaction::InitState(), genie::Interaction::Kine(), genie::kKVctl, genie::kKVTl, genie::kRfLab, genie::InitialState::Probe(), genie::InitialState::ProbeE(), and genie::InitialState::ProbePdg().
|
virtual |
Implements genie::LabFrameHadronTensorI.
Definition at line 382 of file TabulatedLabFrameHadronTensor.cxx.
References genie::AlgConfigPool::CommonList(), genie::Registry::GetDouble(), genie::TabulatedLabFrameHadronTensor::TableEntry::ImWxy, genie::AlgConfigPool::Instance(), genie::constants::kAem, genie::constants::kGF2, genie::kPdgElectron, genie::kPdgNuE, genie::kPdgNuMu, genie::kPdgNuTau, genie::constants::kPi, genie::TabulatedLabFrameHadronTensor::TableEntry::ReW0z, genie::TabulatedLabFrameHadronTensor::TableEntry::W00, genie::TabulatedLabFrameHadronTensor::TableEntry::Wxx, and genie::TabulatedLabFrameHadronTensor::TableEntry::Wzz.
|
inlinevirtual |
The maximum value of the energy transfer for which this hadron tensor may be used to compute cross sections
Implements genie::HadronTensorI.
Definition at line 77 of file TabulatedLabFrameHadronTensor.h.
References fGrid.
|
inlinevirtual |
The minimum value of the energy transfer for which this hadron tensor may be used to compute cross sections
Implements genie::HadronTensorI.
Definition at line 76 of file TabulatedLabFrameHadronTensor.h.
References fGrid.
|
inlinevirtual |
The maximum value of the magnitude of the 3-momentum transfer for which this hadron tensor may be used to compute cross sections
Implements genie::HadronTensorI.
Definition at line 79 of file TabulatedLabFrameHadronTensor.h.
References fGrid.
|
inlinevirtual |
The minimum value of the magnitude of the 3-momentum transfer for which this hadron tensor may be used to compute cross sections
Implements genie::HadronTensorI.
Definition at line 78 of file TabulatedLabFrameHadronTensor.h.
References fGrid.
|
protected |
Helper function that allows this class to handle variations in the data file format for the 1D and grids
[in] | num_points | The number of grid points to be read from the file |
[in] | flag | A numerical flag describing the grid data format |
[in,out] | in_file | A reference to the file being read |
[out] | vec_to_fill | The vector that will store the grid points |
Definition at line 187 of file TabulatedLabFrameHadronTensor.cxx.
Referenced by TabulatedLabFrameHadronTensor().
|
virtual |
The tensor element .
Implements genie::HadronTensorI.
Definition at line 106 of file TabulatedLabFrameHadronTensor.cxx.
References genie::TabulatedLabFrameHadronTensor::TableEntry::W00.
|
virtual |
The tensor element .
Implements genie::HadronTensorI.
Definition at line 113 of file TabulatedLabFrameHadronTensor.cxx.
References genie::TabulatedLabFrameHadronTensor::TableEntry::ReW0z.
|
virtual |
The structure function .
Implements genie::LabFrameHadronTensorI.
Definition at line 146 of file TabulatedLabFrameHadronTensor.cxx.
|
protectedvirtual |
Definition at line 214 of file TabulatedLabFrameHadronTensor.cxx.
References genie::TabulatedLabFrameHadronTensor::TableEntry::Wxx.
|
virtual |
The structure function
Implements genie::LabFrameHadronTensorI.
Definition at line 153 of file TabulatedLabFrameHadronTensor.cxx.
|
protectedvirtual |
Definition at line 220 of file TabulatedLabFrameHadronTensor.cxx.
References genie::TabulatedLabFrameHadronTensor::TableEntry::ReW0z, genie::TabulatedLabFrameHadronTensor::TableEntry::W00, genie::TabulatedLabFrameHadronTensor::TableEntry::Wxx, and genie::TabulatedLabFrameHadronTensor::TableEntry::Wzz.
|
virtual |
The structure function
Implements genie::LabFrameHadronTensorI.
Definition at line 160 of file TabulatedLabFrameHadronTensor.cxx.
|
protectedvirtual |
Definition at line 229 of file TabulatedLabFrameHadronTensor.cxx.
References genie::TabulatedLabFrameHadronTensor::TableEntry::ImWxy.
|
virtual |
The structure function
Implements genie::LabFrameHadronTensorI.
Definition at line 167 of file TabulatedLabFrameHadronTensor.cxx.
|
protectedvirtual |
Definition at line 235 of file TabulatedLabFrameHadronTensor.cxx.
References genie::TabulatedLabFrameHadronTensor::TableEntry::Wxx, and genie::TabulatedLabFrameHadronTensor::TableEntry::Wzz.
|
virtual |
The structure function
Implements genie::LabFrameHadronTensorI.
Definition at line 174 of file TabulatedLabFrameHadronTensor.cxx.
|
protectedvirtual |
Definition at line 241 of file TabulatedLabFrameHadronTensor.cxx.
References genie::TabulatedLabFrameHadronTensor::TableEntry::ReW0z, genie::TabulatedLabFrameHadronTensor::TableEntry::Wxx, and genie::TabulatedLabFrameHadronTensor::TableEntry::Wzz.
|
virtual |
The structure function
Implements genie::LabFrameHadronTensorI.
Definition at line 181 of file TabulatedLabFrameHadronTensor.cxx.
|
protectedvirtual |
Definition at line 247 of file TabulatedLabFrameHadronTensor.cxx.
|
virtual |
The tensor element .
Implements genie::HadronTensorI.
Definition at line 123 of file TabulatedLabFrameHadronTensor.cxx.
References genie::TabulatedLabFrameHadronTensor::TableEntry::Wxx.
|
virtual |
The tensor element .
Implements genie::HadronTensorI.
Definition at line 130 of file TabulatedLabFrameHadronTensor.cxx.
References genie::TabulatedLabFrameHadronTensor::TableEntry::ImWxy.
|
virtual |
The tensor element .
Implements genie::HadronTensorI.
Definition at line 138 of file TabulatedLabFrameHadronTensor.cxx.
References genie::TabulatedLabFrameHadronTensor::TableEntry::Wzz.
|
protected |
Definition at line 205 of file TabulatedLabFrameHadronTensor.h.
Referenced by TabulatedLabFrameHadronTensor().
|
protected |
|
protected |
Definition at line 203 of file TabulatedLabFrameHadronTensor.h.
Referenced by TabulatedLabFrameHadronTensor().
|
protected |
Definition at line 204 of file TabulatedLabFrameHadronTensor.h.
Referenced by TabulatedLabFrameHadronTensor().