//////////////////////////////////////////////////////////////////////// /// \class RAT::PDFs::PDF /// /// \brief All pdf classes derive from this /// /// \author name Phil G Jones /// \author Matt Mottram < m.mottram@qmul.ac.uk> -- contact person /// /// REVISION HISTORY:\n /// 26/04/2011 : P G Jones - New file \n /// 24/01/2013 : P G Jones - Changed to derive from the FitterComponent /// class. Allows variable setting.\n /// 2014-03-29 : P G Jones - Updated lifetime, added BeginOfRun method\n /// /// \details Base class for PDFs /// //////////////////////////////////////////////////////////////////////// #ifndef __RAT_PDF_PDF_ #define __RAT_PDF_PDF_ #include #include namespace RAT { class FitterPMT; namespace DS { class FitVertex; } namespace PDFs { class PDF : public FitterComponent { public: /// Primary PDF function /// /// @param[in] pmt Observed PMT hit /// @param[in] vertex The proposed vertex virtual double GetProbability( const FitterPMT& pmt, const DS::FitVertex& vertex ) = 0; /// Initialise the PDF, using a init stream virtual void Initialise( const std::string& param ) = 0; }; } //::PDFs } //::RAT #endif