/////////////////////////////////////////////////////////////////////// // // Author: name Arnd Soerensen -- contact person // // REVISION HISTORY: // 24/10/2013 : A Soerensen - New file // 11 Nov 2014 : Matthew Strait - Removed unused variables. // /////////////////////////////////////////////////////////////////////// #ifndef __RAT_Method_MuonScintillator_ #define __RAT_Method_MuonScintillator_ #include #include #include namespace RAT { namespace Methods { class MuonScintillator : public Method { public: virtual std::string GetName() const { return MuonScintillator::Name(); } static std::string Name() { return std::string( "MuonScintillator" ); } void Initialise (const std::string& ) { } void BeginOfRun( DS::Run& ) { } void EndOfRun( DS::Run& ) { } virtual DS::FitResult GetBestFit(); protected: // Fit function for the entry point in a phi-coordinates plane // // Simple sin-function to fit the entry point hit time patterns in a phi-coordinates plane static double FitFuncEPphi(double* x,double* p); // Fit function for the entry point in a theta-coordinates plane // // Simple sin-function to fit the entry point hit time patterns in a theta-coordinates plane static double FitFuncEPtheta(double* x,double* p); // Fit function to find the exit point phi coordinates // // Function to fit exit point coordinates in a special plane derived from the entry point hit time pattern static double FitFuncEXOplane(double* x,double* p); // Double gaussian fit function static double FitFuncDoubleGauss(double* x,double* p); // Simple Center of Mass function // // Simple function to calculate the geometrical center of mass of a given list of vectors // // list holds the objects for which the CoM should be calculated // // Returns a TVector3 which points to the center of mass of input vector list TVector3 CenterOfMass(const std::vector& list); }; } //::Method } //::RAT #endif