2 #ifndef HEPMC_PDF_INFO_H
3 #define HEPMC_PDF_INFO_H
57 double q,
double p1,
double p2,
75 int id1()
const {
return m_id1; }
77 int id2()
const {
return m_id2; }
83 double x1()
const {
return m_x1; }
85 double x2()
const {
return m_x2; }
89 double pdf1()
const {
return m_pdf1; }
91 double pdf2()
const {
return m_pdf2; }
132 std::ostream & operator << (std::ostream &, PdfInfo
const *);
133 std::istream & operator >> (std::istream &, PdfInfo *);
137 double q,
double p1,
double p2,
153 m_pdf_id1(orig.m_pdf_id1),
154 m_pdf_id2(orig.m_pdf_id2),
157 m_scalePDF(orig.m_scalePDF),
171 std::swap(m_id1, other.m_id1);
172 std::swap(m_id2, other.m_id2);
173 std::swap(m_pdf_id1, other.m_pdf_id1);
174 std::swap(m_pdf_id2, other.m_pdf_id2);
175 std::swap(m_x1, other.m_x1);
176 std::swap(m_x2, other.m_x2);
177 std::swap(m_scalePDF, other.m_scalePDF);
178 std::swap(m_pdf1, other.m_pdf1);
179 std::swap(m_pdf2, other.m_pdf2);
185 return ( a.
id1() == this->
id1()
189 && a.
x1() == this->
x1()
190 && a.
x2() == this->
x2()
199 return !( a == *this );
204 if( m_id1 != 0 )
return true;
205 if( m_id2 != 0 )
return true;
206 if( m_pdf_id1 != 0 )
return true;
207 if( m_pdf_id2 != 0 )
return true;
208 if( m_x1 != 0 )
return true;
209 if( m_x2 != 0 )
return true;
210 if( m_scalePDF != 0 )
return true;
211 if( m_pdf1 != 0 )
return true;
212 if( m_pdf2 != 0 )
return true;
218 #endif // HEPMC_PDF_INFO_H
void swap(PdfInfo &other)
swap two PdfInfo objects
int id1() const
flavour code of first parton
PdfInfo()
default constructor
double pdf1() const
PDF (id1, x1, Q) - x*f(x)
bool operator!=(const PdfInfo &) const
check for inequality
void set_x1(const double &f)
set fraction of beam momentum carried by first parton ("beam side")
double x1() const
fraction of beam momentum carried by first parton ("beam side")
void set_pdf_id2(const int &i)
set LHAPDF set id of second parton
PdfInfo & operator=(PdfInfo const &rhs)
make a copy
void set_scalePDF(const double &f)
set Q-scale used in evaluation of PDF's (in GeV)
bool operator==(const PdfInfo &) const
check for equality
double pdf2() const
PDF (id2, x2, Q) - x*f(x)
double x2() const
fraction of beam momentum carried by second parton ("target side")
void set_x2(const double &f)
set fraction of beam momentum carried by second parton ("target side")
void set_pdf1(const double &f)
set x*f(x) of first parton
int pdf_id2() const
LHAPDF set id of second parton.
void set_pdf_id1(const int &i)
set LHAPDF set id of first parton
void set_pdf2(const double &f)
set x*f(x) of second parton
int pdf_id1() const
LHAPDF set id of first parton.
void set_id1(const int &i)
set flavour code of first parton
double scalePDF() const
Q-scale used in evaluation of PDF's (in GeV)
int id2() const
flavour code of second parton
void set_id2(const int &i)
set flavour code of second parton
bool is_valid() const
verify that the instance contains non-zero information
The PdfInfo class stores PDF information.