25 #ifndef HADRON_TENSORI_H
26 #define HADRON_TENSORI_H
110 virtual std::complex<double>
tt(
double q0,
double q_mag)
const = 0;
113 virtual std::complex<double>
tx(
double q0,
double q_mag)
const = 0;
116 virtual std::complex<double>
ty(
double q0,
double q_mag)
const = 0;
119 virtual std::complex<double>
tz(
double q0,
double q_mag)
const = 0;
122 virtual std::complex<double>
xt(
double q0,
double q_mag)
const = 0;
125 virtual std::complex<double>
xx(
double q0,
double q_mag)
const = 0;
128 virtual std::complex<double>
xy(
double q0,
double q_mag)
const = 0;
131 virtual std::complex<double>
xz(
double q0,
double q_mag)
const = 0;
134 virtual std::complex<double>
yt(
double q0,
double q_mag)
const = 0;
137 virtual std::complex<double>
yx(
double q0,
double q_mag)
const = 0;
140 virtual std::complex<double>
yy(
double q0,
double q_mag)
const = 0;
143 virtual std::complex<double>
yz(
double q0,
double q_mag)
const = 0;
146 virtual std::complex<double>
zt(
double q0,
double q_mag)
const = 0;
149 virtual std::complex<double>
zx(
double q0,
double q_mag)
const = 0;
152 virtual std::complex<double>
zy(
double q0,
double q_mag)
const = 0;
155 virtual std::complex<double>
zz(
double q0,
double q_mag)
const = 0;
167 double Q_value)
const = 0;
183 virtual double q0Min()
const = 0;
187 virtual double q0Max()
const = 0;
192 virtual double qMagMin()
const = 0;
197 virtual double qMagMax()
const = 0;
virtual std::complex< double > zz(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 > zt(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 .
HadronTensorI(int Z, int A)
PDG code for the target nucleus represented by the tensor.
int IonPdgCodeToA(int pdgc)
virtual std::complex< double > ty(double q0, double q_mag) const =0
The tensor element .
enum genie::HadronTensorType HadronTensorType_t
virtual double contraction(const Interaction *interaction, double Q_value) const =0
virtual double q0Max() const =0
virtual std::complex< double > tx(double q0, double q_mag) const =0
The tensor element .
Summary information for an interaction.
virtual std::complex< double > xy(double q0, double q_mag) const =0
The tensor element .
int A() const
Mass number of the target nucleus.
virtual std::complex< double > yx(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 std::complex< double > yt(double q0, double q_mag) const =0
The tensor element .
virtual std::complex< double > tz(double q0, double q_mag) const =0
The tensor element .
virtual double qMagMax() const =0
virtual double q0Min() const =0
void set_pdg(int pdg)
Set the target nucleus PDG code.
virtual std::complex< double > yy(double q0, double q_mag) const =0
The tensor element .
int pdg() const
PDG code of the target nucleus.
virtual std::complex< double > xt(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.
int IonPdgCodeToZ(int pdgc)
virtual double qMagMin() const =0
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 > xx(double q0, double q_mag) const =0
The tensor element .
virtual std::complex< double > xz(double q0, double q_mag) const =0
The tensor element .