////////////////////////////////////////////////////////////////////////
/// \class RAT::Classifiers::MeanTime
///
/// \brief Calculates the mean pos corrected time of hits
///
/// \author name Phil G Jones
/// \author Evelina Arushanova -- contact person
///
/// REVISION HISTORY:\n
/// 26/06/2011 : P G Jones - New file
/// 01/09/2020 : Logan Lebanowski - Properly account for partial fill
///
/// \details As brief...
///
////////////////////////////////////////////////////////////////////////
#ifndef __RAT_Classifiers_MeanTime_
#define __RAT_Classifiers_MeanTime_
#include
#include
#include
namespace RAT
{
namespace DS
{
class FitResult;
}
namespace Classifiers
{
class MeanTime : public SeededClassifier
{
public:
virtual std::string GetName() const { return MeanTime::Name(); }
static std::string Name() { return std::string( "meanTime" ); }
void Initialise( const std::string& ) { }
void BeginOfRun( DS::Run& );
void EndOfRun( DS::Run& ) { }
virtual DS::ClassifierResult GetClassification();
/// Set the seed to the default
void DefaultSeed();
/// Set the seed from seed
void SetSeed( const DS::FitResult& seed );
private:
DU::Point3D fEventPos;
double fEventTime;
DU::TimeResidualCalculator fTRCalc; ///< Time residual calculator for a given run
size_t fPSUPSystemId; // coordinate system id for Point3D
};
} //::Classifier
} //::RAT
#endif