///////////////////////////////////////////////////////////////////////
//
// All methods that use PDFs derive from this
//
// Author: Phil G Jones <p.jones22@physics.ox.ac.uk>
// Author: Matt Mottram < m.mottram@qmul.ac.uk> -- contact person
//
// REVISION HISTORY:
//     26/04/2011 : P G Jones - New file
//
// Adds extra PDF functionality.
//
///////////////////////////////////////////////////////////////////////

#ifndef __RAT_Method_PDFMethod_
#define __RAT_Method_PDFMethod_

#include <RAT/Method.hh>

namespace RAT
{

namespace PDFs
{
  class PDF;
}

namespace Methods
{

//Note virtual inheritance.
class PDFMethod : public virtual Method
{
public:
  // Constructor
  PDFMethod() : fPDF(NULL) {}
  // Empty virtual destructor
  virtual ~PDFMethod() {}

  // Set the methods PDF
  void SetPDF( PDFs::PDF* pdf ) { fPDF = pdf; }
protected:
  PDFs::PDF* fPDF; // Internal PDF
};

} //::Method

} //::RAT

#endif