23 #ifndef HADRON_TENSORI_H 24 #define HADRON_TENSORI_H 68 virtual std::complex<double>
tt(
double q0,
double q_mag)
const = 0;
71 virtual std::complex<double>
tx(
double q0,
double q_mag)
const = 0;
74 virtual std::complex<double>
ty(
double q0,
double q_mag)
const = 0;
77 virtual std::complex<double>
tz(
double q0,
double q_mag)
const = 0;
80 virtual std::complex<double>
xt(
double q0,
double q_mag)
const = 0;
83 virtual std::complex<double>
xx(
double q0,
double q_mag)
const = 0;
86 virtual std::complex<double>
xy(
double q0,
double q_mag)
const = 0;
89 virtual std::complex<double>
xz(
double q0,
double q_mag)
const = 0;
92 virtual std::complex<double>
yt(
double q0,
double q_mag)
const = 0;
95 virtual std::complex<double>
yx(
double q0,
double q_mag)
const = 0;
98 virtual std::complex<double>
yy(
double q0,
double q_mag)
const = 0;
101 virtual std::complex<double>
yz(
double q0,
double q_mag)
const = 0;
104 virtual std::complex<double>
zt(
double q0,
double q_mag)
const = 0;
107 virtual std::complex<double>
zx(
double q0,
double q_mag)
const = 0;
110 virtual std::complex<double>
zy(
double q0,
double q_mag)
const = 0;
113 virtual std::complex<double>
zz(
double q0,
double q_mag)
const = 0;
125 double Q_value)
const = 0;
141 virtual double q0Min()
const = 0;
145 virtual double q0Max()
const = 0;
150 virtual double qMagMin()
const = 0;
155 virtual double qMagMax()
const = 0;
virtual std::complex< double > xt(double q0, double q_mag) const =0
The tensor element .
virtual std::complex< double > zx(double q0, double q_mag) const =0
The tensor element .
THE MAIN GENIE PROJECT NAMESPACE
virtual std::complex< double > xx(double q0, double q_mag) const =0
The tensor element .
virtual std::complex< double > zy(double q0, double q_mag) const =0
The tensor element .
virtual std::complex< double > yt(double q0, double q_mag) const =0
The tensor element .
virtual std::complex< double > yx(double q0, double q_mag) const =0
The tensor element .
HadronTensorI(int Z, int A)
PDG code for the target nucleus represented by the tensor.
int IonPdgCodeToA(int pdgc)
virtual double qMagMin() const =0
enum genie::HadronTensorType HadronTensorType_t
Summary information for an interaction.
virtual double q0Min() const =0
int A() const
Mass number of the target nucleus.
virtual std::complex< double > yy(double q0, double q_mag) const =0
The tensor element .
virtual std::complex< double > zz(double q0, double q_mag) const =0
The tensor element .
virtual std::complex< double > tx(double q0, double q_mag) const =0
The tensor element .
virtual std::complex< double > xy(double q0, double q_mag) const =0
The tensor element .
Abstract interface for an object that computes the elements a hadron tensor . Also computes the contr...
virtual double contraction(const Interaction *interaction, double Q_value) const =0
void set_pdg(int pdg)
Set the target nucleus PDG code.
virtual std::complex< double > yz(double q0, double q_mag) const =0
The tensor element .
virtual std::complex< double > tt(double q0, double q_mag) const =0
The tensor element .
virtual std::complex< double > zt(double q0, double q_mag) const =0
The tensor element .
int pdg() const
PDG code of the target nucleus.
virtual std::complex< double > ty(double q0, double q_mag) const =0
The tensor element .
int IonPdgCode(int A, int Z)
int Z() const
Atomic number of the target nucleus.
virtual double qMagMax() const =0
int IonPdgCodeToZ(int pdgc)
virtual std::complex< double > xz(double q0, double q_mag) const =0
The tensor element .
virtual double q0Max() const =0
virtual std::complex< double > tz(double q0, double q_mag) const =0
The tensor element .