/////////////////////////////////////////////////////////////////////// // // Author: name Arnd Soerensen <arnd.soerensen@tu-dresden.de> --contact person // // REVISION HISTORY: // 24/10/2013 : A Soerensen - New file // 11 Nov 2014 : Matthew Strait - Removed unused variables. // /////////////////////////////////////////////////////////////////////// #ifndef __RAT_Method_MuonWater_ #define __RAT_Method_MuonWater_ #include <string> #include <RAT/DS/FitResult.hh> #include <RAT/Method.hh> #include <TRotation.h> #include <vector> namespace RAT { namespace Methods { class MuonWater : public Method { public: virtual std::string GetName() const { return MuonWater::Name(); } static std::string Name() { return std::string( "MuonWater" ); } void Initialise (const std::string& ) { } void BeginOfRun( DS::Run& ); void EndOfRun( DS::Run& ); TRotation GetRotationToSpecialFrame(const TVector3 tVec_, const TVector3 qVec_ ); double GetCosThetaEstimate(const double cosAlpha, bool& trustResult); double GetZEstimate(const double cosAlpha, bool& trustResult); virtual DS::FitResult GetBestFit(); private: // 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_MuonWater(const std::vector<TVector3>& list); std::vector<double> fCosThetaConstants; std::vector<double> fZConstants; double fPathLengthCut; double fPSUPRadius; }; } //::Method } //::RAT #endif