//////////////////////////////////////////////////////////////////////// /// \class RAT::PDFs::CherenkovSourcePDF /// /// \brief PDFs for Cherenkov source events /// /// \author name W. Heintzelman -- contact person /// /// REVISION HISTORY:\n /// 8 July 2013: W. Heintzelman - New file \n /// /// \details Given a proposed fit vertex (including an event time) and /// a PMT hit, return the probability of obtaining the /// observed time residual. /// //////////////////////////////////////////////////////////////////////// #ifndef __RAT_PDF_CherenkovSourcePDF__ #define __RAT_PDF_CherenkovSourcePDF__ #include #include #include class G4PhysicsOrderedFreeVector; namespace RAT { namespace DS { class FitVertex; } namespace PDFs { class CherenkovSourcePDF : public PDF { public: double GetProbability( const FitterPMT& pmt, const DS::FitVertex& vertex ); std::string GetName() const { return Name(); } static std::string Name() {return std::string ("CherenkovSourcePDF");} /// Initialise the fProbability values vector void Initialise( const std::string& param ); void BeginOfRun( DS::Run& ); void EndOfRun( DS::Run& ) { } protected: ///< PDF in a convenient interpolating structure: G4PhysicsOrderedFreeVector* fProbability; private: std::string fIndex; ///< PDF index string // Indices of refraction double fIdxScint; double fIdxAV; double fIdxWater; DU::LightPathCalculator fLightPath; ///< Light path calculator for a given run }; } //::PDFs } //::RAT #endif