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 .