//////////////////////////////////////////////////////////////////////// /// \class RAT::PDFs::PartialET1D /// /// \brief Effective time 1d pdf /// /// \author name Richie Bonventre -- contact person /// /// REVISION HISTORY:\n /// 15/07/2011 : R Bonventre - New file \n /// 2019/06/16 : Logan Lebanowski - Handle outlier positions /// /// \details Returns probabilities for a 1d pdf using the effective velocity /// transit time routine. Uses same pdf as ET1D, but calculates /// transit time using partial fill paths /// //////////////////////////////////////////////////////////////////////// #ifndef __RAT_PDF_PartialET1D__ #define __RAT_PDF_PartialET1D__ #include #include #include class G4PhysicsOrderedFreeVector; namespace RAT { namespace DS { class FitVertex; } namespace PDFs { class PartialET1D : 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( "partialET1D" ); } /// Initialise the scintTiming PDF void Initialise( const std::string& param ); void BeginOfRun( DS::Run& run ); void EndOfRun( DS::Run& ) { } protected: std::string fIndex; ///< Optional database index G4PhysicsOrderedFreeVector* fProbability; ///< PDF in a convenient interpolating structure DU::TimeResidualCalculator fTRCalc; ///< Time residual calculator for a given run }; } //::PDFs } //::RAT #endif